<< 13-06-2013 >>

00:14:13*q66 quit (Remote host closed the connection)
01:20:40*DAddYE_ quit (Remote host closed the connection)
02:21:28*XAMPP-8 joined #nimrod
03:04:43*DAddYE joined #nimrod
03:11:42*amarsahinovic quit (Read error: Operation timed out)
03:15:40*amarsahinovic joined #nimrod
03:51:32*XAMPP-8 quit (Ping timeout: 256 seconds)
03:52:49*XAMPP-8 joined #nimrod
03:58:40*XAMPP-8 quit (Ping timeout: 276 seconds)
04:09:29*XAMPP-8 joined #nimrod
04:13:26*OrionPK quit (Read error: Connection reset by peer)
04:15:47*XAMPP-8 quit (Ping timeout: 260 seconds)
04:17:46*XAMPP-8 joined #nimrod
04:27:34*XAMPP-8 quit (Ping timeout: 268 seconds)
04:29:04*XAMPP-8 joined #nimrod
04:30:44*DAddYE quit (Remote host closed the connection)
04:31:10*DAddYE joined #nimrod
04:34:23*XAMPP-8 quit (Ping timeout: 240 seconds)
04:35:40*DAddYE quit (Ping timeout: 252 seconds)
04:36:51*XAMPP-8 joined #nimrod
04:54:52*DAddYE joined #nimrod
05:52:09*XAMPP-8 quit (Quit: Leaving)
06:07:37*DAddYE quit (Remote host closed the connection)
06:07:48*DAddYE joined #nimrod
06:07:52*DAddYE quit (Remote host closed the connection)
06:08:20*DAddYE joined #nimrod
06:10:32*Endeg joined #nimrod
06:12:55*DAddYE quit (Ping timeout: 260 seconds)
06:22:14*DAddYE joined #nimrod
06:34:57*gsp joined #nimrod
06:46:10*durango quit (Quit: durango)
07:16:26*XAMPP quit (Ping timeout: 255 seconds)
08:08:50*gsp quit (Quit: Leaving.)
08:16:10*DAddYE quit (Remote host closed the connection)
08:24:33*q66 joined #nimrod
08:41:52*gsp joined #nimrod
08:56:42*gsp quit (Ping timeout: 252 seconds)
09:11:38*gsp joined #nimrod
09:33:27*amarsahinovic quit (Quit: Leaving.)
10:06:43*gradha joined #nimrod
10:08:02gradhahmm... so --context would be used instead of --suggest for things like https://github.com/Araq/Nimrod/issues/477 ?
10:08:44gradhait seems weird that there's a separate command for querying the name of the symbol and another for the parameters, I'd expect both to be part of a unique signature which is considered as a whole entity
10:09:03gradhabut maybe it makes sense to differentiate procs from vars
10:12:47Araqlet me check the code and see why I did it this way
10:14:56Araqbtw do you want to fix the "default params not shown" bug?
10:15:15Araqedit SymToStr line 40
10:15:35gradhaok
10:17:30Araqif s.kind in RoutineKinds: result.add(renderTree(s.ast[paramsPos])
10:18:14Araqelif s.typ != nil: result.add(typeToString(s.typ))
10:19:04Araqthough you likely also want genericParamsPos
10:20:22Araqbut hmm I suppose the proper fix is to change typeToString to include more information
10:24:36Araqwell the code does 'suggestFieldAccess' for --suggest and 'suggestCall' for --context
10:24:50Araqand it's indeed '.' vs. '('
10:25:38Araqnote that it's very easy for an editor to tell which key has been pressed but it's MUCH harder for nimrod as the tokens '.' and '(' may not be part of an AST
10:26:37gradhadoes an IDE then need to call both --suggest and --context in the case of the user using the OO dot sugar syntax?
10:26:59Araqbut I suppose it's a moot point if the parser ignores the errorneous '(' there is no nkCall node to search for either ...
10:27:38Araqthe IDE is supposed to call --context for '(' and --suggest for '.'
10:27:58Araqx.abc( # --context
10:28:04Araqx. # -- suggest
10:38:50Araqbbl
10:41:48gradhaother than Aporia it seems pretty much every other IDE nimrod plugin will also have only limited static information when performing queries
10:42:23gradhaat the moment such plugins are invoked the plugin won't know what was the key previously pressed by the user, so it will simply resort to looking at the character below the current cursor and to its left
10:43:36gradhaI guess lazy plugins can simply use both --suggest and --context at the same time and pray for the returned compiler output to make sense
10:44:57gradhazahary_: please implement --context, you know you want it
10:45:44gradhazahary_: that is, in the nimrod vim plugin, though I wonder if you have real time access to user keypresses
10:50:13*ElectronicRU quit (Ping timeout: 248 seconds)
11:33:09*amarsahinovic joined #nimrod
11:36:30*gradha quit (Quit: bbl, have youtube videos to watch)
11:38:06*XAMPP joined #nimrod
11:38:46*amarsahinovic quit (Quit: Leaving.)
11:39:11*amarsahinovic joined #nimrod
11:41:35*amarsahinovic left #nimrod (#nimrod)
11:53:03*gsp quit (Quit: Leaving.)
11:56:45zahary_implementing the special treatment of (# --context is not a problem for me in vim I think
11:57:23zahary_you don't really have onChar there, but you can easily look at the contents of the current line
11:58:44Araqoh hi zahary_; when will you merge your branch? :-)
11:59:50zahary_we had an important deadline to reach in the last two weeks and I'll be taking a small vacation in the next few days, but next week there will be more time for nimrod
12:03:52Araqalright
12:06:50Araqbtw it took me a while to figure out that you can't prove ~A -> B by proving A -> B wrong ... ;-)
12:07:18Araq(-> is implies, ~ negation here)
12:07:45zahary_does this occur somewhere in the not nil analysis?
12:07:52Araqyeah
12:08:06Araqit works for B though
12:09:08zahary_does the "not nil" and "is initialized" share the same data structures / pass in the compiler btw? I haven't yet looked at the implementation
12:09:53Araqyeah
12:10:59zahary_I'm interested to see how it works, because it may give me some hints about how tyTypeView(tyTypeState) and more complete dependent types should be attacked
12:11:11Araqguards.nim implements the inference engine; sempass2 checks for various things related to the dependent typing
12:13:25AraqI don't attach anything to a PType it's all kept in the TEffects object temporarily
12:13:57Araqas it's flow dependent
12:28:31Araqoh btw the 'not nil' has some problems; for instance proc p has the type tyProc
12:28:47Araqbut it should have tyProc not nil
12:29:21Araqbut then this means type(p) yields a different type than before and then we lack an explicit nilable
12:29:35Araqso you can't do 'nil type(p)'
12:29:43Araqwhich would be weird anyway
12:31:14Araqso I keep it as tyProc and fix it in sempass2 ... 'addr' is similar ...
13:04:15*gsp joined #nimrod
13:12:53*gsp quit (Ping timeout: 240 seconds)
13:15:55*daniel- joined #nimrod
13:17:37*daniel-_ joined #nimrod
13:18:10*daniel-_ is now known as durango
13:18:10*durango quit (Changing host)
13:18:10*durango joined #nimrod
13:21:18NimBotAraq/Nimrod master 1f00374 Araq [+0 ±3 -0]: fixes #481
13:21:36*daniel- quit (Ping timeout: 268 seconds)
13:40:32*durango quit (Quit: durango)
13:55:23*EXetoC joined #nimrod
14:03:08Araqhi EXetoC, welcome
14:10:29*gsp joined #nimrod
14:20:46zahary_well, maybe nullable won't be such a bad idea as a keyword or pragma. the keyword economy strikes again :)
14:25:55*durango joined #nimrod
14:29:02*gsp quit (Ping timeout: 256 seconds)
14:43:56EXetoCAraq: sup dude
14:45:31dom96hello EXetoC
15:25:15EXetoCdom96: lo
15:25:29dom96EXetoC: Welcome to #nimrod :)
15:25:43EXetoCgotta give Nimrod a go some time. whitespace-indentation? hells yes
15:25:59dom96yep :D
15:29:11EXetoCq66: what is your next project going to be? perhaps a wow clone in nim with support for Oculus Rift
15:31:33q66EXetoC, my engine will soon be getting full scale oculus rift support
15:32:13*zahary_ left #nimrod (#nimrod)
16:07:30*Endy joined #nimrod
16:34:22*DAddYE joined #nimrod
16:57:54*DAddYE quit (Remote host closed the connection)
16:58:18*DAddYE joined #nimrod
18:18:42*Endy quit (Ping timeout: 240 seconds)
18:46:22*XAMPP quit (Read error: Connection reset by peer)
19:00:25dom96Look guys, a raytracer: http://forum.nimrod-code.org/t/167
19:01:20EXetoCneat
19:02:03EXetoCq66: cool. it won't be able to handle the world scale of a wow clone though :>
19:02:10EXetoCthat's fine I guess
19:02:21q66nobody gives a damn :P
19:02:46reactormonkEXetoC, WoW is relatively simple graphics-wise
19:04:02reactormonkdom96, you think you could profile that one?
19:04:26dom96what for? it already beats C++ :P
19:07:14EXetoCq66: don't kid yourself :p
20:36:47*EXetoC quit (Quit: WeeChat 0.4.1)
21:12:51q66dom96, http://codepad.org/Xh5xB9jn
21:12:57q66i wrote a very unoptimized version with LuaJIT
21:13:11q66http://octaforge.org/raytracer.png
21:20:57fowlwow virtual reality 3d headsets
21:21:12fowldang that thing looks reminiscent of the virtualboy
21:47:24dom96q66: nice, btw is that DE enlightenment? It looks nice.
21:47:33q66yes
21:47:44q66enlightenment 0.17 @ freebsd 9.1
21:49:59fowle17 confuses me so much
21:55:54fowlq66, since you use bsd you should update this with instructions for bsd https://github.com/Araq/Nimrod/wiki/Getting-Started
22:03:09q66fowl, i don't have a functional nimrod setup atm
22:03:22q66dom96, did a slight optimization http://codepad.org/CO7pLVGc
22:03:43q66882 millis in luajit now as opposed to 613 with C++
22:04:00q66i guess there's still more space for optimizations
22:06:06q66like, one could get rid of temporaries, improve vector ops or whatnot
22:06:12q66but in the end it doesn't matter too much :P
22:11:17dom96indeed. In fact that's pretty nice for Lua.
22:13:50fowllua is the shiznit
22:16:52q66dom96, I think I could get rid of the 200 millis, but the code wouldn't be idiomatic anymore
22:17:05q66the backend can do it :P
22:26:06q66dom96, got 687 millis as opposed to 610 millis in C++ with still idiomatic code
22:31:47*OrionPK joined #nimrod
22:53:50*durango quit (Quit: durango)