<<24-04-2013>>

02:35:18reactormonkAraq, 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:03Araqhi erlnoob, welcome
07:22:10erlnoobhi
07:23:54erlnoobAraq = Andreas Rumpf?
07:24:58Araqtrue
07:26:30erlnoobcool
07:26:47Araqyay, I'm famous now :-)
07:28:06erlnoobhehe, 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:18Araqhi ... anybody around?
16:55:14reactormonkAraq, wtf, someone stole your name? That's the question that identifies you as noob like no other
16:56:57Araqmeh, I'll do it the old fashioned way again: ping zahary_, dom96
16:57:02Araq:P
16:58:52Araq(that's what you get for trying to be polite ...)
17:00:37reactormonkpolite? welcome to the intertze
17:13:59AraqI 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:17dom96like?
17:53:30Araqp(x=y) curently is a named parameter
17:53:45Araqit could be an assignment instead then
17:54:04Araqp(x: y) is also supported for macros
17:54:22Araqand yet x: y as a statement is a macro invokation
17:56:48Araqthing is ... I can easily come up with rules when it's parsed as a statement and when it's not
17:57:22Araqbut it is a bit arbitrary and might be confusing
17:57:47Araqfor instance one idea is that a leading ';' triggers "statement context"
17:58:11Araqso (; x = y) means it's an assignment ...
17:58:34Araqa leading ';' is very ugly though
18:02:00dom96This will only affect function calls I think.
18:02:09dom96So just make it mandatory to have extra parenthesis around the statement?
18:02:34dom96but hrm, conflicts with tuples could still occur
18:03:02Araqactually the function calls examples are all wrong, sorry
18:03:15Araqit is the () tuple construction that's enhanced with stmts
18:03:20Araqand only that
18:03:57dom96ahh, so the only problem is that it conflicts with tuples?
18:04:40Araqhmm yeah
18:23:43dom96oh look new Ludum Dare.
18:23:50dom96Too bad I don't have time to compete :\
18:56:20fowlAraq: how about forcing tuple-like assignment
18:56:50fowlif((x) = func()) ..
18:57:21Araqso in an expression only (x) = ... is an assignment?
18:57:27Araqor what do you mean?
18:57:46fowlgo does something like this
18:58:03Araqanyway, the plan is to require ';' for the statement interpretation: (stmt; expr) is the syntax
18:58:25Araqhowever the ';' comes too late ;-)
18:58:44Araqand I am not gonna make the grammar require arbitrary look ahead
18:59:18AraqGo special cases ';' within an 'if' condition
18:59:28Araqthat's not Nimrod's way of doing things
19:07:40Araq(; stmt; expr) # hmm
19:07:50Araqit's too ugly, right?
19:10:35Araqhowever we could go with "'let', 'var', ';' after '(' introduce a stmt context" ...
19:11:44fowli probably wont use it
19:12:11Araqthe 'var' decl in a condition is very nice in 'elif' though
19:12:14fowlthe only reason to do that in ruby is so you can cram as much as possible on one line
19:20:31fowlAraq: can i set a handler for SIGINT
19:41:45Araqfowl: 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:50fowlcoo setControlCHook()
20:16:54*gradha joined #nimrod
20:18:42gradhaI 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:32Araqwhat does that mean? "idetools for each char"?
20:20:09gradhait transforms a .nim into .html with each char having a tooltip with the results of idetools output
20:21:12Araqthat's crazy talk
20:21:28gradhayes, but it's the best to debug idetools output/suggestions
20:23:19dom96yes, that's a brilliant way to test the performance of it.
20:24:26dom96hrm, did github just die?
20:24:35gradhahuh, I'm running now the program but forgot again to time it, anyway it clocks in minutes for a 3700 char file
20:24:55gradhadom96: not here
20:24:55dom96hrm, temporary unicorn invasion I guess.
20:27:52gradhaalso, https://github.com/gradha/genieos has now two stars, that's awkward
20:29:39gradhaAraq: did you have enough time to muse on http://forum.nimrod-code.org/t/139 ?
20:30:44Araqgradha: I don't mind the stackoverflow solution; I suppose only new posts can be affected by it though
20:30:53Araqhowever, why is that important again?
20:31:21gradhait's not important at all, it's just a nice thing to have, the world will still rotate without it
20:32:34Araqfine then please patch nimforum to have a link to these things
20:32:57Araqand I'll reply officially to t139
20:34:23gradhalooking 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:40gradhainstead of an assert, you specify a proc's parameter has to have a range between x and y
20:35:02gradhathen the compiler tries to check that. No guarantees on working at compile time, but may catch some errors
20:35:11Araqlike range[1..3] ?
20:35:15gradhathe question is if all this work would be worth it or asserts are enough
20:35:23fowlbeginnings of an ircd: https://gist.github.com/fowlmouth/5454780
20:35:27fowl(:
20:35:52*gradha quit (Quit: bbl, have youtube videos to watch)
20:37:06dom96fowl: awesome. Bonus points if you can make it good enough to replace chary ;)
20:37:58reactormonkAraq, *kick* you know what
20:38:53dom96Also I actually really like the way the new constructor syntax looks (line 236 in fowl's gist)
20:40:05Araqdom96: thanks, this feature took like ~4 years to design :D
20:40:32dom96:)
20:44:20fowlwhats chary?
20:44:39Araqreactormonk: well?
20:45:10dom96fowl: charybdis; an IRCd.
20:46:38fowlah
20:46:47Araqfowl: I hope you know this mget(name).addr stuff really looks scary
20:47:11Araqwhat if the serv.channels get resized?
20:47:25Araqa hash table may do this ...
20:50:19fowlI'll just enforce limits on them
20:50:27fowl(:
20:50:43Araqhe he
20:58:21JStokerfowl: Hehe. Jsyk, you're chatting on charybdis (or, a very very close fork, with only charybdis devs contributing, anyway. Close enough, really) :-)
20:58:59JStokerfowl: Code looks pretty awesome though. ^_^
21:12:26dom96fowl: Why are you using 'ptr' instead of 'ref'?
21:13:22fowli dunno
21:13:54fowli only have to change 5 places to use refs
21:28:24fowldom96: how do i babelify github.com/fowlmouth/nimlibs
21:30:30dom96The only way currently is to separate everything into different repos.
21:36:31dom96might just have to be patient
21:36:39dom96very patient
21:37:02reactormonkAraq, #347?
21:39:51*Trix[a]r_za is now known as Trixar_za
21:42:04Araqreactormonk: it's a minor bug and I'm not working on the JS backend, stop poking me please
21:42:37reactormonkAraq, you said you want to fix it.
21:43:06reactormonkthat's why I'm poking you
21:43:31Araqok, well I don't want to fix it immediately as the fix I once thought of doesn't work
21:43:42fowldom96: can I use the packagename/module format now
21:44:00dom96I think that was always possible.
21:44:45fowlcool now to think of a good name so anyone who uses remembers me forever
21:44:59fowlimport fowlpwns/sdl2
21:48:02dom96actually, to make it work that way. You may need to put it in a fowlpwns dir inside your repo
21:49:55dom96we really need to straighten out how babel works
21:52:35Araqhow many babel packages do we have now? :-)
21:53:43dom968
21:53:51Araqyay
21:55:30Araqdo these 8 packages somehow tell us how things *should* be done? ;-)
22:03:13fowlugh im mangling ncurses.h make a wrapper
22:03:36Araqdon't we have an ncurses wrapper already somewhere?
22:05:22fowlschala has a pdcurses wrapper
22:05:38Araqthere you go then ... :P
22:05:54apotheonSchala . . . ?
22:06:50Araqhm I have lib/wrapper/pdcurses.nim ... and it looks like schala's code
22:07:43fowlits not listed in the docs
22:08:11Araqit's not cleaned up either
23:10:22*q66 quit (Remote host closed the connection)