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:02 | gradha | hmm... so --context would be used instead of --suggest for things like https://github.com/Araq/Nimrod/issues/477 ? |
10:08:44 | gradha | it 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:03 | gradha | but maybe it makes sense to differentiate procs from vars |
10:12:47 | Araq | let me check the code and see why I did it this way |
10:14:56 | Araq | btw do you want to fix the "default params not shown" bug? |
10:15:15 | Araq | edit SymToStr line 40 |
10:15:35 | gradha | ok |
10:17:30 | Araq | if s.kind in RoutineKinds: result.add(renderTree(s.ast[paramsPos]) |
10:18:14 | Araq | elif s.typ != nil: result.add(typeToString(s.typ)) |
10:19:04 | Araq | though you likely also want genericParamsPos |
10:20:22 | Araq | but hmm I suppose the proper fix is to change typeToString to include more information |
10:24:36 | Araq | well the code does 'suggestFieldAccess' for --suggest and 'suggestCall' for --context |
10:24:50 | Araq | and it's indeed '.' vs. '(' |
10:25:38 | Araq | note 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:37 | gradha | does an IDE then need to call both --suggest and --context in the case of the user using the OO dot sugar syntax? |
10:26:59 | Araq | but I suppose it's a moot point if the parser ignores the errorneous '(' there is no nkCall node to search for either ... |
10:27:38 | Araq | the IDE is supposed to call --context for '(' and --suggest for '.' |
10:27:58 | Araq | x.abc( # --context |
10:28:04 | Araq | x. # -- suggest |
10:38:50 | Araq | bbl |
10:41:48 | gradha | other than Aporia it seems pretty much every other IDE nimrod plugin will also have only limited static information when performing queries |
10:42:23 | gradha | at 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:36 | gradha | I 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:57 | gradha | zahary_: please implement --context, you know you want it |
10:45:44 | gradha | zahary_: 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:45 | zahary_ | implementing the special treatment of (# --context is not a problem for me in vim I think |
11:57:23 | zahary_ | you don't really have onChar there, but you can easily look at the contents of the current line |
11:58:44 | Araq | oh hi zahary_; when will you merge your branch? :-) |
11:59:50 | zahary_ | 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:52 | Araq | alright |
12:06:50 | Araq | btw it took me a while to figure out that you can't prove ~A -> B by proving A -> B wrong ... ;-) |
12:07:18 | Araq | (-> is implies, ~ negation here) |
12:07:45 | zahary_ | does this occur somewhere in the not nil analysis? |
12:07:52 | Araq | yeah |
12:08:06 | Araq | it works for B though |
12:09:08 | zahary_ | 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:53 | Araq | yeah |
12:10:59 | zahary_ | 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:11 | Araq | guards.nim implements the inference engine; sempass2 checks for various things related to the dependent typing |
12:13:25 | Araq | I don't attach anything to a PType it's all kept in the TEffects object temporarily |
12:13:57 | Araq | as it's flow dependent |
12:28:31 | Araq | oh btw the 'not nil' has some problems; for instance proc p has the type tyProc |
12:28:47 | Araq | but it should have tyProc not nil |
12:29:21 | Araq | but then this means type(p) yields a different type than before and then we lack an explicit nilable |
12:29:35 | Araq | so you can't do 'nil type(p)' |
12:29:43 | Araq | which would be weird anyway |
12:31:14 | Araq | so 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:18 | NimBot | Araq/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:08 | Araq | hi EXetoC, welcome |
14:10:29 | * | gsp joined #nimrod |
14:20:46 | zahary_ | 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:56 | EXetoC | Araq: sup dude |
14:45:31 | dom96 | hello EXetoC |
15:25:15 | EXetoC | dom96: lo |
15:25:29 | dom96 | EXetoC: Welcome to #nimrod :) |
15:25:43 | EXetoC | gotta give Nimrod a go some time. whitespace-indentation? hells yes |
15:25:59 | dom96 | yep :D |
15:29:11 | EXetoC | q66: what is your next project going to be? perhaps a wow clone in nim with support for Oculus Rift |
15:31:33 | q66 | EXetoC, 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:25 | dom96 | Look guys, a raytracer: http://forum.nimrod-code.org/t/167 |
19:01:20 | EXetoC | neat |
19:02:03 | EXetoC | q66: cool. it won't be able to handle the world scale of a wow clone though :> |
19:02:10 | EXetoC | that's fine I guess |
19:02:21 | q66 | nobody gives a damn :P |
19:02:46 | reactormonk | EXetoC, WoW is relatively simple graphics-wise |
19:04:02 | reactormonk | dom96, you think you could profile that one? |
19:04:26 | dom96 | what for? it already beats C++ :P |
19:07:14 | EXetoC | q66: don't kid yourself :p |
20:36:47 | * | EXetoC quit (Quit: WeeChat 0.4.1) |
21:12:51 | q66 | dom96, http://codepad.org/Xh5xB9jn |
21:12:57 | q66 | i wrote a very unoptimized version with LuaJIT |
21:13:11 | q66 | http://octaforge.org/raytracer.png |
21:20:57 | fowl | wow virtual reality 3d headsets |
21:21:12 | fowl | dang that thing looks reminiscent of the virtualboy |
21:47:24 | dom96 | q66: nice, btw is that DE enlightenment? It looks nice. |
21:47:33 | q66 | yes |
21:47:44 | q66 | enlightenment 0.17 @ freebsd 9.1 |
21:49:59 | fowl | e17 confuses me so much |
21:55:54 | fowl | q66, since you use bsd you should update this with instructions for bsd https://github.com/Araq/Nimrod/wiki/Getting-Started |
22:03:09 | q66 | fowl, i don't have a functional nimrod setup atm |
22:03:22 | q66 | dom96, did a slight optimization http://codepad.org/CO7pLVGc |
22:03:43 | q66 | 882 millis in luajit now as opposed to 613 with C++ |
22:04:00 | q66 | i guess there's still more space for optimizations |
22:06:06 | q66 | like, one could get rid of temporaries, improve vector ops or whatnot |
22:06:12 | q66 | but in the end it doesn't matter too much :P |
22:11:17 | dom96 | indeed. In fact that's pretty nice for Lua. |
22:13:50 | fowl | lua is the shiznit |
22:16:52 | q66 | dom96, I think I could get rid of the 200 millis, but the code wouldn't be idiomatic anymore |
22:17:05 | q66 | the backend can do it :P |
22:26:06 | q66 | dom96, 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) |