02:35:18 | reactormonk | Araq, in java, you can provide a locale option to swapcase stuff |
04:14:18 | * | OrionPK quit (Quit: Leaving) |
06:17:03 | * | fowl quit (Ping timeout: 258 seconds) |
06:20:28 | * | fowl joined #nimrod |
07:08:30 | * | erlnoob joined #nimrod |
07:22:03 | Araq | hi erlnoob, welcome |
07:22:10 | erlnoob | hi |
07:23:54 | erlnoob | Araq = Andreas Rumpf? |
07:24:58 | Araq | true |
07:26:30 | erlnoob | cool |
07:26:47 | Araq | yay, I'm famous now :-) |
07:28:06 | erlnoob | hehe, just starting to learn it... mix of python and pascal, nice! |
07:52:13 | * | erlnoob quit (Quit: erlnoob) |
09:05:04 | * | erlnoob joined #nimrod |
13:02:39 | * | zahary_ joined #nimrod |
13:43:40 | * | q66 joined #nimrod |
14:31:42 | * | erlnoob quit (Quit: erlnoob) |
15:58:57 | * | xcombelle joined #nimrod |
16:53:18 | Araq | hi ... anybody around? |
16:55:14 | reactormonk | Araq, wtf, someone stole your name? That's the question that identifies you as noob like no other |
16:56:57 | Araq | meh, I'll do it the old fashioned way again: ping zahary_, dom96 |
16:57:02 | Araq | :P |
16:58:52 | Araq | (that's what you get for trying to be polite ...) |
17:00:37 | reactormonk | polite? welcome to the intertze |
17:13:59 | Araq | I want to allow 'if (var x = match(...); x.isMatch) ...' aka statements in expressions but it turns out to cause all sorts of problems ... |
17:52:17 | dom96 | like? |
17:53:30 | Araq | p(x=y) curently is a named parameter |
17:53:45 | Araq | it could be an assignment instead then |
17:54:04 | Araq | p(x: y) is also supported for macros |
17:54:22 | Araq | and yet x: y as a statement is a macro invokation |
17:56:48 | Araq | thing is ... I can easily come up with rules when it's parsed as a statement and when it's not |
17:57:22 | Araq | but it is a bit arbitrary and might be confusing |
17:57:47 | Araq | for instance one idea is that a leading ';' triggers "statement context" |
17:58:11 | Araq | so (; x = y) means it's an assignment ... |
17:58:34 | Araq | a leading ';' is very ugly though |
18:02:00 | dom96 | This will only affect function calls I think. |
18:02:09 | dom96 | So just make it mandatory to have extra parenthesis around the statement? |
18:02:34 | dom96 | but hrm, conflicts with tuples could still occur |
18:03:02 | Araq | actually the function calls examples are all wrong, sorry |
18:03:15 | Araq | it is the () tuple construction that's enhanced with stmts |
18:03:20 | Araq | and only that |
18:03:57 | dom96 | ahh, so the only problem is that it conflicts with tuples? |
18:04:40 | Araq | hmm yeah |
18:23:43 | dom96 | oh look new Ludum Dare. |
18:23:50 | dom96 | Too bad I don't have time to compete :\ |
18:56:20 | fowl | Araq: how about forcing tuple-like assignment |
18:56:50 | fowl | if((x) = func()) .. |
18:57:21 | Araq | so in an expression only (x) = ... is an assignment? |
18:57:27 | Araq | or what do you mean? |
18:57:46 | fowl | go does something like this |
18:58:03 | Araq | anyway, the plan is to require ';' for the statement interpretation: (stmt; expr) is the syntax |
18:58:25 | Araq | however the ';' comes too late ;-) |
18:58:44 | Araq | and I am not gonna make the grammar require arbitrary look ahead |
18:59:18 | Araq | Go special cases ';' within an 'if' condition |
18:59:28 | Araq | that's not Nimrod's way of doing things |
19:07:40 | Araq | (; stmt; expr) # hmm |
19:07:50 | Araq | it's too ugly, right? |
19:10:35 | Araq | however we could go with "'let', 'var', ';' after '(' introduce a stmt context" ... |
19:11:44 | fowl | i probably wont use it |
19:12:11 | Araq | the 'var' decl in a condition is very nice in 'elif' though |
19:12:14 | fowl | the only reason to do that in ruby is so you can cram as much as possible on one line |
19:20:31 | fowl | Araq: can i set a handler for SIGINT |
19:41:45 | Araq | fowl: I dunno, check out how system/excpt.nim does it |
19:42:13 | * | OrionPK joined #nimrod |
19:52:02 | * | xcombelle quit (Remote host closed the connection) |
19:55:50 | fowl | coo setControlCHook() |
20:16:54 | * | gradha joined #nimrod |
20:18:42 | gradha | I wrote https://github.com/gradha/the_hyperlink_vs_nimrod/blob/develop/the_hyperlink_vs_nimrod.nim to scan nimrod source code using idetools for each char and it's painfully slow |
20:19:32 | Araq | what does that mean? "idetools for each char"? |
20:20:09 | gradha | it transforms a .nim into .html with each char having a tooltip with the results of idetools output |
20:21:12 | Araq | that's crazy talk |
20:21:28 | gradha | yes, but it's the best to debug idetools output/suggestions |
20:23:19 | dom96 | yes, that's a brilliant way to test the performance of it. |
20:24:26 | dom96 | hrm, did github just die? |
20:24:35 | gradha | huh, I'm running now the program but forgot again to time it, anyway it clocks in minutes for a 3700 char file |
20:24:55 | gradha | dom96: not here |
20:24:55 | dom96 | hrm, temporary unicorn invasion I guess. |
20:27:52 | gradha | also, https://github.com/gradha/genieos has now two stars, that's awkward |
20:29:39 | gradha | Araq: did you have enough time to muse on http://forum.nimrod-code.org/t/139 ? |
20:30:44 | Araq | gradha: I don't mind the stackoverflow solution; I suppose only new posts can be affected by it though |
20:30:53 | Araq | however, why is that important again? |
20:31:21 | gradha | it's not important at all, it's just a nice thing to have, the world will still rotate without it |
20:32:34 | Araq | fine then please patch nimforum to have a link to these things |
20:32:57 | Araq | and I'll reply officially to t139 |
20:34:23 | gradha | looking at https://github.com/Araq/Nimrod/issues/398 I was thinking that besides assert it would be nice to have a mechanism to specify a precondition which the compiler could enforce/check |
20:34:40 | gradha | instead of an assert, you specify a proc's parameter has to have a range between x and y |
20:35:02 | gradha | then the compiler tries to check that. No guarantees on working at compile time, but may catch some errors |
20:35:11 | Araq | like range[1..3] ? |
20:35:15 | gradha | the question is if all this work would be worth it or asserts are enough |
20:35:23 | fowl | beginnings of an ircd: https://gist.github.com/fowlmouth/5454780 |
20:35:27 | fowl | (: |
20:35:52 | * | gradha quit (Quit: bbl, have youtube videos to watch) |
20:37:06 | dom96 | fowl: awesome. Bonus points if you can make it good enough to replace chary ;) |
20:37:58 | reactormonk | Araq, *kick* you know what |
20:38:53 | dom96 | Also I actually really like the way the new constructor syntax looks (line 236 in fowl's gist) |
20:40:05 | Araq | dom96: thanks, this feature took like ~4 years to design :D |
20:40:32 | dom96 | :) |
20:44:20 | fowl | whats chary? |
20:44:39 | Araq | reactormonk: well? |
20:45:10 | dom96 | fowl: charybdis; an IRCd. |
20:46:38 | fowl | ah |
20:46:47 | Araq | fowl: I hope you know this mget(name).addr stuff really looks scary |
20:47:11 | Araq | what if the serv.channels get resized? |
20:47:25 | Araq | a hash table may do this ... |
20:50:19 | fowl | I'll just enforce limits on them |
20:50:27 | fowl | (: |
20:50:43 | Araq | he he |
20:58:21 | JStoker | fowl: Hehe. Jsyk, you're chatting on charybdis (or, a very very close fork, with only charybdis devs contributing, anyway. Close enough, really) :-) |
20:58:59 | JStoker | fowl: Code looks pretty awesome though. ^_^ |
21:12:26 | dom96 | fowl: Why are you using 'ptr' instead of 'ref'? |
21:13:22 | fowl | i dunno |
21:13:54 | fowl | i only have to change 5 places to use refs |
21:28:24 | fowl | dom96: how do i babelify github.com/fowlmouth/nimlibs |
21:30:30 | dom96 | The only way currently is to separate everything into different repos. |
21:36:31 | dom96 | might just have to be patient |
21:36:39 | dom96 | very patient |
21:37:02 | reactormonk | Araq, #347? |
21:39:51 | * | Trix[a]r_za is now known as Trixar_za |
21:42:04 | Araq | reactormonk: it's a minor bug and I'm not working on the JS backend, stop poking me please |
21:42:37 | reactormonk | Araq, you said you want to fix it. |
21:43:06 | reactormonk | that's why I'm poking you |
21:43:31 | Araq | ok, well I don't want to fix it immediately as the fix I once thought of doesn't work |
21:43:42 | fowl | dom96: can I use the packagename/module format now |
21:44:00 | dom96 | I think that was always possible. |
21:44:45 | fowl | cool now to think of a good name so anyone who uses remembers me forever |
21:44:59 | fowl | import fowlpwns/sdl2 |
21:48:02 | dom96 | actually, to make it work that way. You may need to put it in a fowlpwns dir inside your repo |
21:49:55 | dom96 | we really need to straighten out how babel works |
21:52:35 | Araq | how many babel packages do we have now? :-) |
21:53:43 | dom96 | 8 |
21:53:51 | Araq | yay |
21:55:30 | Araq | do these 8 packages somehow tell us how things *should* be done? ;-) |
22:03:13 | fowl | ugh im mangling ncurses.h make a wrapper |
22:03:36 | Araq | don't we have an ncurses wrapper already somewhere? |
22:05:22 | fowl | schala has a pdcurses wrapper |
22:05:38 | Araq | there you go then ... :P |
22:05:54 | apotheon | Schala . . . ? |
22:06:50 | Araq | hm I have lib/wrapper/pdcurses.nim ... and it looks like schala's code |
22:07:43 | fowl | its not listed in the docs |
22:08:11 | Araq | it's not cleaned up either |
23:10:22 | * | q66 quit (Remote host closed the connection) |