<< 28-06-2015 >>

00:06:54*Demon_Fox quit (Ping timeout: 246 seconds)
00:10:32*Demon_Fox joined #nim
00:14:31*dddddd quit (Ping timeout: 250 seconds)
00:18:45*vasher_ quit (Quit: Connection closed for inactivity)
00:24:42*jaco60 quit (Ping timeout: 256 seconds)
00:26:57*Jehan` quit (Quit: Leaving)
00:27:12*johnsoft joined #nim
00:31:28Varriount_Somebody said my name?
00:35:01*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:38:07*Varriount_ is now known as Varriount
00:38:20*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:55:27*vendethiel- quit (Ping timeout: 256 seconds)
01:00:03*bjz joined #nim
02:42:58*darkf joined #nim
02:45:29*dalarmmst quit (Ping timeout: 246 seconds)
02:52:27*MatrixBridge quit (Remote host closed the connection)
02:54:31onionhammerVarriount_: stuff working?
02:55:45*MatrixBridge joined #nim
02:57:26*MatrixBridge is now known as 5EXABJ6GG
02:57:27*MatrixBridge joined #nim
02:57:28*MatrixBridge quit (Remote host closed the connection)
02:59:11reactormonkpigmej, you tested it, right?
03:00:41*charmander is now known as dtscode
03:11:52*thaless quit (Quit: Leaving)
03:27:19*ozra quit (Ping timeout: 246 seconds)
03:49:28*vasher_ joined #nim
03:54:27*Demon_Fox_ joined #nim
03:56:28*Demon_Fox quit (Ping timeout: 252 seconds)
04:05:26*darkf_ joined #nim
04:05:35*darkf quit (Ping timeout: 248 seconds)
04:07:21*BitPuffin|osx quit (Ping timeout: 246 seconds)
04:10:33*darkf_ is now known as darkf
04:23:50*milosn quit (Ping timeout: 256 seconds)
04:26:07*elbow_jason quit (Remote host closed the connection)
04:26:37*milosn joined #nim
04:27:36*zezba9000 left #nim (#nim)
04:28:22*vendethiel joined #nim
04:30:05*woadwarr_ joined #nim
04:42:12*woadwarrior joined #nim
04:44:31*ddl_smurf quit (Quit: ddl_smurf)
04:45:11*woadwarr_ quit (Ping timeout: 265 seconds)
05:40:25*woadwarr_ joined #nim
05:42:45*woadwarrior quit (Ping timeout: 256 seconds)
05:43:32*vendethiel quit (Ping timeout: 252 seconds)
05:58:45*vasher_ quit (Quit: Connection closed for inactivity)
06:13:09*jszymanski quit (Quit: computer sleeps...)
06:13:18*jszymanski joined #nim
06:13:28*vendethiel joined #nim
06:36:01*vendethiel quit (Ping timeout: 256 seconds)
06:41:30*vendethiel joined #nim
06:49:07*woadwarrior joined #nim
06:49:24*woadwarr_ quit (Ping timeout: 265 seconds)
06:56:05*woadwarrior quit (Ping timeout: 246 seconds)
07:05:19*vendethiel quit (Ping timeout: 248 seconds)
07:19:43*dalarmmst joined #nim
07:25:06*Demon_Fox joined #nim
07:26:07*Demon_Fox_ quit (Ping timeout: 248 seconds)
07:40:44*vendethiel joined #nim
07:46:49*fowl quit (Read error: Connection reset by peer)
07:53:12*fowl joined #nim
08:01:51*vendethiel quit (Ping timeout: 246 seconds)
08:02:02*gmpreussner|work quit (Read error: Connection reset by peer)
08:04:09*vendethiel joined #nim
08:10:08*yglukhov__ joined #nim
08:13:55*bjz quit (Read error: Connection reset by peer)
08:18:37*bjz joined #nim
08:26:53*milosn quit (Ping timeout: 252 seconds)
08:28:03*milosn joined #nim
08:29:05*vendethiel quit (Ping timeout: 244 seconds)
08:35:17*woadwarrior joined #nim
08:44:54*gokr joined #nim
08:50:21*vendethiel joined #nim
08:55:21*Ven joined #nim
09:04:58*gunn quit (Ping timeout: 276 seconds)
09:11:29*milosn quit (Read error: Connection reset by peer)
09:11:41*milosn joined #nim
09:15:44*filcuc joined #nim
09:24:05*milosn quit (Ping timeout: 252 seconds)
09:24:56*milosn joined #nim
09:29:24*strcmp1 quit (Quit: Leaving)
09:35:54*5EXABJ6GG quit (Remote host closed the connection)
09:36:19*MatrixBridge joined #nim
10:01:15*darkf_ joined #nim
10:03:27*darkf quit (Ping timeout: 248 seconds)
10:09:50*filcuc quit (Ping timeout: 244 seconds)
10:29:48*ddl_smurf joined #nim
10:31:19*jaco60 joined #nim
10:36:30*dddddd joined #nim
10:39:35*ozra joined #nim
10:48:56pigmejreactormonk: thing-at-point ?
10:49:53pigmejor nimsuggest changes ? I tested both, and I'm using both if so
10:58:52*filwit joined #nim
11:04:12*vasher_ joined #nim
11:17:44*filwit quit (Quit: Leaving)
11:27:20*Trustable joined #nim
11:27:25*Trustable quit (Remote host closed the connection)
11:28:05*Trustable joined #nim
11:29:54*BitPuffin|osx joined #nim
11:33:31*kas joined #nim
11:38:04*kas quit (Ping timeout: 255 seconds)
11:42:06*thales joined #nim
11:42:30*thales is now known as Guest42514
11:45:37*BitPuffin|osx quit (Remote host closed the connection)
11:45:50*BitPuffin|osx joined #nim
12:12:17*arnetheduck joined #nim
12:20:07r-kuAraq: is it possible to hire you to write bnf grammar for nim for a reasonable price?
12:21:24Araqhrm, I guess that is the case
12:21:50Araqwhat is a BNF for you?
12:22:32r-kuthat https://paste2box.com/6B20sg/LrcaVeSImfw#/JMepUbd9HJ6GiMuRDssjjN6r1RLoS5AC5L0Af1UcSwI/HzzAAqGx.txt
12:22:49r-kudamn wrong file, sorry
12:23:06r-kuAraq: that https://paste2box.com/FaPKRg/_EXnnMlApM4#/VTDH7wJvLOjEKsos1thoPexPqHn4Toc-cDboksCKVR8/WfNLKTnk.txt
12:23:55*darkf_ is now known as darkf
12:24:54r-kuits input for this https://github.com/JetBrains/Grammar-Kit
12:27:39*matkuki joined #nim
12:29:55r-kuanyhow should you agree ideally i think i arrange payment, after that whenever you are done send PR for https://github.com/r-ku/intelli-nim if thats ok
12:31:52Araqwell I don't have time for this, I'd prefer to just help you without payment ;-)
12:32:59Araqthe most interesting question is what to do with indentation based parsing. how does the Python parser handle it?
12:33:18r-kui fear it would be more time consuming and end result be of lesser quality. besides im lazy ;)
12:33:32r-kupython turns ident/dedent into tokens afaik
12:33:34r-kuat least intellij plugin for python does
12:33:55Araqhow does Haskell do it?
12:34:03r-kufor someone who never written a grammar in his life this is very confusing as you may have guessed hehe
12:34:13r-kuidk, dont even know what haskell looks like
12:34:44Araqdoc/grammar.txt already exists, you only need to adapt it
12:35:09Araqbut it uses my own extensions cause EBNF is stupid :P
12:35:24Araqthat said, these extensions are trivial sugar you can do without
12:35:44r-kuyeah.. i saw grammar in manual, thought maybe its incomplete, but even if 100% complete i could not understand it from the first line (ind/ded)
12:36:03Araqit's complete, it's generated from the parser
12:36:34r-kuoh wow, i would not have thought the reverse process was possible. well great
12:36:50Araqbut the IND{>} IND{=} DED tokens are problematic
12:38:22Araqand then of course we also use an attributed grammar (iirc that's the term)
12:38:27Araqsection(p) = COMMENT? p / (IND{>} (p / COMMENT)^+IND{=} DED)
12:38:43Araqwhere rules can take other rules
12:38:50Araqbut again, not hard to inline away
12:39:24r-kuyeah well for you ;) this is exactly why i rather pay you :D
12:39:44matkukiA little help please. What's the correct conversion from a Python C function 'PyObject* PyErr_Format(PyObject *exception, const char *format, ...)' to Nim?
12:39:45matkuki'proc PyErr_Format*(exception: PyObjectPtr, format: cstring, rest: varargs[expr]): PyObjectPtr' doesn't seem to be right, compiler gives: 'Error: internal error: getTypeDescAux(tyExpr)' !
12:40:03arnetheduckhi, is there a convention for constructors in a type hierarchy? it looks like the convention for constructors is newXxx, but that doesn't chain well for a deep hierarchy..
12:40:58Araqarnetheduck: I think the convention is proc init(x: var Foo) and proc newFoo(): Foo = init(result) for the reasons you outline
12:41:21Araqmatkuki: depends on whether you want to wrap or re-implement
12:41:52matkukiAraq: wrap
12:41:54arnetheduckoki, so plain init without type name, noted & thanks
12:42:09Araqr-ku: can you embed *actions* into the grammar?
12:42:22r-kuno idea
12:42:29r-kuno idea what action is in this context either
12:43:33Araqmatkuki: then the dots simply become the .varargs pragma
12:43:45Araqand c2nim would have told you too :-)
12:44:06matkukithanks, let me try it
12:45:00Araqr-ku: can you give me the haskell implementation?
12:45:34r-kuill look it up
12:46:40matkukiAraq: beautiful, it works. Thanks for reminding me of c2nim!
12:51:40r-kuAraq: seems all these plugins have parser implemented themselves, not through grammar-kit. two of them are incomplete abandonware. the seemingly complete parser here if its of any use https://github.com/carymrobbins/intellij-haskforce/blob/master/gen/com/haskforce/parser/HaskellParser.java
12:52:44r-kuerr actually comment says its generated but im yet to find Haskell.bnf :|
12:54:17Araqr-ku: well as a first version I think you can simply map IND{>}, IND{=} to newline followed by optional spaces
12:54:40Araqand DED to nothing or perhaps a lookahead non-consuming \n
12:57:47r-kui guess that could work. also see this: module = stmt ^* (';' / IND{=}) is ^ and / also non-standard stuff?
12:58:54r-kuah Araq here is haskell bnf grammar: https://github.com/carymrobbins/intellij-haskforce/blob/master/src/com/haskforce/Haskell.bnf
12:59:30Araqr-ku: / is ordered choice, ^* is explained in the manual
13:00:44r-kufound it
13:06:42*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:14:26matkukiUUUHHH, colored text during compilation in 0.11.3. Nice!
13:15:39Araqhttps://www.haskell.org/onlinereport/haskell2010/haskellch10.html#x17-17800010.3 -.-
13:15:55AraqNim's way is much cleaner, IMHO
13:16:31Araqso .. but how does this thing do the actions in the grammar
13:24:39Araq WHITESPACESEMITOK="Synthetic semicolon"
13:24:41Araq WHITESPACELBRACETOK="Synthetic leftbrace"
13:24:42Araq WHITESPACERBRACETOK="Synthetic rightbrace"
13:25:01*silven quit (Ping timeout: 264 seconds)
13:25:26*silven joined #nim
13:27:59Araqhttps://github.com/carymrobbins/intellij-haskforce/blob/master/src/com/haskforce/parsing/_HaskellParsingLexer.flex#L184
13:28:45*vasher_ quit (Quit: Connection closed for inactivity)
13:30:22Araqso now we know... it uses a customized lexer. Meh.
13:30:24Araqbbl
13:32:18*yglukhov__ quit (Quit: Be back later ...)
13:48:50*boopsiesisaway is now known as boopsies
13:57:50*zaquest is now known as ace15
13:59:13*ace15 is now known as zaquest
14:02:24*woadwarrior quit (Quit: My Mac has gone to sleep. ZZZzzz…)
14:07:17*matkuki quit (Quit: ChatZilla 0.9.91.1 [Firefox 38.0.5/20150525141253])
14:12:14*filcuc joined #nim
14:15:30*Ven joined #nim
14:16:40*apense joined #nim
14:38:07*darkf quit (Quit: Leaving)
14:39:48*filcuc quit (Quit: Konversation terminated!)
14:41:25*kas joined #nim
14:44:34*apense quit (Read error: Connection reset by peer)
14:44:58*apense joined #nim
14:45:48*kas quit (Ping timeout: 264 seconds)
14:50:24*kas joined #nim
15:05:20*askatasuna joined #nim
15:07:07arnetheduckbtw, are the any guidelines to choose between the "return x" and "result = x" styles?
15:12:47def-arnetheduck: prefer "result = x" as it doesn't change control flow, use "return x" when necessary
15:13:32def-for very short procs it can be clearer to return the result directly, e.g. "proc f(x: int) = x * 2"
15:38:50*ddl_smurf quit (Quit: ddl_smurf)
15:40:28*kas quit (Ping timeout: 252 seconds)
15:49:12*Matthias247 joined #nim
15:50:58*fioco joined #nim
15:52:20*filcuc joined #nim
15:53:58*fioco left #nim (#nim)
16:00:49*Arrrr joined #nim
16:08:45*thepreacher joined #nim
16:10:18*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:10:42*ddl_smurf joined #nim
16:13:08*ddl_smurf quit (Client Quit)
16:13:56*filcuc quit (Ping timeout: 265 seconds)
16:14:20*Matthias247 quit (Read error: Connection reset by peer)
16:22:27ekarlsoarnetheduck: norsk ?
16:32:36*thepreacher quit (Remote host closed the connection)
16:34:25*thepreacher joined #nim
16:34:29*boopsies is now known as boopsiesisaway
16:39:32reactormonkpigmej, sweet. wanna create tests? :-@s9
16:40:02*askatasuna quit (Ping timeout: 265 seconds)
16:41:31reactormonkhow do I follow a symlink in nim?
16:47:36*dalarmmst quit (Ping timeout: 264 seconds)
16:50:14Arrrrjust follow the money trail
16:51:19*dalarmmst joined #nim
16:52:40*thepreacher quit ()
16:57:56*irezvov joined #nim
16:59:22*arnetheduck quit (Ping timeout: 255 seconds)
17:00:55*woadwarrior joined #nim
17:02:39*antranigv joined #nim
17:03:38antranigvwhen the Nim compiler compiles it self, does it get the same hash fingerprint? did anyone try that
17:03:38antranigv?
17:07:56reactormonkantranigv, it should
17:08:34Xethe build id in gcc might fuck with that
17:08:37reactormonk... the compiler does the usual old -> new -> new
17:10:37antranigvXe, sure? I did try to check another compiler, which, again uses GCC, and it did work (I did get the same hash fingerprint)
17:10:48*yglukhov__ joined #nim
17:12:14*thepreacher joined #nim
17:13:14avsejdom96, Araq: https://github.com/nim-lang/Nim/pull/3013
17:15:14*yglukhov__ quit (Ping timeout: 246 seconds)
17:17:11reactormonkavsej, yeah yeah
17:22:45avsejreactormonk, do you know what does this comment means? https://github.com/nim-lang/Nim/blob/devel/compiler/llstream.nim#L15 is libreadline support is going to be deprecated or something like that?
17:23:13Arrrrhttps://github.com/nim-lang/Nim/blob/devel/doc/readme.txt "Nim's documenation system"
17:23:24reactormonkavsej, it pretty much tells you that gnureadline is used by default unless by windows or if you wanna force it
17:23:54avsejit does not compiles with -d:useGnuReadline
17:24:02reactormonkhuh
17:24:05reactormonknow that's a problem
17:24:16reactormonkyou on windows?
17:24:33avsejHint: linenoise [Processing]
17:24:33avsejError: unhandled exception: invalid integer: -3 [ValueError]
17:24:33avsejFAILURE
17:24:38avsejfedora linux
17:25:11avsejlast three lines of `compiler/nim1 c -d:release -d:useGnuReadline compiler/nim.nim`
17:26:07*kas joined #nim
17:33:17reactormonkhuh, lemme see if it still boots fine here
17:33:30*yglukhov__ joined #nim
17:34:04reactormonkcan confirm, someone fucked up
17:36:32reactormonkavsej, honestly, not sure if that's still relevant for booting, because nim i is dead. On another note, it should compile.
17:37:35*superfunc joined #nim
17:37:41avsejthe error does not give me any clue where to search
17:37:59*yglukhov__ quit (Ping timeout: 252 seconds)
17:38:19avsej`nim i` dead because it technically not possible to continue its development, or just lack of maintainer?
17:46:53*Demon_Fox quit (Quit: Leaving)
17:47:25*antranigv left #nim ("ISON vahe labelle Waithamai antranigv norayr noch noch^off sssilver")
17:47:57avsejI see it in GSOC ideas: https://github.com/nim-lang/Nim/wiki/GSoC-2015-Ideas#create-a-new-repl-for-nim-using-tinycc. Does anybody works on it?
17:51:24avsejnothing from nim project was accepted this year
18:07:46reactormonkwe know :-(
18:14:42ArrrrGoogle doesn't want competitors
18:18:21federico3indeed
18:18:51*ddl_smurf joined #nim
18:22:44*thepreacher quit (Remote host closed the connection)
18:34:14*elliot` joined #nim
18:35:29elliot`Hi, I was wondering about sets in nim. I just read in the manual that sets are bitvectors. Does that mean a set of uint32's would take 4 gigabytes of memory? How would I represent such a set in nim?
18:36:27reactormonkelliot`, you probably want a hashset / table for that
18:37:47elliot`Hashing int's is kinda stupid ... is there a way to just sort the ints when I put them in the set so I can use binary search to find them?
18:45:03Arrrrhttp://nim-lang.org/docs/intsets.html
18:45:46ArrrrAnd also http://nim-lang.org/docs/algorithm.html#sort,openArray[T],proc(T,T)
18:47:43elliot`The former is what I was looking for, thanks
18:47:53*milosn quit (Quit: Lost terminal)
18:48:36elliot`Another thing: in nim, how easy is it to write distributed computing software? Say I want to do a MAP operation over a hundred processors, would I have to do anything special?
18:49:14*milosn joined #nim
18:50:15*boopsiesisaway is now known as boopsies
18:50:32elliot`Last, where can I find a tutorial on nim macros?
18:51:19irezvovelliot`: http://nim-lang.org/docs/macros.html
18:51:50irezvovit isn't toturial, but it contains a lot of usefull docs
18:53:01irezvovalso you can look at macro code in nim or external modules
18:53:46irezvovhttps://github.com/nim-lang/Nim/blob/master/lib/pure/asyncdispatch.nim#L1403 for example
18:54:34irezvovor my network macros - https://github.com/SPY/nim-memcached/blob/master/netdef.nim
19:02:04*milosn_ joined #nim
19:02:31*milosn quit (Ping timeout: 244 seconds)
19:02:35*elliot` left #nim ("Killed buffer")
19:04:52*milosn_ is now known as milosn
19:07:59*Arrrr quit (Quit: WeeChat 1.2)
19:16:34*Matthias247 joined #nim
19:23:31*thepreacher joined #nim
19:27:47*thepreacher quit (Read error: Connection reset by peer)
19:28:05*thepreacher joined #nim
19:28:25pigmejreactormonk: yeah yeah I remember about that tests ;P
19:28:57pigmejdom96: Maybe I have stupid question, BUT, how do I handle that sleepAsync with recv?
19:29:13pigmejI can't let x = socket.recv(size) or sleepAsync(15)
19:35:11*askatasuna joined #nim
19:39:12tmkuthere are no stupid question, pigmej
19:39:21tmkuquestions*
19:39:44pigmejtmku: there are :)
19:45:44dom96pigmej: var recvFut = socket.recv(size); var timeoutFut = sleepAsync(15); await recvFut or timeoutFut; if not recvFut.finished: echo("timed out")
19:46:00pigmejah, this way
19:46:09pigmejthx
19:46:59irezvovdom96: hi, have you seen my code with not working raise statement which i've posted on friday?
19:47:11dom96irezvov: nope
19:47:27irezvovdom96: https://gist.github.com/SPY/d4a34cc0771308753430
19:47:54irezvovfirst version works, second - no
19:48:06dom96irezvov: yeah, there are still bugs with 'await' in try catch statements.
19:48:46dom96use var fut = memcache.get(); if fut.failed: # error happened.
19:49:10dom96as a workaround for now
19:49:27irezvovmy "manual" version works anyway
19:49:43irezvovso it is not problem
19:50:30irezvovlooks like raise statement doesn't fail future, but just throws exception
19:51:08fowlHey irezvov my apologies
19:51:29fowlI said i would help the other night but i fell asleep
19:51:52irezvovfowl: sleeping is more important :)
19:57:34*kas quit (Remote host closed the connection)
19:59:27dom96irezvov: it does if you mark your proc "{.async.}"
19:59:27irezvovbtw, i've dived in asyncdispatcher code and understood how it works. it has helped me to write async freer
20:00:17irezvovdom96: does what?
20:00:45dom96irezvov: fails the future
20:00:59irezvovyeah, it should :)
20:03:07irezvovas i've understood this case handled there - https://github.com/nim-lang/Nim/blob/master/lib/pure/asyncdispatch.nim#L1211
20:03:43irezvovbut this catch case doesn't work properly
20:04:16irezvovmaybe because of iterator stuff
20:05:17dom96irezvov: yep, that's where it's done
20:05:26dom96irezvov: can you give me some code which shows that it doesn't work?
20:06:01irezvovofc, https://github.com/SPY/nim-memcached/blob/master/memcacheasync.nim this file
20:06:25irezvovbut you needed memcache server for test
20:07:45irezvovi will push test case with fail part now
20:09:02*aziz joined #nim
20:10:10Araqreactormonk: I tested the new linenoise on Linux. how come it doesn't work for you?
20:10:40irezvovdom96: done
20:11:54dom96irezvov: Well... I would like some shorter code...
20:12:35irezvovdom96: i'll try to write short snippet
20:12:46dom96thank you
20:19:25irezvovdom96: done, https://gist.github.com/SPY/5b35c1d9582e3f30c15f
20:20:58*woadwarrior quit (Quit: My Mac has gone to sleep. ZZZzzz…)
20:26:08dom96irezvov: that's really odd
20:26:14irezvovand i have another question: Does "result" treated special way in quote block?
20:26:43Araqno, but 'quote' uses a hygienic template under the hood
20:27:03Araqdon't use quote, use templates and getAst instead
20:27:11fowlYou have to do smthin like let res = ident"result"
20:28:03irezvovi workaround it with special symbol for result, but it looks odd
20:28:16irezvovthx for clarification
20:29:09pigmejhmm, dom96 is there any send / recv from / to buffer in asyncnet /
20:29:09pigmej?
20:29:18irezvovAraq: maybe it deserve special notice in quote macro description?
20:29:28dom96irezvov: please report it on github in the meantime.
20:29:29Araqsure
20:29:38pigmejI just see recvLineInto, but my data is not line based
20:30:11pigmejI wish I could make zero copy thingy there if possible
20:30:18dom96pigmej: asyncdispatch.recvInto
20:30:31dom96but the *Into procedures will change
20:30:45pigmejand what about sendFrom ?
20:30:54pigmej(most preferably buffer or asyncFile)
20:31:19dom96not spported
20:31:21dom96*supported
20:32:25pigmejhmm,
20:32:38pigmejany plans for that or not supported because not possible ?
20:32:54dom96haven't thought about it
20:33:07dom96so no plans
20:33:12dom96and not sure if it's possible
20:33:38pigmejk
20:34:47pigmejI needed to write proxy like thingy, for one experiment, but I will check how nim performs even with that extra memory cop
20:34:49pigmejcopy*
20:35:12irezvovdom96: https://github.com/nim-lang/Nim/issues/3014
20:35:29dom96irezvov: thanks!
20:39:00*Guest42514 quit (Quit: Leaving)
20:40:56dom96It's segfaulting in popCurrentException
20:41:02dom96looks like a Nim bug.
20:42:40dom96Araq: Mind taking a look? I left a comment with the gdb back trace.
20:43:12*thepreacher quit (Remote host closed the connection)
20:43:18*filcuc joined #nim
20:46:52Araqmeh, I'm drunk, but ok
20:48:15irezvovdom96: why is stacktrace switched off for callback wrapper? ( #{.push stackTrace: off.} )
20:49:53Araqoh ffs, can't you give 'cb' a decent name?
20:50:03Araqit always crashes in "cb"
20:50:23Araqand no, "decent name" doesn't mean "callback"
20:51:07*thepreacher joined #nim
20:52:42dom96Araq: what do you suggest?
20:52:59dom96irezvov: because 'cb' gets called a lot
20:53:05AraqgetAsyncCb
20:53:18Araqjust append Cb to the thing you wrap
20:54:16irezvovbut it could be more then one cb for function
20:54:40irezvov*per function
20:56:52*Matthias247 quit (Read error: Connection reset by peer)
20:56:53*Ven joined #nim
20:57:57dom96Araq: what?
20:58:07dom96'cb' is used for all async procedures
20:58:31Araqyes and the async procedure has a name
20:58:40Araqso use the name
20:58:49Araqand derive the callback's name from that
20:59:06Araqso we get meaningful stack traces
21:00:41irezvoveven JS has good stack trace for promise code :)
21:04:00dom96so you want me to generate a 'cb' for each async procedure?
21:04:32AraqI thought that's what you do already
21:05:32Araqtemplate createCb
21:07:07*irezvov quit (Ping timeout: 246 seconds)
21:08:37dom96hrm, you're right.
21:09:21dom96I already pass a name in there.
21:09:31dom96Too bad I can't just convert it into an ident in the template from a string.
21:10:01Araqyeah so pass another thing to the template
21:10:14dom96ugh, it's confusing enough
21:12:49*dalarmmst quit (Remote host closed the connection)
21:18:48*johnsoft quit (Ping timeout: 246 seconds)
21:19:01*johnsoft joined #nim
21:28:50*aziz quit (Read error: Connection reset by peer)
21:29:09*thepreacher quit ()
21:31:37*jszymanski quit (Quit: computer sleeps...)
21:35:43*askatasuna quit (Ping timeout: 276 seconds)
21:38:30*Trustable quit (Quit: Leaving)
21:39:13*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:41:48*filcuc quit (Quit: Konversation terminated!)
21:42:13*thales joined #nim
21:42:37*thales is now known as Guest54694
21:48:19*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:55:14*Kingsquee joined #nim
21:57:56reactormonkAraq, I have on idea. Which linux?
21:58:15Araqmint, 64bits
21:58:43dom96Araq: Any ideas what the cause of that crash may be?
21:58:59reactormonkAraq, got an Arch image somewhere?
22:00:30*bjz joined #nim
22:01:20*bjz quit (Client Quit)
22:02:08Araqdom96: it calls popCurrentException twice
22:02:14Araqbut pushes only once
22:02:31Araqbecause it re-enters the callback
22:02:40Araqbut the details escape me
22:02:47dom96I see
22:02:57dom96Comment that on github please
22:03:37*bjz joined #nim
22:07:31*heinrich5991 quit (Ping timeout: 250 seconds)
22:10:23*heinrich5991 joined #nim
22:18:15*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:20:35*mnemonikk quit (Ping timeout: 258 seconds)
22:20:44*mnemonikk_ joined #nim
22:21:14*heinrich5991 quit (Ping timeout: 252 seconds)
22:21:36*profan quit (Ping timeout: 252 seconds)
22:22:54*heinrich5991 joined #nim
22:26:44*Guest54694 quit (Ping timeout: 246 seconds)
22:43:39*vasher_ joined #nim
22:58:56*bjz joined #nim
23:03:19*superfunc quit (Quit: Lost terminal)
23:04:29*testingg joined #nim
23:05:32*Guest54694 joined #nim
23:06:07*dddddd quit (Ping timeout: 255 seconds)
23:10:55*testingg quit (Quit: Page closed)
23:12:59*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:28:44*boopsies is now known as boopsiesisaway
23:29:12Araqdom96: it works with this popCurrentException
23:29:22Araqproc popCurrentException {.compilerRtl, inl.} =
23:29:24Araq if currException != nil:
23:29:25Araq currException = currException.parent
23:30:07Araqbut by construction there is a pop for every push. No clue how can this ever happen.
23:30:26Araqtried a couple of convoluted control flow constructs
23:30:39Araqthey all produce the correct control flow.
23:31:11Araqthere is no way in hell I can dream up as convoluted control flow as async produces
23:39:32*vendethiel quit (Ping timeout: 246 seconds)
23:44:12*gokr quit (Quit: Leaving.)
23:47:43reactormonkDunno, imo async needs to work with futures otherwise you're going to hell and back with exceptions
23:48:10Araqno idea what that means
23:48:36reactormonkIf you have an async call, you get a future back, which is an either between a result or an exception
23:48:45*thepreacher joined #nim
23:49:03Araqand what do you think we do?
23:49:10reactormonk... which would basically be a case object success: T fail: Exception (roughly)
23:49:29reactormonkYou don't have any exceptions anymore to handle.
23:52:28*dddddd joined #nim