<< 03-06-2015 >>

00:00:01toadestIt compiles on Linux
00:00:03ozratoadest: Hey, I dunno windows :-/ sorry man
00:00:03_44535463686f646...
00:00:08toadestOk
00:00:23_44535463686f646i use Make and gcc the same on linux and windows
00:00:25toadestWhats linux speciufic are the scripts, full version of GCC natively
00:00:31toadestCross compilers
00:00:32ozraonly coded on it for profession - but that was ofc windowsy stuff then..
00:00:34*jaco60 quit (Ping timeout: 256 seconds)
00:00:44toadestUse same? Sure Are same? No
00:00:45ozra(VC)
00:00:52ozra(and Delphi)
00:00:54toadestYeah...
00:00:57toadestXD
00:01:08toadestAnyone here ever used Bloodshed Dev-C++ ??
00:01:17toadestThose were the days.... that thing was amazing
00:01:33toadestNow there's orwell..... still good but not known to well
00:02:33toadest_44535463686f646: Comprehendes?
00:02:39ozraWell, you have some suggestions above now, one of them is probably the faster road :)
00:02:47toadestYep
00:02:55toadestI do use c9.io and occasionally coding
00:02:58toadest*koding
00:03:01toadestNo vps though
00:03:41toadestNo tengo un ¿ aqui ;-;
00:03:54ozraSee if you can find a VPS that rents per day, and you can use it til you get your machine back..
00:04:09_44535463686f646mingw
00:04:14toadestYeah...
00:04:18ozraOr that :)
00:04:31_44535463686f646your bash script will still work etc
00:04:49_44535463686f646unless you tell me the specifics that arent working
00:04:55_44535463686f646i cant tell you anything but to use linux
00:05:23_44535463686f646but gitbash (mingw) works pretty good for me
00:05:41*datanoise joined #nim
00:05:42_44535463686f646my makfiles all work on windows and linux
00:05:45toadestIm using a cc
00:05:54toadestA cross compiler for mips and x11 software
00:05:59toadestI cannot use windows long term
00:06:06toadestBecause of that I
00:06:10_44535463686f646then use linux
00:06:12toadest'm keeping my linux stuff
00:06:15toadestI CANT
00:06:20toadestMY laptop BROKE
00:06:26_44535463686f646vm
00:06:37toadestToo slow on this
00:06:51fowlCan you take this discussion to #nim-offtopic
00:07:05fowlI can't even find the last nim related thing said in here
00:07:13_44535463686f646any linux server vm will work under 512m but whatver.
00:08:24toadestSure fowl, I'm sorry
00:08:37toadestThis actually started as running nim in a vm
00:08:42toadest*in cygwin
00:09:01ozradom96: Araq: Anyone of you there and got a minute? Regarding tests/testament/... feels a tad urgent to get in order.
00:14:45fowlozra: about it running nim from $PATH instead of local?
00:16:20ozraYeah. I've edited it a bit, but I guess I'd need some input since it's central to deving. Though, it basically is broken now, unless you have your dev-repo as global path.. I have stable install as global. Which seems to me the "proper setup" of a system...
00:16:36ozrafowl: Got any opinions/ tips..
00:17:28ozraAtm. I made "koch" compile the compiler first (to make sure you don't run all tests realizing you forgot to compile the piler), and then defaults to "./compiler/nim --lib:./lib c ..."
00:18:06ozraAh, yeah, the compiler is ofc compiled with 'global nim' and also with '--lib:./lib', as expected, ofc..
00:18:20fowlozra: it should run the local version, nobody keeps stale nims around
00:18:46vikatonr we cald nimmers? o,0
00:19:44fowlozra: HEAD is usually stable and new releases are obsolete really quickly
00:20:00ozraThe "idiomatic" setup would be stable as central, so regardless, it would break in the future when getting more widespread, even if most are running their local repo as pathed. I have two local repos for various reasons also.
00:20:06*vikaton quit ()
00:21:44ozraThis way I can very simply run './koch tests' in one repo (devel pure) and also in a feature/bugix-branch repo. Compare outputs. Anything diffs? Run tests-individually under microscope in devel repo and in my branch repo and compare.
00:22:13fowlozra: Im not sure koch calls nim from $path, you can use it to bootstrap before you modify $path
00:22:20ozraOtherwise: checkout devel.. re compile the whole shit. copy out things to compare. checkout feature.. recompile the kahuna... dadada
00:23:21ozrafowl: Ehmm.. right now it just execs "nim ..." which becomes the pathed one.. Or what do you mean?
00:23:27fowlozra: yea I'm just trying to explain how the oversight was made :p
00:24:12ozraHaha, ah, yeah. I figured it was like that, just, feeling that explicitly running the current dir's is the 'right way' to never cause confusion :-)
00:24:38flaviufowl: devel, HEAD is ambiguous.
00:24:53fowlozra: BTW the boss way to install nim on *nix is to symlink it into $path
00:25:12*gsingh93 joined #nim
00:25:50ozrayeah, I often go with that method. This time around, it's added to path though (the "stable" one..)
00:25:57ozraI'll change that..
00:27:03ozrafowl: Anyways, waddyathing - seems reasonable enough to re-compile the compiler immediately before running tests - no big loss in time compared to running all tests with wrong piler, right?
00:37:55*TEttinger joined #nim
00:40:31fowlozra: it only takes me 6 seconds for the compiler to recompile itself 3 times
00:40:41fowlTakes my computer*
00:41:14ozrafowl: Yes, then I add it to the "init" of koch tests..
00:41:40ozraThe tests on the other hand.. takes quite a while on my machine. hence I want the two repos. Hence I need the local execution... :-/
00:42:20fowlYou want to add bootstrapping to test init? Or just one compile
00:45:23fowlozra: I don't see how bootstrapping helps you use the local version, just call the local version
00:46:08ozraJust making double sure compiler/nim is compiled before using it for the tests.
00:48:34*BitPuffin|osx joined #nim
00:48:51ozraso, kinda bootstrap, but ensuring the local libs are actually used also
00:58:27*boop is now known as boopisaway
01:17:48*gyeates joined #nim
01:19:33ozraAnyone here on windows?
01:24:32*gokr quit (Quit: Leaving.)
01:24:40toadestozra Me :p
01:25:07ozraHaha, got a Nim win install now?
01:26:13ozra(Needed to see if some paths work in win)
01:29:07toadestNo but Ican
01:31:52ozraCool. Does win nim shell (as I said, don't know how the win-side works) accept this?: "./compiler/nim c --lib:./lib --hints:on tests/testament/tester.nim"
01:32:32ozratoadest: ^
01:33:03toadestTesting
01:33:39toadestIt should just be nim, due to Path vars, no?
01:33:57toadestOr is this from the nim master directory
01:34:17ozraNo - that's the point - it should be in the nim git dir, and _not_ use path :)
01:34:29toadestOk
01:34:48toadestOn Windows (cmd) you have to use \\
01:35:04toadestSo that wont work
01:35:23ozraAh, suspected that. Just hoped the shell could handle it. ok. back to the drawing board ;-) Thanks for the help
01:37:26*InteractOSDev joined #nim
01:39:13*toadest quit (Ping timeout: 246 seconds)
01:40:57*drewsrem quit (Quit: Leaving)
01:45:58*gyeates quit (Ping timeout: 256 seconds)
01:47:26*InteractOSDev quit (Remote host closed the connection)
01:56:01*InteractOSDev joined #nim
01:56:20InteractOSDevOzra sorry
01:56:26InteractOSDevCan't do it right now
01:56:38InteractOSDevSister stole my laptop
02:03:31*InteractOSDev is now known as toadest
02:09:12*gsingh93 quit (Ping timeout: 276 seconds)
02:10:03toadestJust wrote my first nim program :D
02:15:25toadestWhat's up with nim and mips? I heard it didnt compile. Could I still use it in my os?
02:15:57toadestOr will the cross compiler throw an error due to nim? Up to me to find out?
02:18:20*vendethiel joined #nim
02:25:57*BitPuffin|osx quit (Ping timeout: 258 seconds)
02:27:04*InteractOSDev joined #nim
02:27:59*toadest quit (Remote host closed the connection)
02:28:15*InteractOSDev left #nim (#nim)
02:39:57*gsingh93 joined #nim
02:42:11*vendethiel quit (Ping timeout: 264 seconds)
02:44:55*darkf joined #nim
02:48:21*InteractOSDev joined #nim
02:49:07*toadest joined #nim
02:50:04*InteractOSDev quit (Remote host closed the connection)
02:50:18toadestHow do I specify a c compiler?
02:52:04toadest(To be used 24/7 or temporarily.... I'm willing to build nim from source)
02:52:54_44535463686f646ozra: it doesnt work for me with ./lib nor .\lib
02:54:22_44535463686f646because xxx/y/.lib/xx is not something supported
02:54:22_44535463686f646Error: cannot open 'c:\nim\.lib\system.nim'
02:54:22toadestOn windows \\ is needed
02:54:22_44535463686f646the problem is the . not the slashes
02:54:23toadest\ itself is an escape char
02:54:23_44535463686f646thats not the problem, i use mingw
02:54:23toadestOk
02:54:23_44535463686f646its the .lib
02:57:16*ozra quit (Ping timeout: 246 seconds)
02:59:12dhasenanAnyone have a protocol buffer wrapper or library handy?
02:59:15_44535463686f646toadest: do you even know windows?
02:59:24_44535463686f646im sorry but \ is not an escape caracter
02:59:52toadestYes
02:59:57toadestYes it is
03:00:14_44535463686f646^ is the cmd escape caracter
03:00:14toadestC++ stdout uses \ as an escape char
03:00:21toadestYes
03:00:24_44535463686f646can you do c:\
03:00:29_44535463686f646cd c:\
03:00:32_44535463686f646yes so its not.
03:00:35toadestDifferent programs may accept something else
03:00:45*Siecje left #nim (#nim)
03:00:54toadestBut at the root it uses \\
03:01:05toadestI'm not arguing....
03:02:42*BitR quit (Ping timeout: 246 seconds)
03:03:42*BitR joined #nim
03:03:51_44535463686f646ozra: .\compiler\nim c --lib:.\lib --hints:on tests\testament\tester.nim
03:04:01_44535463686f646this works in cmd
03:04:11_44535463686f646in mingw there is just no way to get it to work
03:04:21toadestAnyone have an ubuntu binary? I can't compile, vps kills it due to too much ram usage
03:11:35_44535463686f646toadest: the \\ your talking about is UNC path
03:11:35_44535463686f646nothing to do with escaping
03:11:35_44535463686f646https://msdn.microsoft.com/en-us/library/gg465305.aspx
03:11:36toadestNot arguing......
03:11:36toadestPlease stop retorting before I ignore you
03:11:36_44535463686f646you can ignore me, im just explain to you how it works
03:11:36toadestYou do know ozra left
03:11:37toadestRight?
03:11:37_44535463686f646you can leave too
03:11:37_44535463686f646its ok
03:11:37_44535463686f646i dont mind
03:11:37toadestI'm not going to and I don't need your permission
03:11:37toadestYou keep messaging him but he left
03:11:37toadestI was trying to inform you
03:11:37toadestI'm sorry. I'll stop trying to help
03:11:37_44535463686f646ok son
03:11:37_44535463686f646bbl
03:40:57*InteractOSDev joined #nim
03:41:19*toadest quit (Remote host closed the connection)
03:42:16*InteractOSDev is now known as toadest
03:55:44*yglukhov___ joined #nim
04:00:25*yglukhov___ quit (Ping timeout: 264 seconds)
04:13:09*kumul quit (Quit: Leaving)
04:15:52Varriount_44535463686f646: Do you need help?
04:19:50_44535463686f646Varriount: no i do not, ozra wanted something tested.
04:21:35toadest_numbers please don't ever call me son.
04:22:55_44535463686f646toadest: sorry for mixing your gender
04:23:18filwit_numbers, you need to be a bit more respectful of others, please
04:23:50filwiti don't think I've ever seen anyone banned before, but if it happens it will surely be due to insults like that
04:24:17toadestThanks filwit
04:39:05*toadest is now known as dtscodeJR
04:43:49*Varriount quit (Quit: Leaving)
04:44:29*Varriount joined #nim
04:44:53*Varriount quit (Client Quit)
04:45:14*Varriount joined #nim
05:01:27*fowl quit (Excess Flood)
05:02:05*notfowl joined #nim
05:06:44*toadest joined #nim
05:06:44*toadest quit (Changing host)
05:06:44*toadest joined #nim
05:07:43*dtscodeJR quit (Remote host closed the connection)
05:07:48*dtscode is now known as notdtscode
05:15:16*toadest quit (Remote host closed the connection)
05:15:24*toadest joined #nim
05:16:13*Jesin quit (Quit: Leaving)
05:17:06*dalarmmst joined #nim
05:20:10*gsingh93 quit (Ping timeout: 256 seconds)
05:21:11*datanoise quit (Ping timeout: 264 seconds)
05:27:49*toadest quit (Remote host closed the connection)
05:28:06*toadest joined #nim
05:28:06*toadest quit (Changing host)
05:28:06*toadest joined #nim
05:33:05*notdtscode is now known as charmander
05:33:27*toadest is now known as dtscodeJR
05:37:46*yglukhov___ joined #nim
05:38:59*yglukhov___ quit (Client Quit)
05:39:59*yglukhov___ joined #nim
05:48:42Guest2367is it possible to use testability 'tests' macro outside the compiler? https://github.com/Araq/Nim/blob/devel/compiler/testability.nim
05:50:34filwitGuest2367: you could always import that module directly, or recreate it
05:50:42*Guest2367 is now known as avsej
05:51:02*avsej quit (Changing host)
05:51:02*avsej joined #nim
05:52:03avsejok
06:01:01*toadest joined #nim
06:01:32*dtscodeJR quit (Ping timeout: 256 seconds)
06:04:58*yglukhov___ quit (Quit: Be back later ...)
06:05:41*skyfex joined #nim
06:17:29*datanoise joined #nim
06:26:51*_44535463686f646 left #nim (#nim)
06:32:40*toadest quit (Remote host closed the connection)
06:33:06*toadest joined #nim
06:33:06*toadest quit (Changing host)
06:33:06*toadest joined #nim
06:33:17*toadest is now known as dtscodeJR
06:39:52*sepisoad joined #nim
06:47:21avsejso if I'm dealing with byte arrays in network application, 'string' is the best choice?
06:47:50charmandersure
06:48:44notfowlstring for TCP, byte* for UDP
06:49:13filwitstrings are unicode in Nim
06:50:17filwiter.. what fowl said
06:50:59charmanderuhhh filwit ... fowls not in here
06:51:09filwithe's 'notfowl'
06:51:14charmanderwait
06:51:16charmanderwhat?
06:51:18charmanderno.
06:51:24charmanderthat doesn't make any sense
06:51:24*gokr joined #nim
06:51:30filwitlol, idk
06:51:52filwithe may not be, i just assumed that was him at the office or something
06:52:07*charmander is now known as notdtscode
06:52:18filwit^ see it's a fad
06:52:28notdtscodeI'm not dtscode
06:52:30*BlaXpirit joined #nim
06:52:36filwitwell shit, lol
06:52:51dtscodeJRI'm dtscodeJR
06:53:11notdtscodeMaybe he knows where dtscode is
06:53:39notfowlfowl is at the office (a tree outside a building with open wifi)
06:53:49notdtscodefowl went outside?
06:53:54notdtscodewho authorized that?
06:54:19avsejfilwit, does nim perform automagic like validation or normalization on strings or string literals? I'm going to construct a protocol packet, this is why I need just sequence of bytes
06:54:55filwitavsej: not that I'm aware of, but I'm not the best person to ask about Nim's string handling
06:57:01notdtscode:L I wish I had known about the posix module earlier
07:02:58*wb joined #nim
07:04:00notfowlavsej: I believe \L is CR LF on windows
07:04:11notfowlIn a string literal
07:04:39avsej\n is magic literal, afair. others go verbatim
07:05:40notfowlOther than those escaped chars no there's no interpolation
07:06:22notfowlInterpolation is a fun exercise to do with macros
07:06:57*datanoise quit (Quit: WeeChat 1.2)
07:07:16*datanoise joined #nim
07:07:44*datanoise quit (Client Quit)
07:08:31*toadest joined #nim
07:09:09*dtscodeJR quit (Remote host closed the connection)
07:19:36Varriountnotfowl: *gasp* It's you again! What have you done with fowl!
07:20:51notdtscodeidk what he did but its spreading
07:24:04*Demon_Fox quit (Quit: Leaving)
07:24:53*Ven joined #nim
07:26:47*yglukhov___ joined #nim
07:28:55toadestMay I please have help?
07:28:58toadesthttp://pastebin.com/BAwvJPx7
07:29:11toadestI'm not sure if my error is nim or ubuntu
07:29:18toadestThose files exist
07:32:37*avsej quit (Ping timeout: 258 seconds)
07:33:46Varriounttoadest: I'm on Windows, so I can't test this out, but it looks like 'mips-sde-elf-as' and friends can't be found.
07:34:07*Tennis quit (Ping timeout: 272 seconds)
07:34:11toadestYeah
07:34:36VarriountI don't see any actual error output associated with the Nim compiler.
07:35:02toadestOk
07:35:03toadestNvm
07:35:12toadestI didn't know if the -e was
07:35:14toadestThanks!
07:35:59Varriounttoadest: Well, there is no '-e' on the line invoking the Nim compiler.
07:36:11toadestThere's no -e anywhere
07:36:12Varriounttoadest: Have you tried running each command manually, in your terminal?
07:36:18toadestYes
07:37:21notfowlwhats the error from nim?
07:37:30Varriounttoadest: Wait, I was wrong.
07:37:40*OnO joined #nim
07:37:42Varriounttoadest: What is the '-ffreestanding' supposed to do?
07:37:59toadestMake it independent
07:38:17Varriounttoadest: Using 'nim c -d:release -ffreestanding test.nim' on a test file results in 'Error: invalid command line option: '-e''
07:38:28Varriounttoadest: Is that documented anywhere?
07:38:39notfowltoadest, you want to pass that to c compiler, --passc:".."
07:38:51toadestOk
07:38:53toadestThanks
07:41:25toadestI'll try a different tool chain
07:41:39Varriounttoadest: Huh?
07:42:16notfowltoadest, you cant just leave us hanging like that
07:42:26Varriount:<
07:42:39toadestOne sec
07:42:41toadestDownloading
07:43:14notfowltoadest, hey add --parallelbuild:1 so you can see any errors that come up
07:43:24toadestOk
07:44:23*xificurC joined #nim
07:46:01toadestCrap
07:46:11toadestDownloaded the os instead of the tool chain
07:46:16*toadest is hopeless
07:46:20*dbohdan left #nim (#nim)
07:47:34toadestOne sec
07:47:41toadestChanging paths
07:48:19*coffeepot joined #nim
07:49:12toadestBuilding
07:50:36toadestError cannot open panic override .nim
07:51:13toadestHow can I set it to ignore default lib?
07:51:27notfowlyou have to provide one https://www.google.com/search?q=panicoverride.nim
07:51:56toadestThanks
07:51:59toadestJust saw that
07:52:34notfowlits mentioned here too http://nim-lang.org/docs/nimc.html#nim-for-embedded-systems
07:52:38toadestNot fowl thanks for helping
07:52:46toadestThat's where I saw it
07:57:16toadestArguments can only be given with -r
07:57:39toadestI removed nolinking
07:57:41VarriountHm?
07:57:45toadestSame error
07:57:52toadest(--run)
07:58:21Varriounttoadest: Options need to be given before the source file, not after.
07:58:34Varriountnim <options> <source file>
07:58:37toadestDid that
07:58:49VarriountCan you past eyou compile invokation?
08:00:00toadestPastebin.com/NgHvr2ju
08:00:46Varriounttoadest: Uh, why the '../source/*.nim'?
08:00:58VarriountThat will expand to every .nim file in the directory.
08:01:04toadestYeah
08:01:09toadestI have 2
08:01:15toadestPanic override and main
08:01:25*Trustable joined #nim
08:01:35notfowljust pass main
08:01:36toadestI need panic override there
08:01:42toadestOk
08:02:09notfowlif it complains about not finding panicoverride add --path:"../source"
08:02:56Varriounttoadest: Just for future reference, you can't pass more than one compilation file to the compiler at a time. It's not really needed.
08:04:45toadestOk
08:06:46toadestNim compiled!
08:06:57toadestBut what do I do with the c files in the cache?
08:07:23Varriounttoadest: Nothing normally. The Nim compiler will invoke the C compiler for you.
08:07:33toadestThere's no nim output
08:07:52toadestI have an asm output and 3 c files
08:07:55VarriountThat's because you're passing --compile-only
08:08:03toadestAsm output is a bin
08:08:34VarriountYou need an executable file, right?
08:09:44VarriountRemove the --compile-only and the Nim compiler will invoke the C compiler for you, and compile the target file (and it's dependancies) into an executable.
08:10:47toadestDid that
08:11:03toadestGcc not found
08:11:13toadestI specified in nim mipsel-gcc
08:11:29VarriountWhere did you specify it?
08:12:05toadestI think it was trying to link
08:12:10toadestOne second
08:16:17toadestGuys
08:16:31toadestOne more error
08:16:50toadestAfter that, we'll have compiled nim for mips for the first time
08:17:02toadestIt's a linker seg fault
08:17:35Varriounttoadest: What commands would you normally use to compile a C file for MIPS?
08:19:26toadestSame as here
08:19:46VarriountAnd what linker commands?
08:20:06toadestExact same linker
08:20:16toadestThe only thing different here is there is no c
08:20:19toadestI'm using nim
08:20:33toadestBut im passing the same flags
08:21:04VarriountSo, when compiling/linking a C file for mips, you don't use any extra options other than -ffreestanding?
08:21:42*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:21:49toadestNo
08:22:14*jh32 quit (Remote host closed the connection)
08:22:20VarriountHm.
08:24:48Varriounttoadest: Unfortunately, this is a bit outside my experience. The other channel regulars should be on soon (araq, dom96, gokr, Jehan, etc)
08:25:32toadestOk
08:26:46gokrsorry no idea
08:27:24toadestIt's an error of pic vs non pic
08:27:45toadest--passc wouldn't make it pic
08:27:51toadest"Unrecognized"
08:28:09Varriount--passc:"-fpic" ?
08:28:50VarriountI mean, you could manually compile the C files. It shouldn't take any special magic...
08:30:14toadestTrying
08:30:33toadestI couldn't manually compile the c
08:33:03VarriountWhat error did you get?
08:33:57toadestA bunch
08:34:42toadestWell still not working
08:35:19toadestLinker seg fault
08:35:28toadestIs using nim worth that much.....
08:36:47toadestI don't think it is
08:36:51toadestTo much trouble
08:37:46Varriounttoadest: Well, it would help if you gave us more information. But if you fell that way... *shrug*
08:37:50Varriount*feel
08:41:29Varriounttoadest: Have you been able to successfully compile a regular C program to MIPS before?
08:43:54*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
08:46:02toadestYes
08:47:34VarriountDarn, I have to go. See you later toadest
08:47:43toadestBye
08:47:47toadestThanks for helping
08:50:10*Ven joined #nim
08:54:04*sepisoad_ joined #nim
08:55:25*sepisoad__ joined #nim
08:56:49*sepisoad quit (Ping timeout: 264 seconds)
08:58:52*sepisoad_ quit (Ping timeout: 258 seconds)
09:02:47*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:11:14*toadest left #nim ("See")
09:25:34*filwit quit (Quit: Leaving)
09:34:28*milosn quit (Quit: leaving)
09:50:17*askatasuna joined #nim
09:59:09*boopisaway is now known as boop
10:04:24*toadest joined #nim
10:04:29*toadest left #nim (#nim)
10:08:31*Ven joined #nim
10:28:19*dddddd joined #nim
10:29:57*JinShil joined #nim
10:30:35*ozra joined #nim
10:46:00*sepisoad__ quit (Ping timeout: 256 seconds)
10:59:37*Tennis joined #nim
11:01:58*toadest joined #nim
11:03:50*ingsoc joined #nim
11:04:55ozratoadest: Morning (or what you've get where you live). How did things go?
11:15:32*Kingsquee quit (Quit: Konversation terminated!)
11:16:52dom96Not sure if spammer or real user http://forum.nim-lang.org/t/1238
11:18:22pigmejdom96: my vote goes for spammer
11:18:30dom96yeah
11:19:06pigmejstill better to read something about RPM than viagra though :)
11:19:31pigmejspammer version 2.0
11:22:57*askatasuna quit (Ping timeout: 240 seconds)
11:27:14ozradom96: pigmej: Wot?
11:27:53dom96ozra: I removed it
11:28:03ozraThe post?
11:28:15ozraAha. Before I saw it...
11:29:05ozradom96: How does the dev cycle for Nim look like. Regarding PR's and merges to main devel branch?
11:30:17dom96We review it when we have time and if it's acceptable we merge it.
11:30:44ozradom96: Is there some common time frame, or varies a lot?
11:30:54dom96varies
11:31:16ozrabetween thumb and index? days, weeks, months? :-P
11:31:53gokrOk, so published my .. feeble language hacking attempt: https://github.com/gokr/ni
11:32:18ozraMonty attacks again, haha
11:32:34gokrWrote about it on the ml - since its so low traffic, had to give it some :)
11:32:37*avsej joined #nim
11:33:01*avsej is now known as Guest76997
11:33:19ozraNi, Ni, Ni!
11:33:43gokrThe version 2 will have a much longer name ;)
11:33:50*Guest76997 is now known as avsej_
11:34:10*avsej_ quit (Changing host)
11:34:10*avsej_ joined #nim
11:35:48avsej_dom96, what is correct way to setup timeouts while working with futures. I have a function which returns future. and I want call 'waitFor' but with some timeout
11:36:34ozragokr: Renim?
11:36:42dom96avsej_: You should use sleepAsync. waitFor func() or sleepAsync(1000)
11:37:03dom96But then you should really save your futures from `func` and `sleepAsync` so you know which completed.
11:37:09*TEttinger quit (Ping timeout: 256 seconds)
11:37:30dom96to determine whether your function did or the timeout was reached.
11:37:53dom96Btw, are you sure waitFor is what you want?
11:37:56gokrozra: For v2? I was more thinking... https://www.youtube.com/watch?v=zJBzJF_-cBA
11:37:59dom96it will block your thread
11:38:32dom96gokr: haha
11:38:34ozradom96: Any idea about this? (test output): {"name":"stdlib/C/tmitems.nim",[...snip...],"result":"reOutputsDiffer","expected":"","given":""},
11:39:02ozragokr: Hahaha, that was my second guess!
11:39:31dom96ozra: not sure, stdout vs. stderr perhaps
11:39:51ozraRight. I'll run in isolation. There's a bunch like that..
11:40:22dom96gokr: Here is my little language that I wrote a long time ago if you want to compare :) https://github.com/dom96/nael
11:41:54gokrHa, that's funny - so similar code.
11:42:30ozracoding twin sould
11:42:31avsej_dom96, i'm not sure. I just want to set timeouts for network operations
11:42:34BlaXpiritdo these languages compile to nim or what
11:42:50gokrNo, both parse to AST and then interpret the AST
11:43:11dom96avsej_: can I see your code?
11:43:23gokrBut an idea is to be able to partly compile functions to Nim when they are "settled" so to speak.
11:43:50gokrdom96: Is factor hard to parse? Your lexer seems fairly complicated.
11:44:06gokrOr well, perhaps not.
11:44:15avsej_dom96, https://gist.github.com/avsej/37b9c85391cdca576835
11:44:28dom96gokr: not really. My language misses a lot of Factor's features IIRC.
11:44:41dom96Factor is likely harder to parse.
11:44:59gokrNael seems pretty advanced, you put in a lot of work there
11:45:03gokrAbandoned?
11:45:54dom96pretty much
11:46:10gokrAh, you implemented prims using manual stack ops, mm.
11:46:24dom96It was too esoteric to be practical :)
11:46:35dom96avsej_: Have you seen Nim's support for async await?
11:46:52gokrMy prims are just "normal" procs operating on varargs[Node] returning a ... you guessed it - Node.
11:46:58avsej_not really. does it support timeouts?
11:48:50avsej_what await does? it waits for future result or yields control?
11:49:43dom96avsej_: https://gist.github.com/dom96/47274a04e794c72c7966
11:49:57dom96that should work
11:50:03dom96(haven't tested it)
11:50:44avsej_thanks, i will check
11:51:16dom96gokr: Yeah, everything is based around the stack in nael. I did actually get quite far, got modules, functions and variables.
11:51:27gokrYes, I have skimmed it
11:51:31dom96I remember that I implemented variables a bit differently than Factor.
11:51:39dom96because I didn't like the way Factor did it
11:51:50gokrI will look closer to see if there is stuff I can steal
11:52:00dom96IIRC it's that you can push a reference to a variable on the stack
11:52:12dom96in order to get the value you must call 'get'
11:52:26gokrright, a binding
11:52:45dom96In Factor it gets the value of the variable immediately
11:52:56gokrOk, so it always looks things up?
11:53:14dom96yeah, from what I can remember.
11:53:32gokrNi is ... trivial to parse but IMHO easier to read than Forth/Factor code.
11:53:37dom96ooh. Github's Nim syntax highlighter highlights discard """...""" as a comment.
11:54:44dom96gokr: yeah. In order to read Forth/Factor code you kind of have to keep a stack in your head at all times.
11:54:47gokrAnyway, Ni is not at a usable state - its rather at a ... hey-look-at-this-silly-code-dump-state.
11:54:58gokrdom96: Yup.
11:55:16gokrSo basically, I like both Lisp and Forth *in theory* but I can't stand reading it.
11:55:17dom96Which makes writing code in it rather challenging :)
11:55:26avsej_my type has enum field. is there way to assign default value to it?
11:55:37gokrLisp is just ())()((() - too little structure. And Forth ... well, yeah.
11:55:40*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:55:57gokrNi (Rebol that is) hits a nice sweet spot I think, and still being homoiconic.
11:56:45dom96avsej_: not in the type, only in a proc.
11:57:58dom96huh rebol's function definition syntax looks strangely similar to Nim's
11:58:39gokrI haven't decided yet how much of that part I am going to steal.
12:00:06*Siecje joined #nim
12:00:41*JinShil quit (Quit: Konversation terminated!)
12:07:21*Siecje left #nim (#nim)
12:11:11avsej_dom96, with such external timeout 'open' future will be in some undefined behaviour and the 'open()' proc cannot handle timeout. right?
12:11:45dom96avsej_: what do you mean?
12:13:21avsej_for example it takes 5 seconds to connect to remote host, I set sleepAsync(4000). when waitFor returns control, open future still have chance to connect.
12:14:38avsej_ideally it would be nice if open() could fail the future after some specified timeout
12:14:54avsej_so that socket error and timeouts could be handled in one place
12:16:05VarriountArrgh. I just ran 'cl /P' on windows.h (/P dumps preprocessor output)
12:20:07ozraYo Varriount: I PR'ed a "compile" of syntax to XML, which fixes the call-syntax. Also added more specific classes to some parts of syntax (to be able to make 'public' asterisk and 'of' and values of 'of' in different colors.. (standard color schemes look the same, it's just possible to highlight more specifically at will)
12:22:22Varriountozra: Just the XML? I'd prefer both the XML and YAML
12:22:46ozraAh, ofcourse the YAML is there :-) I just forgot to "compile" the last time.. XML sucks, haha
12:23:29avsej_"When a procedure is "awaited", the asynchronous procedure it is awaited in will suspend its execution until the awaited procedure's Future completes" dom96 I'd like to tell await to wake up the function on some timer
12:23:45Varriountozra: Funny thing, the AAAPackageDev plugin doesn't actually use a strict "YAML" parser. It's more of a "good enough YAML" parser
12:24:30dom96avsej_: You can again do that with sleepAsync.
12:24:31ozraVarriount: well... good wnough for me then ;-) Have noticed some quirks regarding RE's though, but their easily fixable buy adding parens, might be part of that 'good enough'?
12:24:52dom96avsej_: Are you saying that you're worried about the open() function still running?
12:24:55avsej_can I await on group of futures?
12:25:01avsej_http://stackoverflow.com/a/11191070/98509
12:25:01Varriountozra: Probably. You could bring it up with the maker of the AAAPackageDev plugin
12:25:09dom96avsej_: yes, with 'or' or 'and'.
12:25:47*OnO joined #nim
12:26:14ozraVarriount: I was actually thinking of breaking up the parser to classify each keyword etc. as now + 'kw-theword' later on - that way it all looks the same, but the user has the power to highlight even specific keywords differently. Like perhaps you want break, continue and return to screeeeam of pink, etc. Any objections?
12:26:17dom96avsej_: You cannot cancel open() once it has begun execution.
12:26:43avsej_https://gist.github.com/avsej/7617e390d49f82c9683c#file-connection-nim-L39 this does not work
12:27:09*kokozedman joined #nim
12:28:30kokozedmandom96, what's the stability and security toughness of jester? I'm planning to put a kind of mini HTTP server in a router with an app that I built using Nim for OpenWrt
12:31:33avsej_dom96, i still cannot understand how I can compose futures for await
12:32:06dom96avsej_: that should work, looks like a bug :(
12:32:29avsej_okay. I'm using devel branch, so it probably my fault
12:32:35avsej_i will check on stable
12:32:38avsej_thanks
12:33:01dom96avsej_: Can you report it on github?
12:33:28avsej_yes, but first I want to see how it works
12:33:31dom96kokozedman: It still has some stability issues. If you don't mind restarting the Jester app every so often it works fine though.
12:34:36kokozedmandom96, :-) I see, not exactly a good thing because it's kind of streaming info to the clients... might there be things that I can help with?
12:35:23dom96kokozedman: Test it, run it, log the crashes, see if you can find out the cause :)
12:35:33kokozedmanI mean, I'm already on the way to have that webserver any how, might as well fix what's broken to help everyone along the way (suppose I can attain the level of technicalities involved)
12:36:05kokozedmandom96, oh, so it actually crashes? that's a good thing... the worst bugs for me is those that don't cause a crash
12:36:12Varriountozra: No objections at all.
12:36:24dom96kokozedman: Yeah. The forum seems to be running solidly.
12:36:32ozraCool.
12:36:51dom96kokozedman: It crashes after running for a couple of days though.
12:37:00dom96No silent bugs though as far as I can see.
12:37:14kokozedmandom96, vaguely, do you think it might be related to the still experimental async?
12:37:38dom96yeah. I think there may be some GC issues, or code gen issues with the first class iterators.
12:37:52dom96Which async makes heavy use of.
12:38:04dom96But it's just as likely that my wrapping of epoll is simply wrong heh
12:38:45dom96I need to finally look at the logs that nimforum produces and see about diagnosing these bugs.
12:46:15kokozedmandom96, async does epoll wrapping?
12:46:23dom96yes
12:46:24Varriount(Not to mention update the VPS)
12:47:52kokozedmandom96, oh, I see... so, that implies that you are the one who created the async part, yes?
12:49:42kokozedmandom96, I'm a bit thoughtful though... In the past (not sure how long ago)... Jester was way below most native web frameworks in terms of performance
12:49:55kokozedmanmight indicate something isn't quite there yet
12:53:28*Trustable_2 joined #nim
12:53:32*synthmeat quit (Quit: WeeChat 1.3-dev)
12:54:52*Trustable quit (Ping timeout: 244 seconds)
12:55:39kokozedmandom96, also, with that said, jester is only compatible with Linux then?! because Linux is the only one with epoll
12:56:48*synthmeat joined #nim
12:58:56*Pisuke joined #nim
13:00:34dom96kokozedman: it supports IOCP on windows
13:00:41dom96also, performance should be better now
13:00:47dom96but again, something we can still improve
13:00:52*MyMind quit (Ping timeout: 255 seconds)
13:02:09*johnsoft quit (Ping timeout: 256 seconds)
13:02:37*johnsoft joined #nim
13:04:00*skyfex quit (Quit: (null))
13:04:33*skyfex joined #nim
13:09:22*skyfex quit (Ping timeout: 256 seconds)
13:10:31Varriountdom96: Have you seen the new registered IO APIs for Windows 8?
13:16:13avsej_dom96 0.11.2 also does not work. fails with ne same issue
13:22:16kokozedmandom96, "should be better now"?, which part, the async or the selectors?
13:27:27*avsej joined #nim
13:27:50*avsej is now known as Guest73470
13:29:07dom96kokozedman: Jester's performance
13:29:10dom96Varriount: nope
13:29:16dom96Guest73470: please report it on github
13:29:40*avsej_ quit (Quit: avsej_)
13:32:43Guest73470dom96, https://github.com/Araq/Nim/issues/2864
13:32:57*Guest73470 is now known as avsej_
13:33:06*avsej_ quit (Changing host)
13:33:06*avsej_ joined #nim
13:33:24dom96Guest95994: thanks
13:33:32dom96er avsej_
13:33:36dom96sorry Guest95994
13:33:38dom96bbl
13:38:04*BlaXpirit_ joined #nim
13:38:05*BlaXpirit quit (Killed (orwell.freenode.net (Nickname regained by services)))
13:38:05*BlaXpirit_ is now known as BlaXpirit
13:38:09*johnsoft quit (Ping timeout: 245 seconds)
13:38:29*johnsoft joined #nim
13:41:36*goldhammer joined #nim
13:43:44*goldhammer quit (Client Quit)
13:47:37*toadest left #nim ("See")
13:50:49*johnsoft quit (Ping timeout: 255 seconds)
13:51:58*dtscodeJR joined #nim
13:52:02*dtscodeJR is now known as toadytoad
13:52:08*toadytoad left #nim (#nim)
13:52:59*askatasuna joined #nim
13:59:17*synthmeat quit (Quit: WeeChat 1.3-dev)
14:00:42*johnsoft joined #nim
14:03:42*vikaton joined #nim
14:08:51*milosn joined #nim
14:13:10*UberLambda joined #nim
14:18:48*pregressive joined #nim
14:19:41*Arrrr joined #nim
14:22:30*synthmeat joined #nim
14:22:39*banister quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:24:02*dt___ joined #nim
14:24:10*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
14:24:22dt___hello
14:25:47def-hi dt___
14:25:52dt___how do I get the typedesc of a variable? (e.g. like __class__ attribute in Python)
14:25:59ozraAnyone know how to prevent styledEcho from producing a newline?
14:26:32def-dt___: import typetraits; echo 12.type.name
14:26:35def-dt___: something like this?
14:26:42*shiyaz joined #nim
14:27:45def-ozra: looking at the implementation, i doN't see a way to not add the \n: https://github.com/Araq/Nim/blob/master/lib/pure/terminal.nim#L356
14:27:57dt___thanks!
14:28:03def-ozra: you could implement your own alternative I guess
14:28:18ozradef-: Ok, thanks
14:34:04*askatasuna quit (Ping timeout: 244 seconds)
14:35:23*vendethiel joined #nim
14:52:33*xificurC quit (Ping timeout: 240 seconds)
14:57:06*brson joined #nim
14:58:05*vendethiel quit (Ping timeout: 272 seconds)
15:04:54*gsingh93 joined #nim
15:05:38avsej_dom96, how this 'await foo() or bar()' evaluated? like 'await(foo() or bar())'?
15:05:49dom96yes
15:12:27*yglukhov___ quit (Ping timeout: 276 seconds)
15:20:55avsej_dom96, what does these lines mean? https://github.com/Araq/Nim/blob/devel/lib/pure/asyncdispatch.nim#L1360-L1366
15:22:03dom96The try transformation is a bit complex at the minute. I have attempted to simplify it but hit a compiler bug.
15:22:04avsej_processed after line 1363 is
15:22:04avsej_nnkYieldStmt
15:22:04avsej_yield conn.sock.connect(conn.address, Port(conn.port)) or sleepAsync(timeout)
15:22:21dom96It's in this branch: https://github.com/Araq/Nim/tree/async-try-fixes
15:22:23avsej_this is not what the code expects
15:23:18dom96Easiest way is to work around this bug by not using the try statement
15:23:59avsej_how it can handle errors with await then?
15:24:01dom96you can still check for exceptions by looking at whether the future failed.
15:24:32avsej_so construction, should be `var fut = await foo() or bar()`?
15:24:38avsej_and then check on fut
15:24:38dom96let connectFut = connect()
15:24:41dom96await connectFut
15:24:44dom96if connectFut.failed: ...
15:24:46dom96should work
15:24:52avsej_okay
15:26:36*gokr quit (Quit: Leaving.)
15:29:30*vendethiel joined #nim
15:29:59*dt___ quit (Quit: Page closed)
15:32:57avsej_dom96, so 'await a() or b()', means continue if either 'a()' or 'b()' completed?
15:33:22dom96yes
15:36:27ozradom96: I'm going over the tester fixing some more bugs. Stumbled upon a test that could easily be fixed too: "tmitems". Expected is: `{"key1": 11, "key2": 12, "key3": 13}`, gotten is: `{"key1":11,"key2":12,"key3":13}` - should the to-str be fixed, or should I adjust the test-case expectation?
15:36:43ozraIf you have any idea?
15:37:07def-ozra: that changed again recently
15:37:16def-ozra: in the PR to improve json performance, but not sure why
15:37:47ozradef-: ok, arrays still have space after ',', but objs are non spaced after ':' atm... So adjust test-case?
15:37:58dom96just add replace(" ", "") to the output and change the expected.
15:38:09dom96but actually
15:38:14dom96I would adjust the json module
15:38:18def-ozra: personally I preferred the old json printing
15:38:31dom96This is just bad style.
15:38:44dom96although you could argue that it saves a couple of bytes
15:38:46ozradef-: dom96: is it possible to do "nice-json" and "compact-json" ?
15:38:56dom96it's possible to do pretty json
15:39:11dom96and "ugly" json
15:39:15dom96which $ uses
15:39:16ozradom96: Yeah, well I think it should be ugly-compact, for nice view, se pretty..
15:39:26ozra*use*
15:39:47avsej_dom96, does this look sane? https://gist.github.com/941df9b545618f966431
15:40:12ozraI'll simply adjust the test-case to match for now.. one thing at the time.
15:41:33dom96avsej_: yep
15:41:39*synthmeat quit (Changing host)
15:41:39*synthmeat joined #nim
15:42:07*InteractOSDev joined #nim
15:42:32*InteractOSDev is now known as dtscodeJR
15:43:47*gsingh93 quit (Ping timeout: 265 seconds)
15:50:13*wb quit (Ping timeout: 264 seconds)
15:51:14*wb joined #nim
16:00:06avsej_dom96, is it okay to use 'await' to name procs? http://nim-lang.org/docs/threadpool.html#await,FlowVarBase
16:00:30dom96huh? You mean to have 'await' in the name of a proc?
16:02:24*gokr joined #nim
16:03:16*dtscodeJR left #nim ("See")
16:11:17*nande joined #nim
16:13:52*ozra quit (Ping timeout: 246 seconds)
16:19:16avsej_yes
16:19:41avsej_how compiler will make difference?
16:19:52*gsingh93 joined #nim
16:20:43*ChrisMAN quit (Remote host closed the connection)
16:21:53*ChrisMAN joined #nim
16:22:41*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:27:21*OnO joined #nim
16:28:29*dtscodeJR joined #nim
16:28:58dom96avsej_: Probably not a good idea to name your proc 'await'
16:31:41dtscodeJRDom96 sorry...
16:31:56dtscodeJRNon pic code vs pic code
16:32:09dom96dtscodeJR: you can PM me if it's not Nim related, or something that you want to keep private.
16:32:25dtscodeJROk
16:32:28dom96It might be easier if you just start with my nimkernel
16:32:32dtscodeJRYeah
16:32:33dom96it's built to be a starting point
16:32:45dtscodeJRMhm
16:35:06*jaco60 joined #nim
16:37:11*dtscodeJR quit (Quit: See my work at lukethetechman.wordpress.com)
16:39:03*yglukhov___ joined #nim
16:44:12*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)
16:49:22*Varriount_ joined #nim
16:50:20*darkf quit (Quit: Leaving)
16:52:19*Varriount quit (Ping timeout: 245 seconds)
16:52:35UberLambdaHello again... any idea why this is overflowing the stack? http://pastebin.com/C5cjKwLt
16:52:52UberLambdaIt seems like it keeps adding parenthesis to an empty string...
16:55:24UberLambda*separators
16:58:39Arrrrresult = join(argsWithSeps)
16:59:05Arrrrif im not wrong, you got an infinite recursive proc
16:59:24UberLambdaArrr: oh, why? isn't argsWithSeps a simple array?
16:59:45ArrrrYes, and i suppose it matches your join signature
17:00:03UberLambdaBut how is it infinitely recursive then?
17:00:09Arrrrusually varargs is just a plain array
17:01:03*gokr quit (Quit: Leaving.)
17:01:11Arrrruse your second join with the full name (module.proc)
17:01:24Arrrri suppose it is strutils.join maybe ?
17:02:27*yglukhov___ quit (Quit: Be back later ...)
17:04:36UberLambdaArrrr: oh, I wanted to use the strutils one but I imported the sequtils one??
17:04:42UberLambdaArrrr: it seems like so
17:04:59UberLambdaArrrr: also, yeah, I'm calling the proc myself. I'm an idiot...
17:05:30UberLambdaI'll qualify all system procs from now on
17:05:51ArrrrWhat i mean is (i suppose) your join accepts both join "path", "to", "somewhere" and join ["path", "to", "somewhere"]
17:06:12Arrrrthat's why is recursive
17:06:41*InteractOSDev joined #nim
17:06:59UberLambdaArrrr: yeah, it seems like that was the culprit. Thanks for the help!
17:07:05*InteractOSDev left #nim (#nim)
17:28:35*vikaton quit ()
17:31:12*shiyaz quit (Ping timeout: 272 seconds)
17:31:44*shiyaz joined #nim
17:43:50*skyfex joined #nim
17:44:50*filcuc joined #nim
17:45:57avsej_how I could check type of object with hierarchy?
17:46:09avsej_like instanceof in other languages
17:47:06*yglukhov___ joined #nim
17:49:01Arrrri believe it is: variable is type
17:52:10Arrrrhttp://pastebin.com/TCZT6eE8
17:52:21*gsingh93 quit (Ping timeout: 276 seconds)
17:54:36*nande quit (Remote host closed the connection)
17:55:03*vendethiel quit (Ping timeout: 244 seconds)
17:56:35*vendethiel joined #nim
18:08:17avsej_ok, thanks
18:11:04*kumul joined #nim
18:18:56*vikaton joined #nim
18:19:37vikatonIs there a better way of saving each keystroke here? https://github.com/Vikaton/nim-keylogger/blob/master/src/main.nim
18:20:14vikatonthat method right there isnt very memory efficient
18:20:32avsej_https://github.com/Araq/Nim/search?utf8=%E2%9C%93&q=TimeoutError there are two TimeoutError in the stdlib, may I consider them as the same type? dom96?
18:21:23avsej_I wan't to rise such error in my code, and would like the clients catch it when they deal with network timeouts
18:21:34Arrrrsince every keystroke is an int, create a big array and store everything there.
18:22:00Arrrrlike "array[pos] = i; inc pos"
18:23:40avsej_Araq, could you answer regarding TimeoutError?
18:27:40*Arrrr quit (Quit: WeeChat 1.2)
18:28:40*Arrrr joined #nim
18:31:34*xificurC joined #nim
18:35:40*Arrrr quit (Quit: WeeChat 1.2)
18:36:00*Arrrr joined #nim
18:36:28reactormonkavsej_, nope, they're different. Should be the same imo.
18:36:46reactormonkone is net.timeoutError, one is sockets.TimeoutError
18:36:54avsej_yes, this is what I though
18:37:21avsej_and mine also would be in the separate namespace, although serve the same role
18:38:08avsej_reactormonk, does it look sane if library, built on asyncnet will import net just for using this exception type?
18:38:15avsej_or better define my own?
18:40:08reactormonkavsej_, might be reasonable to import it.
18:40:19avsej_okay. thanks
18:40:26reactormonkor you could move TimeoutError to something up the import chain
18:41:13reactormonkavsej_, just move TimeoutError to os.nim and make sure to export it
18:41:18dom96avsej_: sockets module is deprecated
18:41:39dom96so don't worry about what's in it
18:41:43dom96just import net if you have to
18:41:49reactormonkok
18:42:03avsej_okay. this is what I will do
18:48:41*Jehan` joined #nim
18:53:30avsej_dom96, how I should properly work with result in this proc: https://gist.github.com/avsej/9d4e4a1f7fac4b7c4d99. in one branch I want to fail the future, but it seems like because of async pragma, it does it magically
18:54:29avsej_raise like in line 8 does not work either, macro does not pack it into future automatically
18:54:55avsej_line 11 gives this error
18:54:55avsej_connection.nim(53, 11) Error: type mismatch: got (OperationResult, typedesc[TimeoutError])
18:54:56avsej_but expected one of:
18:54:56avsej_asyncdispatch.fail(future: Future[fail.T], error: ref Exception)
18:55:33dom96in async procs, result is of type T in Future[T]
18:55:44avsej_that's make sense
18:55:55avsej_how async procs deal with errors?
18:56:25avsej_I wan't to fill 'future.error' property for caller
19:02:10dom96use raise
19:03:55avsej_but raise propagates the exception outside
19:04:07avsej_and does not fill error field
19:04:43vikatonI dont think strongSpaces is a good idea imo
19:04:58vikatonto make it default anyway
19:05:40avsej_dom96, is it possible to make async procs to put exceptions into error field of future?
19:06:29*fizzbooze joined #nim
19:09:48reactormonkdom96, make Future a coproduct ;-)
19:10:06reactormonkehh wait. a cosum.
19:16:13dom96avsej_: it does fill the error field
19:17:45*toadest joined #nim
19:19:17UberLambdaHow can I return a variant from a proc? when setting `result = MyVariant(kind: something, otherfield: data)` in a `proc myProc(): MyVariant = `, the compiler tells me `()` must have an object or tuple type
19:20:35BlaXpiritUberLambda, doint something wrong :|
19:20:37BlaXpiritg
19:20:39BlaXpiritpost code
19:20:48UberLambdaBlaXpirit: kk
19:20:50*toadest left #nim (#nim)
19:21:02*jubalh joined #nim
19:22:56avsej_dom96, no, it does not. or I'm doing something wrong
19:22:57avsej_https://gist.github.com/avsej/8b93b74ab7f5407dbee3
19:23:08avsej_this is executable sample, without dependencies
19:23:08UberLambdahttps://gist.github.com/UberLambda/2b36fefd48e298b81568
19:23:15UberLambda@BlaXpirit
19:23:21*kumul quit (Ping timeout: 240 seconds)
19:23:42BlaXpiritUberLambda, uhh it works?
19:23:50avsej_and btw how to determine type of exception?
19:23:52UberLambdaBlaXpirit: not on my machine...
19:24:02UberLambdamaybe it's the doc comments' fault
19:24:06UberLambdaI have some inlined in the code
19:24:49UberLambdaSeriously, one time the compiler was screwed by a doc comment and I have no idea why
19:25:16Arrrrwhat's the error
19:26:08UberLambdaArrrr: Error: () must have an object or tuple type
19:26:19avsej_how to determine exception type in this simple example: https://gist.github.com/avsej/609f5dde654d911fd67f
19:26:31Arrrrwhich line
19:26:44UberLambdaArrrr: the line where I instantiate the MyVariant
19:26:53UberLambdae.g. 17
19:27:02UberLambdathe error is on kind
19:27:16avsej_dom96, did you take a look at my example with raising exceptions from async proc?
19:27:24Arrrruse new
19:27:30Arrrror not
19:27:35UberLambdaArrrr: new?
19:27:42Arrrrno, is not necessary. My mistake
19:28:23dom96avsej_: what is the problem?
19:28:34dom96you're catching the error in the end
19:28:38dom96the stack traces are just debugging info
19:28:49ArrrrUberLambda: , try removing that white line between the proc definition and the result line
19:28:57Arrrrand add a new one after the result
19:29:13UberLambdaArrrr: ok
19:29:58UberLambdaArrrr: no change. I also tried removing most doc comments I had in the code
19:30:19ArrrrWell, let me try
19:30:27UberLambdabecause the compiler seems to treat them as a token of sorts? I once got an error due to that
19:30:45avsej_dom96, it is saying "Unhandled exception:"
19:30:55avsej_but you say it is catched
19:31:16dom96avsej_: yeah, it's a bit incorrect.
19:31:22ArrrrIt compiles without a problem in my computer UberLambda, which compiler version do you have
19:31:28dom96it just calls echoStackTrace or whatever the proc is called
19:31:45UberLambdaArrrr: Nim Compiler Version 0.11.2 (2015-05-05) [Linux: amd64]
19:31:48dom96it doesn't crash your program though
19:31:54Arrrrmmm, i do have 11.3
19:32:37avsej_dom96, but test unit says [FAILED]
19:32:37UberLambdaI added the "real" code to the Gist BTW
19:33:03UberLambdamost of it is still to do
19:34:30Arrrri tried to compile it, but i dont have the definition of texture. Try git pull from devel UberLambda.
19:34:35ArrrrNow i have to dinner, good luck
19:35:04UberLambdaArrrr: thanks, texture was simply another variant... really similiar to the Font one
19:35:04avsej_dom96, even like this: https://gist.github.com/39f987ea5980766dcf3f
19:35:15avsej_there no SUCCESS1 or SUCCESS2 in the output
19:35:34UberLambdaArrrr: enjoy your meal
19:35:43*Arrrr quit (Quit: WeeChat 1.2)
19:38:44*vikaton quit ()
19:39:06dom96avsej_: oh, that's because waitFor calls 'read' on the future.
19:40:49*filwit joined #nim
19:41:04dom96avsej_: https://github.com/Araq/Nim/blob/master/lib/pure/asyncdispatch.nim#L1542
19:41:29dom96avsej_: You can write your own waitFor which doesn't read the future if you want.
19:43:04*elbow_jason joined #nim
19:43:05avsej_thanks. I think poll() plus assert fut.finished will be enough for me, as far as I expect it to complete quicly
19:44:52avsej_dom96, what about other question: https://gist.github.com/avsej/609f5dde654d911fd67f how can i determine what type does 'e' have
19:46:07dom96Not sure if you can, this might be the way to do it: http://nim-lang.org/docs/typeinfo.html
19:47:30*datanoise joined #nim
19:49:39avsej_but it is an exception right?
19:50:25Jehan`Exception is just an object type.
19:50:43Jehan`That said, I'm not sure that it's easy to extract the actual type.
19:52:07reactormonkavsej_, the idea would be to use except SomeOtherException
19:52:12*nande joined #nim
19:53:13*xificurC quit (Ping timeout: 272 seconds)
19:54:20*fizzbooze quit (Ping timeout: 272 seconds)
19:54:25*gsingh93 joined #nim
19:56:07Jehan`The question is really what you want to do with the type representation?
19:58:25avsej_I need type to except it properly and handle
19:59:04reactormonkavsej_, what do you want do to exactly'
20:00:12Jehan`Then use except with specific exceptions: http://nim-lang.org/docs/manual.html#exception-handling-except-clauses
20:00:19*OnO joined #nim
20:00:20avsej_in this particular case, I'd like to write unit test which make sure that errors from asyncnet propagated to my future as well as my custom exceptions
20:00:54avsej_yes, but if I don't know what the type, how I can write specific exception?
20:02:06UberLambdaIs it normal for a let -> const change to cause syntax errors in other parts of the code?
20:02:20UberLambdaI have an error that gets triggered when I set a variable as const instead of let
20:02:38UberLambdaand it does not relate to the inability to import C code
20:03:00Jehan`UberLambda: Can't say much without context.
20:03:38Jehan`avsej_: If you don't know the type, you can't handle them anyway?
20:03:54UberLambdaJehan`:https://gist.github.com/UberLambda/2b36fefd48e298b81568
20:04:47UberLambda^ If I compile the second snippet, uncommenting line 20, it tells me that at line 17 () must have an object or tuple type
20:04:47avsej_Jehan`, you mean the types intentionally hidden so that people will not be able to handle them?
20:05:14avsej_in the example I know precisely how to cause this exception (invalid host name), but how I can handle it?
20:05:23*Jesin joined #nim
20:05:27Jehan`UberLambda: Yeah, and that's because what can be on the rhs of a const declaration is very restricted.
20:05:42Jehan`It can literally only be a constant.
20:06:11UberLambdaJehan`: but it seems a constant to me
20:06:20UberLambdaJehan`: it does not depend on any external state
20:06:39Jehan`UberLambda: It's the result of a proc call. That this proc call is *currently* constant does not matter.
20:06:55Jehan`The body may change later, and at that point, it isn't constant anymore.
20:06:59UberLambdaJehan`: any way to mark a proc as const in some way?
20:07:05UberLambdaOr do I have to use macros?
20:08:07Jehan`avsej_: It's an OSError.
20:08:25Jehan`UberLambda: You may be able to use a template there.
20:08:55UberLambdahm... but I would lose compile-time code execution
20:09:01Jehan`Huh?
20:09:20Jehan`A template is something that is literally done at compile-time.
20:09:25UberLambdadon't templates basically generate parts of the AST?
20:09:38UberLambdaI mean, if I had a staticRead() wouldn't that get executed at runtime?
20:09:43Jehan`A const *must* be something that you can evaluate at compile time.
20:09:55UberLambdahm
20:09:55Jehan`No, staticRead is evaluated at compile time.
20:09:56reactormonkUberLambda, nope. staticRead() is done by the compiler.
20:10:46UberLambdanow I'm confused... first the template generates a segment of the AST, then the compiler tries to execute it at compile time?
20:10:56Jehan`That said, I don't even know if const works with templates off the top of my head.
20:10:56UberLambdaOtherwise how does it know that there's a staticRead() in there?
20:11:39Jehan`templates substitute their body at compile time to transform the AST.
20:11:44Jehan`The AST is then compiled.
20:11:45*Kingsquee joined #nim
20:12:07avsej_Jehan`, https://gist.github.com/67a482d9e3c32dc95071 do you know why testunit cannot assert that the exception is really OSError?
20:12:13UberLambdaoh, right.
20:12:24Jehan`As part of the compilation process, staticRead is being executed.
20:12:35UberLambdaI'm thinking too much in a lispy-eval fashion...
20:12:48UberLambdaRight, there's the compiler step... not interpretation
20:15:02*matkuki joined #nim
20:15:04Jehan`avsej_: No, I don't. I have not even looked at the future stuff to see what it does.
20:15:47*jh32 joined #nim
20:16:26Jehan`avsej_: You'll have to bug dom96 about that. :)
20:16:29*nande quit (Remote host closed the connection)
20:17:40dom96avsej_: How do you the future has finished?
20:17:44dom96one poll might not be enough
20:18:37dom96*do you know
20:19:04*gokr_ joined #nim
20:20:01*vikaton joined #nim
20:21:43avsej_dom96, https://gist.github.com/8affbdc1c836b424f9dc fails in the same way
20:22:10avsej_how to assert the contents of .error field?
20:22:19*jubalh quit (Ping timeout: 245 seconds)
20:23:03dom96yeah, maybe the check fails because it's not finished?
20:23:06*jubalh joined #nim
20:23:15dom96I would suggest you use asserts instead
20:23:22vikatondom96, Is there a better way of saving each keystroke here? https://github.com/Vikaton/nim-keylogger/blob/master/src/main.nim
20:23:38vikatonthat program eats alot of cpu
20:23:45*pregressive quit (Remote host closed the connection)
20:24:07avsej_dom96, in last link I assert .finished and it is okay
20:24:36dom96Where?
20:24:43dom96all I see is check()
20:25:00avsej_https://gist.github.com/avsej/8affbdc1c836b424f9dc#file-exc-nim-L52
20:25:17avsej_it checks that finished is true, no?
20:25:18dom96vikaton: use getKeyState not getAsyncKeyState.
20:25:29vikatonOh?
20:25:34dom96avsej_: yes, but either of those checks can fail
20:25:37dom96and you won't know which
20:25:56dom96or does it give you the line number?
20:26:03avsej_i didn't get you
20:26:16avsej_exc.nim(54,20): Check failed: fut.error is ref OSError
20:26:16avsej_[FAILED] connection: bad address
20:26:16avsej_exc.nim(62,20): Check failed: fut.error is ref TimeoutError
20:26:16avsej_[FAILED] connection: open timeouts
20:26:19avsej_this is output
20:26:32avsej_to says that error contains something else
20:26:58dom96oh
20:27:00dom96remove the 'ref'
20:27:05dom96in line 54 and 62
20:27:22avsej_does not help
20:27:31avsej_same output
20:28:00matkukiAnyone know how to declare and use a function pointer from a C dynamic library in Nim ? Example: "int (*PyOS_InputHook)(void)"
20:28:01avsej_example is executable without dependencies, you can try it
20:28:30*dtscodeJR joined #nim
20:28:33*kokozedman quit (Ping timeout: 240 seconds)
20:28:40dtscodeJRI'm looking for a nim project to do....
20:28:43dtscodeJRSuggestions?
20:28:51dtscodeJRI'm thinking maybe a nim IRC client
20:29:17def-dtscodeJR: something from this list? https://github.com/Araq/Nim/wiki/GSoC-2015-Ideas
20:29:26avsej_dtscodeJR, https://github.com/nim-lang/irc
20:30:10dom96avsej_: change 'is' to 'of'
20:30:18dom96that's a bad gotcha.
20:30:40avsej_wow
20:30:42avsej_works
20:31:03dtscodeJRdom96: Why have you done all the cool Nim things already?
20:31:14dtscodeJRavsej_: Thats a lib
20:31:19dom96dtscodeJR: because I am the almighty dom
20:31:21dtscodeJRI'm talking afull on client
20:31:25avsej_where I can read about of?
20:31:29dtscodeJRYou are, you are
20:31:36vikatondom96, I need GetAsyncKeyState, and I think the solution is to figure out a better way to save the chars
20:31:53avsej_found
20:31:56dom96vikaton: why do you need it?
20:32:20dtscodeJRI mean GUI, nim eval,....
20:32:25dom96vikaton: it returns immediately so your loop keeps looping and burning your CPU
20:32:26vikatondom96: I wont be able to log the keys that way with GetKeyState
20:32:28dtscodeJR.(for a client)
20:32:43dtscodeJRdom96: Have any good project ideas you havent done yet?
20:33:02vikatondom96: I tried it and no LOG.txt showed up and it still ate up the same amount of CPU
20:34:32dtscodeJRWhat would you guys like more: another nim IDE, a nim IRC client, or nim web browser?
20:34:50dom96dtscodeJR: why another Nim IDE?
20:34:55dom96dtscodeJR: You could create a Minecraft clone
20:35:01dom96or and IRC server
20:35:03dom96*an
20:35:06dom96or an IRC bouncer
20:35:16Jehan`I don't think a Nim web browser is a realistic option, unless you're talking about a terminal-based one.
20:35:25dtscodeJRJehan`: Why?
20:35:28dtscodeJRWe have SDL
20:35:36dtscodeJRUse that for a few buttons,
20:35:42dtscodeJRcustom window
20:35:51Jehan`Well, if you have a couple of developer centuries lying around ...
20:36:03dtscodeJRdom96 eNIMcraft!
20:36:03dom96dtscodeJR: A web rendering engine is not a trivial piece of software to write.
20:36:08dtscodeJRTrue
20:36:15dtscodeJRI'll do a basic minecraft clone
20:36:18Jehan`dom96: understatement of the year. :)
20:36:20vikatonbesides
20:36:22Xeirc client might be useful
20:36:29Xei'd like something to replace weechat with
20:36:31reactormonkXe, we already have a good one ^^
20:36:33vikatonwhy make a web browser when we have Servo in our future !
20:36:36reactormonkah, client. hm.
20:36:44Xeweechat for me can use up to 4 GB of ram
20:36:55reactormonkXe, how many tabs?
20:37:01Xe4 windows used (1 vertically / 3 horizontally split). 248 (of which 0 merged) buffers open: 1 core, 1 lua, 13 irc servers, 19 irc queries, 2 perl, 212 irc channels
20:37:02dom96Xe: wow, really? How is that possible?
20:37:14*avsej_ quit (Ping timeout: 265 seconds)
20:37:20XeI also have like 9001 scripts loaded
20:37:23dom96Xe: why do you need to be in so many channels? :P
20:37:33Xedom96: I have 3 O:Lines
20:37:36Xeand develop irc daemons
20:38:08reactormonkdtscodeJR, you running on linux?
20:38:20dom96Xe: cool
20:38:26XeI have looked at making ircd modules in nim
20:38:37Xebut I can't figure out how to pass a c struct to a nim proc
20:39:09dtscodeJRreactormonk: Generally, but windows atm
20:39:17Varriount_Xe: You need to use an FFI pragma to give the exported procedure a sensible name.
20:39:20reactormonkdtscodeJR, or one project I had in the back of my mind would be a pdf presenter with notes (two windows, one for presenting, one for the notes, like a cockpit view) that works well with latex-beamer
20:39:37XeVarriount_: yeah but I mean at the type level how to say "this shit is a C struct"
20:39:57XeI'm probably missing it pretty hardcore
20:40:03vikatonis there a file.flush() method
20:40:22Varriount_Xe: Nim type definitions match pretty directly with C structs
20:40:24dom96Xe: An object in nim is basically a C struct.
20:40:26*avsej joined #nim
20:40:39Xeyeah I was missing it lol
20:40:49*avsej is now known as Guest46758
20:40:58dom96just need to use the {.exportc.} pragma to disable nim's name mangling and you're good to go
20:41:04Varriount_Although an 'int' type in Nim isn't the same as an 'int' in C
20:41:12Xenot to mention c2nim is unable to parse parts of ircd's source code :/
20:41:23reactormonkXe, gotta improve ircd ;-)
20:41:29Xereactormonk: patches welcome
20:41:32Varriount_Xe: c2nim is meant more for headers, not complete source.
20:41:36reactormonkXe, ehh c2nim
20:41:37Xethis code is a schizophrenic nightmare
20:41:43XeVarriount_: I was using the headers
20:41:49Jehan`"cint" is Nim's type to match C's int.
20:41:58Varriount_Xe: Oh, I was confused then.
20:42:02*Varriount_ is now known as Varriount
20:42:24dom96Xe: what ircd do you work on?
20:42:37dom96I would really love to see an ircd written using Nim.
20:42:37Xedom96: https://github.com/elemental-ircd/elemental-ircd
20:42:43XeHowever
20:42:48*dtscodeJR left #nim (#nim)
20:42:53dom96My async await feature would be perfect :)
20:43:14Xemaking an ircd in nim would just repeat the mistakes of the past unless you are careful
20:44:10dom96Xe: That's why we need to convince experienced ircd devs to assist me :P
20:44:34Xedom96: i've been looking at making a competitor to skype
20:44:37vikatonflushing the file doesnt help
20:44:40dom96(in all seriousness I doubt I have the time for that)
20:44:43vikatonI'm sad :(
20:44:53dom96But it would be fun to write even a toy one
20:45:03dom96vikaton: output to console?
20:45:17dom96Xe: isn't there already a ton of those?
20:45:22vikatondom96, no echoing
20:45:40dom96vikaton: is this running as a service?
20:45:50Xedom96: I'm tired of losing users to skype
20:45:50vikatonNo
20:46:11notdtscodeOh I'm sorry about that. I tell people not to use software made by xe
20:46:18vikatonits a background process
20:46:33Xe:P
20:46:35notdtscodedom96: I would write one in nim if I knew how to use async* modules ;-;
20:47:01Xedom96: i've been drafting out something that separates policy from state and mechanism
20:47:18vikatondom96, you wanna try for yourself?
20:47:22*ozra joined #nim
20:47:55dom96vikaton: i'm not sure, it's a keylogger right? :P
20:48:07dom96notdtscode: I can help :)
20:48:18notdtscode:D
20:48:22dom96Xe: not really sure what you mean by that heh
20:48:43dom96Xe: Does Skype really work as a replacement for IRC?
20:48:46Xedom96: state = network state, policy = "can x do y", mechanism is TCP sockets
20:48:59Xedom96: ask the idiots that switch to it because of scrollback being server side
20:49:06VarriountXe: If it makes you feel any better, people at my work wish there was a better alternative to Skype.
20:49:13vikatondom86, I commented out Stealth :P
20:49:18vikatonhttps://www.irccloud.com/pastebin/4G6fE1W3/
20:49:19dom96Xe: I think Slack should be your biggest worry
20:49:25Xedom96: indeed
20:49:25vikatondom96 * ^
20:49:47dom96vikaton: Can't you get it running in the console?
20:49:55Xeis that the first nim keylogger?
20:50:04Varriountvikaton: What's wrong with it?
20:50:10vikatondom96, it runs, but it eats my cpu
20:50:27vikatonit runs around 30%
20:50:33vikatonI want it at 9=10%
20:50:39vikaton9-10% *
20:50:46Varriountvikaton: Uh, that's because you're using a polling mechanism.
20:50:57Xedom96: so far I'm looking at having a daemon that handles user connections communicate with a Source of Truth that sends information to the mechanism
20:51:11Xeseparating state, policy and the mechanism to allow for arbitrary transports
20:51:13Varriountvikaton: You can slow the loop down, however you then risk losing key presses.
20:51:15*wuehlmaus quit (Ping timeout: 265 seconds)
20:51:36vikatonVarriount: leave no key press behind!
20:51:37dom96Varriount: He needs to use something which blocks, which is what GetKeyState is.
20:51:56VarriountXe: Before you make any grand designs, make sure those designs fit with Nim's threading model.
20:51:57vikatondom96, GetKeyState does not log any keys :(
20:52:47dom96vikaton: Research it :)
20:53:05dom96Xe: sounds complex
20:53:07*gokr joined #nim
20:53:09XeVarriount: i've been prototyping in Go
20:53:19dom96Xe: I would need to see how it works in practice to understand it better.
20:53:22*gokr quit (Read error: Connection reset by peer)
20:53:25Xethe hard part always boils down to state
20:53:29*wuehlmaus joined #nim
20:53:53*gokr joined #nim
20:53:53*wuehlmaus is now known as Guest87260
20:53:55*filcuc quit (Quit: Konversation terminated!)
20:54:59dom96Xe: Time to switch your prototypes to Nim :P
20:55:07Xedom96: I know Go better than nim
20:55:11Xesorry
20:55:13Xe:P
20:55:32Xeand go autocomplete works in vim where nim does not
20:55:38dom96Xe: Pity.
20:55:40Xethat is reason enough for most coding
20:55:47vikatonI'm gonna test my Rust version
20:55:49dom96We really need to fix nimsuggest
20:55:55dom96vikaton: I think I see the problem.
20:56:02vikaton!
20:56:19dom96vikaton: You can't use GetKeyState because you are checking literally every key separately.
20:56:21Xedom96: and as far as something I'd like to push to users I have a rule against using pre-1.0 languages
20:56:30vikatondom98, I am yes
20:56:47VarriountXe: :<
20:56:58Xenot to mention nim's redis module doesn't support pub/sub
20:57:06Xewhich means it is useless for this project :/
20:57:40dom96Xe: huh, could've sworn it supported that.
20:57:59dom96vikaton: Is my name that hard to type? :P
20:58:27dom96vikaton: There should be a function which gives you a list of keys which have been pressed since the last invocation of that function.
20:58:33ozrawindom 98
20:58:48Xedom96: https://github.com/Araq/Nim/blob/devel/lib/pure/redis.nim#L842-L871
20:59:53ozravikaton: "do" + tab...
21:00:48dom96Xe: :/
21:00:55dom96Xe: You could help us out ;)
21:01:20dom96Always a good learning experience.
21:01:28dom96Would teach you a lot about redis
21:01:30notdtscodeI keep meaning to read the asyncdispatch module, and I keep getting distracted
21:02:04*notdtscode is now known as PaulMaudib
21:04:43*Xe quit (Ping timeout: 265 seconds)
21:04:54*UberLambda quit (Remote host closed the connection)
21:05:42vikatonozra, it's a habit for shortnames
21:05:54vikatonits kinda funny
21:05:58vikatondom98 lol
21:06:03*vikaton is now known as dom98
21:06:44*jubalh quit (Remote host closed the connection)
21:07:02PaulMaudibAre you like 2 better better than dom96 ?
21:07:41dom98mhm
21:07:46dom98new and improved
21:08:15PaulMaudibOh good. I've been waiting for the new domupdate
21:08:27*Kingsquee quit (Quit: Konversation terminated!)
21:10:36*dom98 is now known as vikaton
21:12:47BitRAbout nimsuggest and vim support. I've got a prototype up and running for YouCompleteMe + nimsuggest.
21:12:56def-BitR: great!
21:13:21BitRWill see if I can figure out how Github works in a short while ;)
21:16:35*Xe joined #nim
21:16:55*matkuki quit (Quit: ChatZilla 0.9.91.1 [Firefox 38.0.1/20150513174244])
21:18:46ozraXe: You maybe missed it, but BitR is working on a vim autocompleter for Vim
21:19:58Xeyay
21:20:12*PaulMaudib is now known as squirtle
21:20:54vikatonWhat is nimsuggest
21:21:18vikatonan autocompleter?
21:23:00*squirtle is now known as dtscode
21:23:52*dtscodeJR joined #nim
21:24:09*dtscodeJR left #nim (#nim)
21:24:35onionhammerit's a tool IDEs can use to do definition lookups/autocomplete
21:25:25jaco60for me, it's rather a white whale... like Moby Dick
21:28:40gokrvikaton: Its basically the compiler running in a service mode - so it can answer queries from an editor/IDE.
21:28:58gokrAraq's baby.
21:29:00*fffff joined #nim
21:31:03fffffis there any info on the new anonymous proc syntax? "(x: int) => x * 5"
21:31:37dom96fffff: just what you see here: http://nim-lang.org/docs/future.html
21:32:06fffffthx, i just couldnt find it anywhere
21:32:14fffffsearching for '=>' is quite hard lol
21:36:19dom96fffff: This is useful for searching http://nim-lang.org/docs/theindex.html
21:36:47fffffdom96: this is going into my fav bar =)
21:38:27*elbow_jason quit (Ping timeout: 250 seconds)
21:42:00*ingsoc quit (Ping timeout: 246 seconds)
21:43:22vikatongokr, what's Nim to Araq?
21:43:46gokrvikaton: Waf?
21:44:37vikatonWaf?
21:45:55gokrvikaton: I don't understand "what's Nim to Araq?"
21:46:08gokrAre you playing Jeopardy perhaps?
21:46:19vikatongokr, you said nimsuggest is Araq's baby
21:46:48vikatonnvm lol
21:47:01gokrAnd yes, Nim is also his baby. I just... didn't hear the tone over IRC.
21:47:05*dtscodeJR joined #nim
21:47:07*dtscodeJR left #nim (#nim)
21:49:51vikatonGod I hope strongSpace doesnt become a thing :(
21:51:48Jehan`vikaton: I don't think it'll be, except to disambiguate "echo $foo" (same what Ruby does, essentially).
21:52:34vikatonOk good
21:53:20*banister joined #nim
21:55:53*gsingh93 quit (Ping timeout: 252 seconds)
22:02:26BitRAlright, so the first version of the prototype is up at https://github.com/BitR/ycm-nimsuggest
22:03:02BitRCurrently you'll only get completion after having used ctrl-space at least once during a nim file edit...
22:04:49dom96BitR: how well does it work?
22:05:13dtscodedom96: What is a dispatcher?
22:07:06dom96dtscode: it's an object which stores a list of sockets (and other file descriptors)
22:07:32dom96In poll(), it goes through that list and checks which sockets can be written to or read from
22:07:37BitRdom96: Well, as long as you use ctrl-space from time to time, it'll keep showing up with completions for ya (also during editing in insert mode)
22:07:50BitRI'm guessing the ctrl-space issue is due to either timeout or the YCM cache
22:08:05dtscodedom96: thanks
22:08:10*nande joined #nim
22:10:11*pregressive joined #nim
22:10:59dom96dtscode: it's all done in the background though, you don't really need to know about it :P
22:11:06dtscodefair enough
22:13:12*yglukhov___ quit (Quit: Be back later ...)
22:16:42*dtscodeJR joined #nim
22:16:58dtscodeJRHow do I start Aporia on windows?
22:17:13*BlaXpirit quit (Quit: Quit Konversation)
22:17:31dtscodeJRI used nimble install aporia@#head
22:21:26ozraJehan`: vikaton: strongspace != juxtapoisition calls. strongspace is a cool idea, but horrible ;) juxtaposition calls are essential :)
22:23:52*dtscodeJR quit (Remote host closed the connection)
22:25:37dom96dtscode: type aporia into the cmd line
22:25:42dom96argh
22:25:45dtscodedom96: done. now what?
22:25:57dom96dtscode: not you, senior.
22:26:01dtscode>:3
22:26:33dtscodeI think I understood the async chat server example
22:30:24dom96awesome
22:30:26*kumul joined #nim
22:32:00vikatonI see
22:36:40dtscodeIs there no split function with a maxsplit?
22:40:42*boop is now known as boopisaway
22:45:58*Trustable_2 quit (Remote host closed the connection)
22:51:06flaviudtscode: nre!
22:59:09*pregressive quit (Remote host closed the connection)
22:59:37*Jesin quit (Read error: Connection reset by peer)
22:59:44*boopisaway is now known as boop
23:00:45XeWhat is the syntax for passing a linker flag?
23:00:55Xe{.passL "-lcrypt".}
23:01:00Xethis seems to not work
23:01:08dom96{.passL: "-lcrypt".}
23:01:12Xeoh
23:02:03*Jesin joined #nim
23:02:18Xederp
23:04:35BitRdom96: I've sorted the inconsistency of ctrl-space by taking advantage of the cache, now I just need to sort the speed of the completer. That'll be a task for tomorrow.
23:04:45dom96BitR: cool
23:05:17dtscodewhoever thought it was a good idea to not give dtscode more monitors was sorely mistaken
23:07:21*brson quit (Quit: leaving)
23:11:36*TEttinger joined #nim
23:32:00*Jehan` quit (Quit: Leaving)
23:49:58vikatondom97, how much closer are you do making jester run on multiple cores?
23:50:01vikatondom96***
23:50:54ozrawhy-key-ton
23:52:37*Senketsu quit (Quit: Leaving)
23:55:32Xedoes nim's defer take any arbitrary block of nim or is it just function calls like Go?
23:55:47*Senketsu joined #nim
23:55:54filwitarbitrary block
23:56:10Xesweet
23:56:25*OnO quit (Quit: My iMac has gone to sleep. ZZZzzz…)