<< 16-06-2016 >>

00:01:16*vendethiel quit (Ping timeout: 244 seconds)
00:02:19*freezerburnV joined #nim
00:13:32*Demos joined #nim
00:14:01*vendethiel joined #nim
00:16:08*benwbooth quit (Ping timeout: 272 seconds)
00:19:43*benwbooth joined #nim
00:32:31*yglukhov joined #nim
00:35:33*vendethiel quit (Ping timeout: 240 seconds)
00:36:55*yglukhov quit (Ping timeout: 260 seconds)
00:45:44*akaisora joined #nim
01:04:01*akaisora quit (Read error: Connection reset by peer)
01:14:37*vendethiel joined #nim
01:20:12*freezerburnV quit (Ping timeout: 246 seconds)
01:24:56*kier_ quit (Quit: Reconnecting)
01:25:02*kier joined #nim
01:26:30kiergetting a gcc error in code originating from Nim's codegen
01:30:19def-kier: mind sharing the code that causes it? otherwise try with devel branch, check if there is an issue about it on github, otherwise submit one
01:31:42Demosis there a way to get c2nim to go ahead and parse some <> style includes
01:33:12Demosalso I just tried c2nim --cpp for the first time and it works real well
01:33:28Demosactually considering c++ tends to use less macros than C things could be pretty smooth
01:34:57*yglukhov joined #nim
01:35:25kierdef-: currently trying to reduce it to a minimal working example
01:36:21kieroddly, if I pull out the code that I think might be causing it into a new file and compile it, I get a different error
01:36:53def-kier: to submit an issue the code doesn't need to be minimal, just 1 file and reproducable btw
01:39:13*yglukhov quit (Ping timeout: 252 seconds)
01:53:21*kulelu88 joined #nim
01:53:21*kulelu88 quit (Changing host)
01:53:21*kulelu88 joined #nim
01:55:34*chemist69 quit (Ping timeout: 272 seconds)
01:57:59*vendethiel quit (Ping timeout: 250 seconds)
01:58:49*abruanese joined #nim
02:06:01*vktec quit (Ping timeout: 258 seconds)
02:08:40*chemist69 joined #nim
02:10:09kier#4346
02:10:40*nsf joined #nim
02:14:17*vktec joined #nim
02:15:40*vktec quit (Quit: So long and thanks for all the fish)
02:15:57*vktec joined #nim
02:39:05*mcc joined #nim
02:41:16mccdoes the nim standard library and/or nimble just happen to contain a good priority queue implementation?
02:42:18mccthere's a "binaryheap" in nimble that looks promising...
02:44:20*kulelu88 quit (Quit: Leaving)
02:53:25*vendethiel joined #nim
03:18:01*brson joined #nim
03:29:46*Demos quit (Ping timeout: 252 seconds)
03:36:43*yglukhov joined #nim
03:37:45*vendethiel quit (Ping timeout: 246 seconds)
03:41:07*yglukhov quit (Ping timeout: 250 seconds)
03:47:41*vendethiel joined #nim
03:57:10*Demos joined #nim
04:08:24*vendethiel quit (Ping timeout: 244 seconds)
04:24:32*vendethiel joined #nim
04:27:15*GangstaCat joined #nim
04:36:35*brson quit (Ping timeout: 250 seconds)
04:36:59*brson joined #nim
04:42:20*brson quit (Ping timeout: 244 seconds)
04:50:06*vendethiel quit (Ping timeout: 276 seconds)
04:53:47*vendethiel joined #nim
04:56:22*endragor joined #nim
05:35:03*LeNsTR|away is now known as lenstr
05:35:03*lenstr quit (Changing host)
05:35:03*lenstr joined #nim
05:37:51*so joined #nim
05:38:18*endragor quit (Remote host closed the connection)
05:38:44*yglukhov joined #nim
05:43:40*yglukhov quit (Ping timeout: 264 seconds)
05:52:58*so quit (*.net *.split)
05:57:06*plzhalp joined #nim
05:58:07*plzhalp quit (Client Quit)
05:58:23*vendethiel quit (Ping timeout: 276 seconds)
05:58:37*so joined #nim
06:05:38*vendethiel joined #nim
06:08:34*IPv6 joined #nim
06:10:08*IPv6 quit (Client Quit)
06:26:55*Demos quit (Ping timeout: 260 seconds)
06:33:51*endragor joined #nim
06:34:32*brson joined #nim
06:34:51*endragor_ joined #nim
06:38:04*endragor quit (Ping timeout: 244 seconds)
06:46:37*yglukhov joined #nim
06:48:19*vendethiel quit (Ping timeout: 252 seconds)
06:51:20*yglukhov quit (Ping timeout: 272 seconds)
06:53:03*allan0 quit (Ping timeout: 246 seconds)
06:53:04*endragor_ quit (Remote host closed the connection)
06:53:34*endragor joined #nim
06:58:19*vendethiel joined #nim
07:00:27*yglukhov joined #nim
07:02:16*yglukhov quit (Remote host closed the connection)
07:03:59*endragor quit (Remote host closed the connection)
07:05:11*gokr joined #nim
07:15:16*MonsterAbyss is now known as BitToAtom
07:16:31*allan0 joined #nim
07:18:38*Demon_Fox quit (Quit: Leaving)
07:27:30*endragor joined #nim
07:34:33*lyro quit (Ping timeout: 244 seconds)
07:37:05*lyro joined #nim
07:50:35*PMunch joined #nim
07:52:10*Trustable joined #nim
07:55:04*lyro quit (Ping timeout: 264 seconds)
07:56:19*lyro joined #nim
07:59:16*yglukhov joined #nim
08:03:43*euantor joined #nim
08:06:04*vendethiel quit (Ping timeout: 272 seconds)
08:09:36*vendethiel joined #nim
08:14:47*deavmi_mobile joined #nim
08:26:38*mcc quit (Quit: Connection closed for inactivity)
08:43:49*deavmi joined #nim
08:44:26*akiradeveloper joined #nim
08:44:26*akiradeveloper quit (Client Quit)
08:48:52*euantor quit (Quit: Page closed)
08:51:26*deavmi_mobile quit (Read error: No route to host)
08:51:56*abbat joined #nim
08:52:03*vendethiel quit (Ping timeout: 244 seconds)
08:55:49*vendethiel joined #nim
09:02:23*brson quit (Ping timeout: 244 seconds)
09:04:48*brson joined #nim
09:18:21*zaquest quit (Ping timeout: 240 seconds)
09:26:02*deavmi quit (Ping timeout: 250 seconds)
09:31:51*zaquest joined #nim
09:32:50*Mozart_ joined #nim
09:37:18*Mozart_ quit (Ping timeout: 250 seconds)
09:38:32*vendethiel quit (Ping timeout: 272 seconds)
09:39:33*vendethiel joined #nim
09:40:18cheatfateAraq_, ping
09:43:31*jortiz7 joined #nim
09:46:39*jortiz7 quit (Client Quit)
09:47:29skrzypI
09:47:41skrzypI'm still struggling with Nimble installation
09:47:54skrzypeven install_nimble.nims complains about lack of "compiler/ast" thing
09:50:24Araq_cheatfate: pong
09:50:35Araq_skrzyp: describe your setup
09:50:50skrzypwhat exactly?
09:52:01skrzyp(in the meantime I'm trying to bootstrap a fresh Nim from git again to check if that still happens)
09:53:59*ephja joined #nim
09:56:56skrzyp~/src/lang/nim/nim $ nim install_nimble.nims
09:56:58skrzypsrc/lang/nim/dist/nim/lib/system/ansi_c.nim(51, 12) Error: SIGABRT not ported to your platform
09:57:00skrzypWAT
09:57:45skrzypI'm not using OpenVMS or AmigaOS
09:57:57skrzypit's a regular UNIX system, lol
09:58:51cheatfateskrzyp, you need to know that openbsd is differs even from netbsd and freebsd...
09:59:15*coffeepot joined #nim
09:59:41skrzypbut version from ports runs and compiles code properly
10:00:09skrzypthe only thing with that is that Nimble can't be build due to missing "compile/ast"
10:02:02skrzyphttp://sprunge.us/jhRI - here's a list of patches applied to version from ports
10:02:45*vendethiel quit (Ping timeout: 260 seconds)
10:05:25skrzypSo, no one wants to help, even if we have a large amount of people from #openbsd here? :)
10:06:46*endragor quit (Remote host closed the connection)
10:07:08*vendethiel joined #nim
10:07:58Araq_skrzyp: nim e install_nimble.nims
10:08:39Araq_you missed the 'e' but i dont know if thats the problem
10:11:09*euantor joined #nim
10:11:43skrzypwhy it's not docummented in --help?
10:11:48skrzypor even the manpage?
10:12:49cheatfateskrzyp, and who is here from openbsd?
10:13:11skrzyp121259 +++ common lurkers from freenode.#weechat:
10:13:13skrzyp121259 Pisuke, SirCmpwn, Xe, abruanese, gsingh93, nchambers, sarlalian, tstm
10:13:25skrzypscripts are not lying :)
10:15:37cheatfateall of them except Xe is bots and Xe is away...
10:16:23Araq_what manpage? we don't have manpages.
10:16:59*euan joined #nim
10:17:31skrzypcheatfate: they're not bots
10:17:41skrzypI can personally admit that for SirCmpwn
10:18:18*euan quit (Client Quit)
10:18:51cheatfateskrzyp, for 4 months i never seen SirCmpwn is said something here...
10:19:40*kingofoz quit (Ping timeout: 260 seconds)
10:20:24skrzypDoes that even matter?
10:20:41*kingofoz joined #nim
10:21:19cheatfateskrzyp, i told you yesterday that i dont have any problems with Nim on openbsd
10:21:23*deavmi joined #nim
10:21:51skrzypBut I have, even if I did the same thing as you - build from git HEAD
10:22:59cheatfateAraq_, what is `NoFakeVars`?
10:24:16*nsf quit (Quit: WeeChat 1.4)
10:24:17Araq_cheatfate: it means to not use var SOMESIGNALWEWISHWEHADINVENTEDVOWELS {.importc.}: cint
10:24:18cheatfateskrzyp, what c compiler you have installed?
10:24:29*Pisuke quit (Read error: Connection reset by peer)
10:24:34cheatfateAraq_, is it enabled by default?
10:24:38*euant joined #nim
10:24:49cheatfateskrzyp, and using?
10:24:51Araq_I think so in the recent devel
10:25:14*euantor quit (Quit: Page closed)
10:25:22*euant is now known as euantor
10:25:36*Pisuke joined #nim
10:25:50euantorAnybody know if it's possible to return a closure iterator from a method?
10:26:20euantorI'd like to return a string iterator from a method so that it's dynamically dispatched, but I can't work out the syntax. I've tried
10:26:28euantormethod getAllTablesForDatabase*(d: MysqlDriver, database: string): iterator: string
10:26:37euantorand: `method getAllTablesForDatabase*(d: MysqlDriver, database: string): iterator[string]`
10:26:59skrzypcheatfate:
10:27:01skrzyp~ $ gcc -v 2>&1 | tail -n1
10:27:03skrzypgcc version 4.2.1 20070719
10:27:05skrzyp~ $ egcc -v 2>&1 | tail -n1
10:27:07skrzypgcc version 4.9.3 (GCC)
10:27:10euantorALl I get is "invalid pragma: base"
10:27:35skrzyp(both of them are widely patched with backports and security fixes)
10:27:46cheatfategcc 4.2.1 is not supported
10:28:18cheatfateplease give me value of nim.cfg's variable cc =
10:28:37cheatfateNim/config
10:28:42cheatfateNim/config/nim.cfg
10:30:10Araq_method getAllTablesForDatabase*(d: MysqlDriver, database: string): (iterator: string)
10:31:42skrzypcheatfate: after changing "cc=" to egcc in nim.cfg, it still doesn't work
10:32:06euantorAraq_: perfect, thanks!
10:32:23cheatfateskrzyp, better use egcc
10:32:56skrzypcheatfate: how can I rebuild nim using egcc?
10:33:16skrzypI can''t see a config file in nim-lang/nim repository
10:33:40cheatfateAraq is it possible to rebuild nim with 'egcc'?
10:33:54cheatfateskrzyp, but i think async_c.nim bug will still be here
10:38:02dom96There are other ways to install Nimble. If Araq's magical install script doesn't work then follow the instructions in Nimble'd readme.
10:38:20dom96But if you can't bootstrap Git HEAD then that's a different problem.
10:39:30skrzypdom96: I can, but ruuning it complains about SIGABRT
10:40:15cheatfatedom96, i have already made PR
10:40:22dom96skrzyp: interesting
10:41:09*ephja quit (Quit: WeeChat 1.5)
10:42:19dom96skrzyp: but that only happens when you run the install_nimble.nims script right?
10:43:30cheatfatedom96, i have pushed PR which can resolve ansi_c.nim bug
10:43:36skrzypdom96: yes
10:43:42dom96skrzyp: have you tried just doing this? https://github.com/nim-lang/nimble#unix
10:43:48skrzypnim -v and nim -h works
10:43:55skrzypI should check some example sources
10:44:23skrzypyep
10:44:25skrzypHint: operation successful (10085 lines compiled; 1.215 sec total; 15.504MiB; Debug Build) [SuccessX]
10:44:31skrzyp(on hallo.nim)
10:45:31dom96Please try https://github.com/nim-lang/nimble#unix
10:50:16*vendethiel quit (Ping timeout: 264 seconds)
10:50:29skrzypWait a sec, wireless connection is actually bleeding
10:51:04skrzypsrc/lang/nim/nimble/src/nimble.nim(4, 8) Error: cannot open 'httpclient'
10:51:40*elrood joined #nim
10:52:03dom96skrzyp: now that's a strange error.
10:52:23*vendethiel joined #nim
10:52:30dom96It seems like Nim is buggy on your platform.
10:52:53dom96`httpclient` is part of the stdlib and should be easily found.
10:53:14skrzypmaybe it doesn't find my nim directory
10:53:22skrzypwhich was installed using ./install.sh
10:53:36dom96it seems as if Nim cannot find its standard library
10:53:37skrzypthere's not line about loading my .cfg file
10:54:08dom96yeah, where did you install Nim?
10:54:20Araq_skrzyp: don't use ./install.sh
10:54:36Araq_don't install Nim, just add it your PATH
10:54:51skrzyp/home/skrzyp/src/lang/nim/dist/nim - that's a directory used by install.sh
10:55:18Araq_rm /usr/bin/nim
10:55:29skrzypit was done before
10:55:35Araq_rm /usr/local/bin/nim
10:55:39skrzyp^
10:55:47skrzypI used pkg_delete -iv nim
10:55:59skrzypI know my platform :>
10:56:03Araq_nim does tell you which config it's reading
10:56:43skrzypHint: used config file '/home/skrzyp/src/lang/nim/nimble/src/nimble.nim.cfg' [Conf]
10:56:53skrzypso it's not reading my actual nim directory
10:56:54skrzypweird
10:57:08skrzypwhat options should I append?
10:57:28*abbat quit (Ping timeout: 264 seconds)
10:58:06*abbat joined #nim
11:01:37dom96what's in /home/skrzyp/src/lang/nim/dist/nim ?
11:03:14skrzyphttp://sprunge.us/ILJN
11:04:12PMunchdom96, the videos in your latest post doesn't appear to run for me
11:05:35dom96skrzyp: hrm, are you sure that `which nim` == /home/skrzyp/src/lang/nim/dist/nim/bin/nim?
11:06:22skrzypit's /home/skrzyp/bin/nim
11:06:27skrzypwhich is in fact a symlink there
11:06:35skrzypmaybe that's an issue?
11:06:51skrzypbut I think it should parse symlinks
11:06:57dom96lol that's definitely the issue
11:07:16dom96But yes, I bet it can't handle symlinks on OpenBSD
11:07:35skrzypsymlinks are the sam on all POSIX systems
11:07:42dom96Likely this is broken on your platform: http://nim-lang.org/docs/os.html#expandSymlink,string
11:07:50*brson quit (Ping timeout: 272 seconds)
11:09:52dom96It could be the system call on OpenBSD is slightly different
11:09:55dom96or something silly like that
11:11:19dom96https://github.com/nim-lang/Nim/blob/devel/compiler/options.nim#L214
11:11:22dom96Relevant code
11:11:27*WickedShell quit (Quit: Leaving)
11:11:28dom96in the compiler
11:12:45euantorIt looks like readlink() is the same on OpenBSD to me: http://man.openbsd.org/readlink.2
11:12:57skrzypokay
11:13:02skrzypnow Nim says
11:13:15skrzypError: unknown C compiler: 'egcc'
11:13:27skrzypbut it's on $PATH
11:13:31skrzypand it's not a symlink
11:13:37cheatfateskrzyp, this is my fault
11:13:43cheatfateyou need not modify cc = gcc
11:14:42cheatfateskrzyp, please be sure your cc = gcc in nim.cfg
11:14:48*vendethiel quit (Ping timeout: 272 seconds)
11:14:56skrzypokay
11:15:02skrzypI've turned it back to gcc
11:15:16skrzypand now everything works, at least it looks like it's building nimble code
11:15:24dom96cool
11:15:37skrzypFAILURE: Could not read package info file in /home/skrzyp/src/lang/nim/nimble/nimble.nimble;
11:15:39skrzyp Reading as ini file failed with:
11:15:40cheatfateskrzyp, but some code will require to use egcc
11:15:41skrzyp Invalid section: .
11:15:43skrzyp Evaluating as NimScript file failed with:
11:15:45skrzyp lib/system/ansi_c.nim(51, 12) Error: SIGABRT not ported to your platform.
11:15:47skrzypError: execution of an external program failed: '/home/skrzyp/src/lang/nim/nimble/src/nimble -y install'
11:15:49skrzypwell, fuck
11:15:52dom96oh lol
11:16:04cheatfatedom96, i have already made patch on this bug
11:16:06skrzyp*facedesk*
11:16:15dom96cheatfate: have you tested it?
11:16:15euantorIs this the latest nimble code?
11:16:30euantorI had that same issue on OS X with an old version of Nimble
11:16:47cheatfatedom96, just checked appropriate headers for every platform
11:16:52dom96euantor: perhaps a similar one, I bet it didn't say "lib/system/ansi_c.nim(51, 12) Error: SIGABRT not ported to your platform." though :)
11:16:56dom96cheatfate: i'll merge it then
11:17:16skrzypeuantor: yep, git HEAD
11:17:21euantordom96: No, not quite
11:17:31dom96skrzyp: cd $nim_dir && git pull && ./koch boot -d:release
11:17:50dom96Although I guess you didn't really install it that way
11:18:07skrzypyes I did
11:18:10skrzypcheatfate said so
11:18:21dom96okay, good, then you can easily update.
11:18:21skrzyp(I used bootstrap.sh, but it's in fact the same thing)
11:18:28*vendethiel joined #nim
11:18:58*endragor joined #nim
11:20:44cheatfateskrzyp, and this link helps you adopt your nim.cfg to use `egcc` instead of old `gcc` https://github.com/nim-lang/Nim/issues/4046#issuecomment-222542273
11:20:53skrzypwait a moment
11:20:59skrzypI'm doing 10 things at once
11:21:24cheatfateskrzyp, hour ago you complained that nobody hearing you...
11:21:34skrzypno, it's okay
11:21:58skrzyplarge thanks for helping me, of course
11:22:28cheatfateso is ansi_c.nim bug still exist?
11:22:36skrzypbut I've just been asked to do some other stuff and now I'm telling Nim to work, copying files, talking to you on IRC, selling 2 things on OLX, etc.
11:22:48skrzypKoch is still processing
11:25:11Araq_skrzyp: it's a regression in devel
11:25:17skrzypokay
11:25:18Araq_const NoFakeVars* = defined(nimscript)
11:25:25skrzyp"nimnle installed successfully"
11:25:35Araq_and Nimble uses nimscript
11:25:48Araq_NoFakeVars are not yet ported to the BSDs
11:25:58Araq_big question is though why it works for cheatfate
11:26:02skrzypcan I move ".nimble" anywhere else, with correct $PATH?
11:26:08dom96because he doesn't use nimble
11:26:09dom96AFAIK
11:26:14cheatfateAraq_, because i'm not using nimble
11:26:23skrzyp:DD
11:26:26dom96skrzyp: not right now
11:26:42Araq_skrzyp: master branch of Nim shouldn't have this problem :-)
11:26:49Araq_and is reasonably up to date
11:26:59skrzypAraq_: I'm using HEAD for nimble too
11:27:11Araq_it's not a nimble bug.
11:27:17dom96skrzyp: you can change where Nimble installs stuff (including itself) via config https://github.com/nim-lang/nimble#configuration
11:27:33cheatfateAraq_, we have already made commit to resolve this ansi_c.nim bug
11:27:36dom96skrzyp: but you should add ~/.nimble/bin to your $PATH
11:27:39skrzypun-movable dotfiles are a bit problematic for me, while I don't have any dotfile in $HOME
11:27:48skrzyp(many hacks was used for that)
11:27:59Araq_cheatfate: already merged?
11:28:04cheatfateAraq_, yep
11:28:16Araq_ok -.- so I wasted my time
11:28:19dom96skrzyp: you can move it, just make sure to add nimbleDir = "newPathToNimbleDir" into ~/.config/nimble/nimble.ini
11:28:37skrzypokay
11:28:44cheatfateAraq_, sorry
11:29:03*brson joined #nim
11:29:05dom96skrzyp: whatever path you end up with though, you should add $nimbleDir/bin to your $PATH
11:30:45deavmikier: Ey. You there?
11:34:24dom96bbl
11:36:53skrzyp~/src/lang/nim/dist/nimble/bin $ ls -l
11:36:55skrzyptotal 0
11:36:57skrzyplrwxr-xr-x 1 skrzyp skrzyp 45 Jun 16 13:24 nimble -> /home/skrzyp/.nimble/pkgs/nimble-0.7.4/nimble
11:36:59skrzyphaha :D
11:38:03skrzypokay, I fixed that, how can I test nimble on some advanced project?
11:45:05cheatfatedom96, are you going to accept this? https://github.com/nim-lang/Nim/pull/4336
11:47:45*brson quit (Ping timeout: 246 seconds)
11:49:50*chemist69 quit (Ping timeout: 258 seconds)
11:54:20*chemist69 joined #nim
12:00:03cheatfateAraq_, what is size of ntyFloat == ntyFloat64 on x64? and ntyFloat == ntyFloat32 on x86?
12:10:37skrzypinstalling sdl2 package failed with:
12:10:39skrzypFAILURE: Could not read package info file in /tmp/nimble_8080/githubcom_nimlangsdl2/sdl2.nimble;
12:10:41skrzyp Reading as ini file failed with:
12:10:43skrzyp Invalid section: .
12:10:45skrzyp Evaluating as NimScript file failed with:
12:10:47skrzyp Cannot find nimscriptapi.nim.
12:17:39foosballi had the same problem
12:18:45*endragor quit (Remote host closed the connection)
12:18:54*endragor joined #nim
12:26:12*arnetheduck joined #nim
12:34:01*branduardi joined #nim
12:36:32*branduardi quit (Client Quit)
12:36:47*Branduardi___ joined #nim
12:37:51*Branduardi___ quit (Client Quit)
12:38:27*branduardi joined #nim
12:38:29branduardiHi guys
12:38:53branduardiI have a strange problem with the httpclient
12:39:12branduardicurl http://f1c4d963.ngrok.io/test/test -v # returns Hallo as expected
12:39:23branduardiimport httpclient; var resp = get("http://f1c4d963.ngrok.io/test/test"); echo $resp
12:39:26branduardihas an empty body
12:39:49dom96branduardi: Sounds like a bug, please report it on Github
12:40:51branduardiit only occurs on a dev server of mine, don't want to let that exposed to the internet..
12:41:13Araq_haven't we deprecated httpclient?
12:41:31dom96skrzyp: foosball: strange that people still have this problem. Here is the code that attempts to find it https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/nimscriptsupport.nim#L175
12:41:37dom96Araq_: No, that's http*server*
12:41:50euantorCompiling an application on an old WIndows EMbedded x32 system with a 1000MHz CPU - 98% CPU usage on the compiler, 82 second compile time. Ouch.
12:41:56Araq_cheatfate: float is always 64buts
12:42:21euantorThere are quite a few changes that could be done to httpclient I noticed. For instance, there's an `AsyncHttpClient` type, but no sync equivalent
12:42:59euantorI started writing my own for my own use, but it's going to take a while to do it properly.
12:43:06dom96branduardi: hrm, well, you can try and investigate the problems yourself if you'd like: https://github.com/nim-lang/Nim/blob/devel/lib/pure/httpclient.nim#L475
12:44:06dom96euantor: yeah, I realised too late that I should have created a HttpClient type.
12:44:20dom96euantor: If you've got the time feel free to create PRs to fix this :)
12:45:18branduardidom96: thanks, I'll build from git and try to find something
12:45:35euantordom96: There are some other slight oddities too, which I was planning to work out in my implementation, such as a slightly nicer interface to handle cookies and stuff
12:45:48euantorThe implementation I started (but that is far from complete) is here: https://github.com/euantorano/http
12:46:33*vendethiel quit (Ping timeout: 276 seconds)
12:47:56dom96euantor: nice, but it would be awesome if you tried to fix httpclient instead :)
12:48:07*vendethiel joined #nim
12:48:34euantorI will try fixing it, but I may end up bringing some of the stuff I've written for my package across if it turns out to work well
12:49:44cheatfatebut its very easy to convert AsyncHttpClient to HttpClient...
12:50:53cheatfatebut much more harder to convert synchronous httpclient to asynchronous httpclient
12:52:04euantorcheatfate: AsyncHttpClient will still be there, but in my opinion it's easier to understand if both methods have the same API
12:52:27euantorRight now you have request("url") or request(asyncClient, "url")
12:52:55euantorIt's easier to understand if it's always client.request("url"), where client is either synchronous or asynchronous
12:53:03euantorTake a look at the IRC package for instance
12:55:29branduardidom96: that's it: https://github.com/nim-lang/Nim/blob/devel/lib/pure/httpclient.nim#L196 <- apparently my server doesn't send Connection: close
12:56:31dom96branduardi: what headers does it send?
12:56:56branduardicurl http://f1c4d963.ngrok.io/test/test -v
12:57:03branduardiand from nim, if I echo headers:
12:57:23branduardidate=>Thu, 16 Jun 2016 12:56:10 GMT
12:57:26branduardix-frame-options=>SAMEORIGIN
12:57:29branduardicontent-type=>text/html; charset=utf-8
12:57:31branduardiserver=>WSGIServer/0.2 CPython/3.4.2
12:57:33branduardithat's all
12:58:04branduardiit's Django's manage.py runserver
12:58:12dom96ahh, HTTP/1.0. Interesting.
12:58:18dom96curl says "* HTTP 1.0, assume close after body"
12:59:06*BitPuffin joined #nim
12:59:41cheatfateeuantor, i'm just trying to say, that making httpclient from scratch to be synchronous is a big mistake
12:59:48branduardioh, right, didn't catch that... 1.0 vs 1.1
13:00:28dom96so we just need to pass the HTTP version into parseBody and add 'or httpVersion == "1.0"' in there.
13:00:47branduardiI'll try that :)
13:02:20euantorcheatfate: That isn't the plan at all :) The parsing and creating of requests/responses will be synchronous as there's little point trying to do that asynchronously
13:02:49euantorThe actual client side of it is arguably the easiest part
13:03:22cheatfateeuantor, while you making sync, you can ask to recv as many bytes as you want and recv will return appropriate number of bytes
13:03:50cheatfatebut in async way you can obtain less bytes then you requested
13:04:01cheatfateso it can cause problems to parser
13:04:30cheatfatebecause request can be received not full at some moment
13:06:12*bjz joined #nim
13:07:39dom96I don't think that's true.
13:08:31dom96What if the socket disconnects before you receive all the bytes?
13:08:58dom96Calling recv(1000) doesn't guarantee that you will get 1000 characters.
13:09:06*akaisora joined #nim
13:11:49euantorDoesn't recv() return how many bytes were returned?
13:12:00euantorI come from a C# background, and that's what we do there
13:12:15euantorPass in a byte array with a maximum size, and recv() tells us the actual number received
13:12:40euantorThough in Nim, sockets seem to always return strings, which I can't say I'm a big fan of ;)
13:13:01dom96well no, in Nim recv() returns an in too
13:13:03dom96*int
13:13:19euantorYep, I've just looked at the docs
13:13:23euantorThat's what I would expect
13:13:25dom96precisely because you might not always receive what you ask
13:13:37dom96and it doesn't matter if it's sync or not
13:13:41euantorYes, which is what I was saying :)
13:13:49euantorAnd receiving 0 bytes means the socket is closed
13:15:17*akaisora quit (Read error: Connection reset by peer)
13:16:02*brson joined #nim
13:18:11cheatfateeuantor, just try to be modern :) make code async
13:18:33euantorOh yeah, I prefer async wherever I can too :)
13:20:17cheatfateeuantor, and why you making sync httpclient then?
13:20:55cheatfateas for me converting stdlib's async httpclient to be synchronous is just `waitFor httpclient.request()`
13:21:56euantorBecause the current way means we have two very different APIs for doing similar things
13:22:28euantorIf using `waitFor` is preferred (and agreed that it is preferred), the `request(url)` methods should be removed
13:23:05euantorMaybe I'm not explaining myself very well, it might be better if I make a topic on the forum tonight]
13:23:24cheatfateeuantor, its better to make an issue on github
13:23:48euantorcheatfate: Fair enough, I'll do that
13:25:07dom96I don't think you need to do that.
13:25:44dom96What we need to do is obvious: introduce a HttpClient type, deprecate the current sync methods and implement them for the HttpClient type.
13:26:38euantorThat's exactly what I'm suggesting, but obviously some of us aren't on the same page
13:28:14*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
13:33:59*freezerburnV joined #nim
13:35:27*endragor quit (Remote host closed the connection)
13:37:25dom96euantor: Please just go ahead and make a PR which does that (if you have the time of course). There is no need to waste time creating discussions on Github IMO.
13:37:51euantordom96: No problem, I should get some free time tonight or tomorrow night to do so :)
13:37:59dom96Great :)
13:39:29branduardidom96: thanks, now my code works! https://github.com/nim-lang/Nim/pull/4349
13:39:48kierdeavmi: pong
13:40:31dom96branduardi: Awesome! Thank you for the PR :)
13:41:15*branduardi is now known as hendi
13:41:27*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
13:43:35*bjz joined #nim
13:46:21*brson quit (Ping timeout: 276 seconds)
13:51:59*akaisora joined #nim
13:58:38*chemist69 quit (Ping timeout: 258 seconds)
13:58:47*edubart joined #nim
14:01:06*chemist69 joined #nim
14:01:32*edubart_ joined #nim
14:01:39*edubart_ quit (Client Quit)
14:01:44*edubart quit (Client Quit)
14:05:33*benwbooth quit (Ping timeout: 240 seconds)
14:07:45*jjido joined #nim
14:09:25cheatfatedom96, just want to ask you what is not true? You need to check your code... if you request read for 200 bytes and only 17 bytes received your recv() call return you only 17 bytes...
14:11:15*freezerburnV quit (Ping timeout: 260 seconds)
14:11:49*brson joined #nim
14:17:46*SHARP joined #nim
14:18:10*SHARP is now known as Guest15679
14:18:53*xet7 quit (Quit: Leaving)
14:19:47deavmikier: ey :)
14:20:04*Guest15679 left #nim (#nim)
14:20:21dom96cheatfate: Yes, and you said that this is only the case for async.
14:20:26dom96That's not true.
14:22:54cheatfatedom96, of course there many cases you can get while programming in async, but this is just simpliest one, which can cause problems to parser/processing
14:23:38*edub4rt joined #nim
14:26:20*freezerburnV joined #nim
14:28:42*edub4rt left #nim (#nim)
14:28:47*endragor joined #nim
14:28:49*edub4rt joined #nim
14:29:06kierdeavmi: hey. cheers for pointing out yung bae, some good stuff there :)
14:33:16euantorcheatfate: which is why you buffer what you receive, and look for start characters and terminators
14:36:28*Sembei joined #nim
14:38:52*vendethiel quit (Ping timeout: 264 seconds)
14:38:58kierit looks like we might have accidentally muted webchat users, probably as a result of the fiasco of the last few days
14:39:38euantorYep, I was one of the affected users, Dom told me what was wrong. Maybe best to add it to the banner next time?
14:39:39*Pisuke quit (Ping timeout: 276 seconds)
14:40:03*dom96 quit (Changing host)
14:40:03*dom96 joined #nim
14:41:17*vendethiel joined #nim
14:41:27dom96yep, it's hard to say which ones are genuine unfortunately.
14:42:38dom96let's try that
14:43:01*nsf joined #nim
14:43:16edub4rthello, I am new to nim, and I was wondering if there is a easy way to write an array of bytes
14:43:28edub4rtfor example atm I am using "let x= [0xaa'u8,0xbb'u8,0xcc'u8,0xdd'u8]"
14:44:04edub4rtbut would be nicer if I could do something like a "bytes literal", like let x = b"aabbccdd"
14:45:13Araq_you can use a string literal, strings are just arrays of bytes
14:46:12Araq_also only the first array element needs the 'u8 annotation
14:47:17edub4rtwith strings literal I would have to do let x = "\xaa\xbb\xcc\xdd" typing \x every byte does not look pretty, I was just wondering
14:47:26edub4rthmm good no know
14:48:18*Demon_Fox joined #nim
14:50:57kierif you install the 'hex' package from nimble, you can do: let x = hex.decode("aabbccdd")
14:52:43edub4rtthat looks better, and if I use: const x = hex.decode("aabbccdd"), will it decode at compile time?
14:53:04kieryep
14:55:38deavmikier: yeah man. Makes really nice stuff.
14:55:49deavmihex.decode()
14:55:57deavmiReturns decimal number from hex?
14:56:02deavminice
14:56:03*brson quit (Ping timeout: 240 seconds)
15:05:31*vendethiel quit (Ping timeout: 252 seconds)
15:16:24*deavmi_mobile joined #nim
15:17:32*pregressive joined #nim
15:17:58deavmiWhat is an enum?
15:18:08deavmiLike in general in terms of computer programming?
15:18:11deavmior enumeration
15:23:06*vendethiel joined #nim
15:24:07euantorhttps://en.wikipedia.org/wiki/Enumeration
15:25:28edub4rtI am going to write an application in nim that uses asynchronous UDP for both server/client, for that I need recvFrom and sendTo in asynchronous manner, but I've noticed that asyncnet is missing those methods
15:26:09*endragor quit (Ping timeout: 250 seconds)
15:26:25euantoredub4rt: THere's an open PR on GitHub, with a working implementation for Linux, but no WIndows support
15:26:40euantorhttps://github.com/nim-lang/Nim/pull/4341
15:27:08euantorActually, that PR does support WIndows (nice work cheatfate!)
15:27:17euantorAn earlier patch did not support Windows
15:27:29edub4rtI've seen that, is it my only option? I am guessing it will be merged soon then?
15:28:29Araq_you can count on that, cheatfate's work is superb.
15:28:33euantorIt is for now, yes
15:30:15edub4rtok good, for the moment I will merge myself and use it then
15:31:08*Satyajit quit (Quit: https://fnordserver.eu)
15:36:35deavmi.join #nim-offtopic
15:36:41deavmisorry.
15:38:44*benwbooth joined #nim
15:41:53*PMunch quit (Quit: leaving)
15:44:59*vendethiel quit (Ping timeout: 250 seconds)
15:47:35deavmikier: yung bae - bae (full album on youtube)
15:50:58cheatfatedeavmi, could you pleas talk about youtube, music and albums in #nim-offtopic
15:51:34deavmicheatfate: sorry yes will do
15:56:21*deavmi_mobile quit (Quit: Cheers all. Be good and don't do drugs.)
15:56:42*deavmi_mobile joined #nim
15:56:50*deavmi_mobile quit (Client Quit)
15:57:12*deavmi_mobile joined #nim
16:05:08*chemist69 quit (Ping timeout: 258 seconds)
16:08:17*euantor quit (Quit: Leaving)
16:09:27*chemist69 joined #nim
16:11:20*chemist69 quit (Client Quit)
16:12:35*chemist69 joined #nim
16:24:23*vktec is now known as all
16:24:27*all is now known as vktec
16:25:09edub4rthow do I test if a bit is set in nim? I can think of "if (a & b) == b" but is there a function or shortcut for this? in C is just "if(a & b)"
16:25:37*philo joined #nim
16:27:50cheatfateedub4rt, if (value and bitvalue) == bitvalue
16:28:59cheatfateand you can always make template for yourself template isSomething(a, b): bool = ((a and b) == b)
16:29:00*philo quit (Client Quit)
16:29:13*nsf quit (Quit: WeeChat 1.4)
16:29:31cheatfateand you can use it like if a.isSomething(b):
16:30:26*philo joined #nim
16:31:40*yglukhov quit (Ping timeout: 264 seconds)
16:32:36*philo quit (Client Quit)
16:33:23*mahasamoot joined #nim
16:33:57*mahasamoot quit (Client Quit)
16:35:21edub4rtcheatfate: thanks with the template is nicer
16:38:53*euantor joined #nim
16:42:16edub4rtjust curiosity, which IDE/editor you guys generally use to code in Nim? any with nim plugins that enhances productivity?
16:43:54euantorI use Atom with the Nim plugin personally
16:44:19*zacts quit (Quit: WeeChat 1.4)
16:45:40kierSublime Text with the Nim plugin, though I don't use any of the plugin's features besides syntax highlighting
16:46:37EastBytevim with syntax highlighting for nim
16:47:38kierbeen meaning to try out Aporia sometime
16:50:22deavmikier: Aporia is nice
16:50:30deavmiIt's better than a "full-IDE"
16:50:54deavmiIt is a nice text editor with ability to run code - that to me is the best
16:51:10deavmiVery simple to use and works very well. Nice error list as well.
16:51:30kierah, sounds neat
16:51:40deavmikier: I use nano and `nim c [file]`
16:51:50deavmiFor me that works well.
16:52:28deavmikier: 'tis very neat. Simple, easy and fast.
16:53:00kiervery minimal :)
16:53:06kierdoes nano have find+replace?
16:53:13deavmikier: I think so
16:53:36deavmikier: It is so sexy. There is a very nice theme that provides a black background and beautiful syntax highlighting
16:53:59deavmikier: It's pretty much a full text editor with themes, compiler intergration (running and error lists as well as compilation log)
16:54:11kierwow, much more powerful than I thought
16:54:14*Satyajit joined #nim
16:55:04deavmikier: Is very good. Infact great. If I was a GUI person I'd use it. But because I love the terminal for efficiency I stick with nano and nim. Because vim is too hard to use and I don't need that in my life.
16:58:04*euantor quit (Remote host closed the connection)
16:59:25renesac_https://gist.github.com/ReneSac/a955b899200ec4d84cf9732a45b39d6b <- is this behaviour from "is" expected?
17:01:28*Europa joined #nim
17:02:38EuropaHello. I have only one question, can I integrate Nim's logo to my project's logo (which wriiten in Nim)?
17:06:23Europa....MIT doesn't warn us about trademark(s).
17:06:50lazypenguin1The logo might be licensed differently than the source code
17:07:24EuropaYes, you are right.
17:07:26renesac_I don't think nim has registered any trademarks, but it is better to wait for an official answer
17:07:51EuropaOkay, renesac.
17:07:55*vendethiel joined #nim
17:12:16Europarenesac: how long it will take?
17:12:23*yglukhov joined #nim
17:12:38*jjido quit (Ping timeout: 272 seconds)
17:14:06federico3Europa: http://forum.nim-lang.org/t/2316
17:15:42Europafederico3: Thanks, but I didn't ask for Nim's logo, I asked if I can use the logo as a part of my project logo.
17:15:53Europa?
17:16:03*chemist69 quit (Ping timeout: 258 seconds)
17:16:14federico3I know, I was just sending you to the discussion where you can also ask if it's ok to use it
17:16:54EuropaYes, but I need a quick answer.
17:17:01federico3Araq_?
17:17:20Europaexcuse me, but who is Araq_?
17:17:24federico3Europa: if you link to your project it might help
17:17:50EuropaIt's not online yet.
17:18:07EuropaBut it's planned to be open source.
17:20:02Europafederico3: So, what should I do?
17:20:06renesac_no hurry the
17:20:10renesac_wait
17:20:34*euantor joined #nim
17:21:26EuropaAlright, renesac. NP (No Problem)
17:21:44federico3Europa: https://github.com/nim-lang/Nim/issues/3462 you might ask here about trademark
17:24:01*akaisora quit (Read error: Connection reset by peer)
17:25:09Europafed: Thanks again, but I need the answer ASAP (As Soon As Possible).
17:25:18*akaisora__ joined #nim
17:25:31EuropaI mean, I need the answer now.
17:25:53Araq_Europa: https://github.com/nim-lang/assets/blob/master/Art/README.md
17:26:45*nsf joined #nim
17:27:11Araq_which is er ... unclear to me.
17:27:20EuropaAraq: So the answer is negative?
17:28:00Araq_nah, but show me what the result looks like please
17:28:16EuropaResult of what?!
17:28:21Araq_"ntegrate Nim's logo to my project's logo"
17:28:51EuropaYou mean your license term?!
17:29:12Europathe link that you just uploaded to me?
17:29:38Araq_I mean our license terms are not nearly clear enough and I'm not a lawyer
17:30:13EuropaAraq: Yes, writing license is harder that writing program IMO (In My Opinion)
17:30:27*akaisora__ is now known as sorakun
17:30:32Araq_however, this is acceptable: "Derivative works of Nim and support services for those derivative works are available under my own trademarks at my website."
17:30:50Araq_which seems to apply to your use case
17:31:29EuropaAraq: okay, but why there is another logo which defined as simplified and modern , https://github.com/nim-lang/assets/blob/master/Experimental/logo-simplified.svg
17:32:10EuropaI want to set a logo for my project which represents that the project is uses Nim technologies.
17:32:36Araq_that's not your original question though.
17:32:57Araq_"powered by Nim (logo here)" is perfectly fine
17:33:14*chemist69 joined #nim
17:33:30Araq_your question was about taking the logo and adding something to the art/picture, at least that's how I understood you.
17:33:35euantorIt looks like the forum doesn't properly escape the '\' character, correct?
17:34:01Araq_which seems to be fine too, so yeah, go ahead
17:34:08euantorThere also doesn't seem to be any built in procs in the db_mysql module to do proper escaping of input (or to do parameterised queries)
17:34:46Araq_euantor: "foo(?, ?)", x, y is properly escaped for you
17:34:50euantorBoth of which might be nice future enhancements
17:35:02euantorAraq_ not quite ;)
17:35:12Araq_why not?
17:35:35euantor`conn.exec("INSERT INTO test(val) VALUES (?);", "C:\\Users\\Euan")
17:35:48EuropaAraq: My project's logo is planned to be an octopus animation, but we want the octopus wear Nim's king crown logo, so that will means that our project is power by Nim technology.
17:35:48euantorResults in `val` being "C:UsersEuan"
17:36:02euantorOr it does on my machine, using the current version of Nim and mariaDB 10
17:36:09euantorI also noticed it on the forum
17:36:29Araq_the forum does what RST suggests \ should do, I think
17:36:36edub4rtquick question, I need to convert a bitset of enums (4 enums) to uint8 and vice versa, can I use cast[uint8](myset) for that? it worked but I'm not confident enough
17:36:38Araq_and has nothing to do with the mysql bug
17:37:02Araq_edub4rt: you should really use Nim's sets rather than bitmasking on your own
17:37:22*Matthias247 joined #nim
17:37:30Araq_euantor: the mysql escaping seems to be a severe bug
17:37:38edub4rti am using them, but i need to convert them to uint8 for IO
17:37:38euantorAh, RST does use '\' as an escape character
17:37:56euantorhttps://github.com/nim-lang/Nim/blob/master/lib/impure/db_mysql.nim#L118
17:38:03euantordbQuote only seems to handle "'"
17:38:07Araq_edub4rt: casting is fine then and is what Nim uses internally too :P
17:38:30edub4rtgood :)
17:38:45euantorI guess the easiest solution would be to just add another branch to that check to replace \ with \\
17:39:25Araq_euantor: yup, please do it.
17:39:37Araq_and fyi \ is not part of the SQL standard
17:40:55EuropaThanks, I got the answer, keep it up Mr. Araq. Let's shake our hands on it and forget everything from the past.
17:41:55euantorIf I remember correctly, it's used as an escape character by MySQL too
17:42:25euantorhttp://dev.mysql.com/doc/refman/5.7/en/string-literals.html
17:42:30euantorSee Table 10.1
17:43:21euantorWhen using a parameterised query, I don't believe it applies
17:48:18*benwbooth quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:48:39*benwbooth joined #nim
17:49:36*Europa quit (Quit: Page closed)
17:52:16Araq_"Forget everything from the past"?!
17:53:29Araq_does that mean it was our troll again? ffs
17:55:20Araq_euantor: I think we need to pass NO_BACKSLASH_ESCAPES to mysql instead
17:55:50kiereh, at least he's behaving today
17:55:59euantorPossibly, I've not used the standard C library
17:57:54euantorAraq_ you mean http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_backslash_escapes
17:58:20euantorThat would work, but means running an extra query?
18:01:00*tankfeeder joined #nim
18:07:53Araq_euantor: not sure
18:12:29*abbat quit (Remote host closed the connection)
18:22:55*mostworst joined #nim
18:25:46*mahasamoot joined #nim
18:26:40*pregressive quit (Remote host closed the connection)
18:27:12*pregressive joined #nim
18:27:25mahasamoothello?
18:27:52vktecHello
18:28:21*pregressive quit (Read error: Connection reset by peer)
18:28:56*pregressive joined #nim
18:29:35tankfeederhttp://nim-by-example.github.io/types/objects/
18:29:36*pregressive quit (Read error: Connection reset by peer)
18:29:38tankfeederquestion
18:29:38mahasamootI've been learning Programming on HackerRank, and have completed the Python domain. Unfortunately, HackerRank does not have Nim support.
18:29:55tankfeederis * in Animal is part of name?
18:30:00mahasamootIs there a similar site that supports Nim?
18:30:11tankfeederif not, where is description of * in tutorial ?
18:30:11def-tankfeeder: * says that Animal is exported from the module
18:30:22tankfeederok then
18:30:38def-tankfeeder: "Exporting symbols": http://nim-by-example.github.io/procs/
18:31:06tankfeederaha, thanks
18:31:31def-mahasamoot: well, my solution was to implement half of Rosetta Code in Nim :P
18:33:05def-mahasamoot: I see Nim listed on HackerRank btw: https://www.hackerrank.com/environment
18:33:09mahasamootI see, Rosetta has the same pass / fail testing for your code?
18:33:24def-mahasamoot: nope
18:34:23def-mahasamoot: you could ask them to update Nim to 0.14.2 though
18:34:50mahasamootYes.. but Nim isn't in the drop downs
18:35:26mahasamootdo they need someone to make each challenge Nimable?
18:36:19def-mahasamoot: no idea, you could ask them on #hackerrank
18:39:09deavmimahasamoot: The Nim documentation is pretty good - also I am working on this - https://deavmi.carteronline.net/nim/
18:39:52mahasamootI've also been studying Machine Learning. There was talk on the forum of writing a nim ml lib. This seems like a good learning project for me. However, I wonder if there's really a compelling reason for a native nim lib. Wouldn't TensorFlow or some other C/C++ lib work just fine from Nim?
18:41:54mahasamootdeavmi: Thanks!
18:42:08deavmimahasamoot: Pleasure. Nimian
18:42:13deavmiNimian's unite
18:42:20*pregressive joined #nim
18:42:35*pregressive quit (Remote host closed the connection)
18:46:46mahasamootdeavmi: I've got the compiler working (on an arm chromebook, btw). And I've got vim set up. Does the Aporia IDE get any love? Or do most nimians use vim or emacs?
18:47:01deavmiI use nano
18:47:16deavmiAporia is nice. But you can use the terminal
18:47:35deavmiThe nim compiler is verbose and will tell you what the errors are (it's really good at that)
18:47:51def-mahasamoot: sure, it's much easier to use a large library that is well tested and performs well already and write a wrapper for that
18:48:25deavmimahasamoot: I recommend just using the terminal.
18:48:59deavmimahasamoot: More efficient. Just `[place text editor here (#teamnano)] [source.nim]` and `nim c [source file]`
18:49:34deavmimahasamoot: And of course `./[source]` to run it
18:52:20lazypenguin1@def: I agree, I wish nimble could also build the C libraries to make distribution of wrappers that much easier
18:52:31def-lazypenguin1: well, there is {.compile.}
18:52:44mahasamootdef-: What's involved in wrighting a wrapper? Since Nim compiles into c, isn't like calling a native function? Is the major purpose of the wrapper to create a higher level interface?
18:52:57def-mahasamoot: http://forum.nim-lang.org/t/2319
18:53:23*TheLemonMan joined #nim
18:53:33def-lazypenguin1: like this, but it's a bit hacky: https://github.com/flaviut/nre/blob/master/src/private/pcre.nim
18:55:34Araq_mahasamoot: since Nim is a compiler it needs to know about the involved types beforehand even if it's just a "native call"
18:55:51Araq_so you need to type and proc prototype declarations and stuff
18:55:54mahasamootright
18:56:07Araq_that's the minimum a wrapper needs to provide.
18:56:19Araq_usually some higher level features are built on top of that for convenience
18:56:37mahasamootI was just reading about predeclarations
18:56:49lazypenguin1def: wow, that's great. Can you optionally compile a static lib as well?
18:56:57renesac_and you usually strip some C clumsy namespacing on the proc names
18:57:09renesac_and ajust for nim's partial style insensitiveness
18:57:45Araq_renesac_: well everybody should use c2nim --nep1 :-)
18:58:00lazypenguin1Araq_ is there a limits.h equivalent for nim? Documentation mentions high(int64) but doesn't work for uint
18:58:00renesac_right
18:58:33skrzypdef-: hi
18:58:44lazypenguin1nep1 undocumented? :) https://github.com/nim-lang/c2nim/blob/master/doc/c2nim.rst
18:58:51*mostworst quit (Ping timeout: 240 seconds)
18:59:05skrzypdef-: I've join here due to your writeup about nim platformer
18:59:14skrzypbut sadly I can't build it
18:59:37Araq_lazypenguin1: low/high are available
19:00:04skrzyp~/src/own/nim-bits/nim-platformer $ nimble build
19:00:06skrzypReading from config file at /home/skrzyp/.config/nimble/nimble.ini
19:00:08skrzypFAILURE: Could not read package info file in /home/skrzyp/src/own/nim-bits/nim-platformer/platformer.nimble;
19:00:10skrzyp Reading as ini file failed with:
19:00:12skrzyp Invalid section: .
19:00:14skrzyp Evaluating as NimScript file failed with:
19:00:16skrzyp Cannot find nimscriptapi.nim.
19:00:31Araq_high(uint) is high(uint64) for 64bit systems and x <= high(uint64) is always true so it's worthless
19:01:07Araq_skrzyp: didn't we solve that issue this morning?
19:01:12skrzypno
19:01:22Araq_why not?
19:01:43skrzypthe "invalid section" failure was still unresolved
19:01:51skrzypwhen I've also tried to install sdl2 manually
19:02:27Araq_what does 'nim e install_nimble.nims' do for you?
19:03:18lazypenguin1Araq_ high(int) works on 0.14.0 on amd64 but high(uint) returns invalid argument
19:03:22skrzypAraq_: well, I used that method https://github.com/nim-lang/nimble#unix
19:03:33skrzypbut it was also sucessful
19:03:51Araq_use my install_nimble script please
19:04:12Araq_there is a fight going on between me and dom96 about how to install nimble
19:04:49Araq_I think I'm winning, dom96 thinks he's winning, so collecting data is interesting :P
19:05:02lazypenguin1what's wrong with current method of installation?
19:05:10Araq_it's fragile.
19:05:22Araq_mine is bullet proof. *cough*
19:05:27cheatfatei think i'm only one here who dont use nimble...
19:05:28lazypenguin1what is proposed alternative?
19:05:55Araq_lazypenguin1: either follow nimble's official instructions or use install_nimble.nims
19:06:54renesac_https://gist.github.com/ReneSac/a955b899200ec4d84cf9732a45b39d6b <-- araq, two things
19:07:08renesac_is something wrong in using setLen() there?
19:07:18skrzypAraq_: okay, but it worked, but how can I acrually install nim outside Git directory?
19:07:26skrzypas install.sh does?
19:07:29renesac_and is that `is` behaviour correct?
19:07:49renesac_I didn't expect the error in the penultimate line
19:08:28Araq_renesac_: firstly, it's 'isnot' in Nim, secondly it happens that 'is not' should work as well
19:08:46skrzypor, is using Nim build by koch in ./ (directory with git sources) supported, without using that install.sh script?
19:09:04*Demos joined #nim
19:09:12Araq_skrzyp: we generally encourage you to never use install.sh
19:09:21skrzypGUYS
19:09:24skrzypWHAT THE HELL
19:09:29skrzypUNIFY YOUR TOOLS PLEASE
19:09:41Araq_just add Nim to your path or create a symlink to it in /usr/bin
19:09:57skrzypone user says: use install.sh
19:10:08lazypenguin1Was there a previously laternative way to install nimble? Current method of cloning, building and installing seems appropriate. Looks like install_nimble.nims does the same except doesn't install to $PATH location
19:10:11skrzypanother one: don't, just add to $PATH
19:10:22skrzypsomeone else: symlinking does not work
19:10:24skrzypWTF
19:10:33fowlLol
19:10:33cheatfatestop CAPsing skryzip
19:10:51cheatfatesorry skrzyp
19:10:52renesac_Araq_: oh, sorry, isnot works indeed. Should I file a bug or itis already covered somewhere?
19:10:58Araq_well symlinks might be broken on BSD, there is a limit to what we can test
19:11:14skrzypcheatfate: I'vr just stopped that 2 minutes ago
19:11:55Araq_don't blame us there are 5 trillion different Unixes around that nevertheless have no advantages whatsoever to each other
19:12:00skrzypbut all of this is very confusing even for experienced users
19:12:13skrzypand not everything about that is a platform dependant
19:12:40*akaisora__ joined #nim
19:13:15skrzypI haven't said that I want run Nim on SCO Unix or Tru64 or some other kind of dead commercial Unix OS, but on a regular, actively developed and popular system.
19:13:24cheatfateskrzyp, as i know open/net/freebsds is not officially supported,
19:13:59skrzypBut as I said before, that install_nimble.nims vs. nim -r src/nimble -y install clash isn't a "problem with OpenBSD"
19:14:16*sorakun quit (Ping timeout: 264 seconds)
19:14:22*euantor quit (Remote host closed the connection)
19:14:29*Joey__ joined #nim
19:14:52Araq_that clash means both methods are officially meant to work
19:15:02Araq_and both have been tested extensively
19:15:06Araq_albeit on Linux.
19:15:28renesac_and the answer for my question about .setLen() is that yes, my algorithm is wrong there, I just need to make a good test to crash it now
19:15:53Araq_it's our problem that we don't agree on a single set of instructions for now.
19:16:02Araq_but it shouldn't be yours.
19:16:52Araq_(well it's also been tested on OSX and Windows, for that matter)
19:17:05skrzypI can't agree with that
19:17:24skrzypbut I'm too tired now to discuss that further
19:18:16skrzypso just assume you're ultimately correct and I should grab my fresh copy of Ubuntu 16.04 from local free software repository to make myself happy and satisfied
19:18:38Araq_you can also help us fix the bug on the BSDs
19:18:51Araq_but don't shout about how we're all mad.
19:19:25Araq_even though I surely lost my sanity long ago, trying to support all these crazy OSes out there ...
19:20:18skrzypwhat are "crazy OSes" for you?
19:21:15Araq_every OS developed before the year 2000.
19:21:42skrzypso, every OS on the market.
19:21:51Araq_yes, they are all crazy.
19:22:06cheatfateAraq_, i will start new OS with you :P
19:22:25lazypenguin1the dream
19:22:31skrzyp(I'm couting only functional OSes with ability to be POSIX compatible)
19:22:33skrzypno, wait a sec
19:22:41skrzypMorphOS is from 2000
19:23:07*PMunch joined #nim
19:23:13skrzypand it's pretty well usable, i had a license key for PowerPC Mac Mini G4 and Amiga 1200 with PPC
19:23:35cheatfateskrzyp, hmm i dont think BSDs is fully posix compatible...
19:23:41Araq_cool, does that mean we can port it to MorphOS?
19:24:05skrzypyou can, if someone from there will be interested
19:24:13skrzypbut they're actually alergic about FLOSS
19:24:41skrzyp(using "borrowed" OpenBSD libc and GCC stack just because)
19:24:47cheatfateskrzyp, just please take a watch on this https://gist.github.com/cheatfate/209336cf90fccfd5d6abd995e9a1844c
19:25:11cheatfatedid you see any compatibility?
19:25:58skrzypSystem endianness is a more individual thing per OS and per CPU
19:26:09skrzypso it's bad example I think
19:26:09cheatfatebut function names????
19:26:19cheatfateskrzyp, ok please take a look here https://github.com/nim-lang/Nim/blob/devel/lib/posix/kqueue.nim
19:26:28cheatfatethis is BSD staff
19:26:35cheatfateeven not posix compatible
19:26:58cheatfateeven constants are different from one OS to another
19:27:19skrzypthat's right
19:27:40Araq_cheatfate: that's a Posix problem though, Posix thinks everything is in C anyway, no need to give the constants useful values
19:27:44skrzypno one said that any of this OS are perfect and 100% compatible with anything else
19:27:55Araq_as a result every spec in assembler is more useful than Posix.
19:28:01skrzyp(while the other ones are sometimes incompatible between their own releases too)
19:28:42cheatfateskrzyp, then don't blame 10 active developers, because you can't run nim on your os
19:28:48skrzypbut the point is that requires a lot less code to write for additional Unix variant than supporting win32
19:29:05Araq_ha ha ha ha.
19:29:21Araq_win32 is actually a platform you can target.
19:29:25skrzypI can, with minor problems which I'm continously trying to report and examine, but at least it runs
19:29:26Araq_posix is nothing.
19:29:49Araq_Nim is full of hacks supporting all the Unixes out there
19:30:21cheatfateskrzyp, windows dont have outdated man pages, as Unix
19:30:33Araq_what's the sizeof(time_t)?
19:30:58dom96As I said previously:
19:30:59dom96skrzyp: foosball: strange that people still have this problem. Here is the code that attempts to find it https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/nimscriptsupport.nim#L175
19:31:02skrzypwindows doesn't have any manpages, so they're not outdated, you've got a point :)
19:31:14dom96You can clearly see how it tries to find nimscriptapi.nim
19:31:21dom96so i'm curious what is going wrong there
19:31:25Araq_and it goes downhill from there, structs may have some fields, but may have more
19:31:45Araq_no sizes are specified, constant values have no value
19:31:51Araq_alignments are unknown
19:32:21cheatfatedom96, do you remember some months ago we got one guy with openbsd which just put aliases on some system commands, because he dont used it, but nim installation script uses?
19:32:51cheatfateskrzyp, do you have aliases on your shell?
19:33:25dom96cheatfate: yes, but I doubt this is the issue here
19:33:29skrzyplots of them
19:33:40dom96install.sh worked fine for skrzyp
19:33:42cheatfateskrzyp, could you please disable them all and try again?
19:33:52skrzypbut I've already fixed Nimble with install_nimble.nims
19:34:26namnguyenwhile we're here, can we make it so that nimble works similarly to virtualenv?
19:34:38skrzypthat was throwing an "SIGABRT not supported" error today's morning, but someone fixed that
19:34:38dom96Ahh, so Araq's magical script fixed your problem?
19:34:50dom96the "Can't find nimscriptapi.nim" problem?
19:34:56skrzypyes
19:35:03skrzypstill can't figure why
19:35:07skrzypthe fucking magic happens
19:35:09skrzypsometimes
19:35:44dom96can you reproduce the error?
19:35:51dom96I would really love to know why
19:35:58*benwbooth quit (Quit: Textual IRC Client: www.textualapp.com)
19:36:04*euantor joined #nim
19:36:08dom96The likely problem is that you've moved the nimble binary to some strange location
19:37:24skrzypdom96: yes. but I've added it to $PATH, not symlinked
19:37:35skrzypand used nimbleDir in nimble.ini
19:38:01dom96so you moved the binary and just expected it to work? :P
19:38:16skrzypnot the binary, but whole .nimble
19:38:39dom96hrm
19:38:49skrzypas someone else said here, you can move it safely when it's on your $PATH and relevant nimble.ini options are configured
19:39:00dom96I said that
19:39:13skrzypI think I should test some larger project with nimble and nim
19:39:24skrzypto test if everything else works as intended
19:39:28skrzypany suggestions?
19:39:28dom96And yes, that should be the case. But to be fair I never tested it personally.
19:39:35dom96Aporia perhaps
19:39:45dom96nimble install aporia
19:40:38skrzypanything else?
19:41:03euantorDepends on how big you want
19:41:23euantorThere's this whole list: https://github.com/nim-lang/packages/blob/master/packages.json
19:42:02skrzypError: execution of an external compiler program 'gcc -c -w -pthread -O3 -fno-strict-aliasing -I/home/skrzyp/src/lang/nim/nim/lib -o /tmp/nimb
19:42:04skrzyple_64088/githubcom_nimlangAporia/nimcache/stdlib_system.o /tmp/nimble_64088/githubcom_nimlangAporia/nimcache/stdlib_system.c' failed with exit code: 256
19:42:15skrzypI think I should figure out how to use egcc instead of gcc…
19:42:31skrzyp(it's the same thing, but 4.9 instead of backported 4.2.1)
19:42:35dom96skrzyp: Is nimble installing packages to the nimble dir that you configured now?
19:43:11dom96Only reason I can think of for the missing nimscriptapi error is if you moved the .nimble dir and didn't configure it correctly (placed the config in the wrong dir or something).
19:43:55skrzypdom96: no, Araq_' s script had created both directories: <git sources>/bin/nimblepkgs/… and ~/.nimble and I haven't moved it yet, I'm going to try it in a moment
19:44:37dom96skrzyp: Yes, but does running `nimble install sdl2` (for example) install sdl2 into `.nimble`?
19:44:45dom96or does it install it into the directory that you configured?
19:46:23dom96Unless I'm missing something then this is the only explanation for your error.
19:46:28skrzypdom96: I'm doing it again from scratch now, so we'll see
19:46:37skrzypis that 'r' before path needed?
19:46:49dom96no, unless you're on windows.
19:46:49skrzypnimbleDir = r"C:\Nimble\" - readme.md says
19:47:03dom96or have \ in your path somehow on Unix
19:47:13*Europa joined #nim
19:47:29dom96Nimble should also output something like "Using config file from ..."
19:48:37skrzypyes, now everything in that matter works okay, I've just installed 'sdl2' and looks like it was being placed in correct directory
19:48:49skrzypI'm wondering what was wrong previously
19:49:16skrzypbut I used a nimble from official "unix" install method instead of install_nimble.nims
19:49:32skrzypmaybe that was hardcoded or sth
19:50:24skrzypanyway, aporia fails to build due to GCC error, maybe GCC 4.9 will help with that, but I should figure how to tell Nim to use /usr/local/bin/egcc as a C compiler
19:50:52*BitPuffin quit (Ping timeout: 264 seconds)
19:51:10dom96I'm going to improve the "Cannot find nimscriptapi.nim" error so that it specifies the directories it attempted to find it in.
19:51:19dom96Should help with fixing it.
19:53:06*mahasamoot_ joined #nim
19:53:28skrzypThe moment when OpenBSD will finally switch to LLVM toolchain might a very good time for such issues like that, while LLVM is a bit more consistent with their decisions than GCC team
19:53:43*mahasamoot quit (Ping timeout: 252 seconds)
19:53:49skrzyp(there are 3 actively developed GCC branchews -.-)
19:54:58*Europa left #nim (#nim)
19:55:22Araq_skrzyp: MorphOS! I want it, can you port it?
19:55:37dom96skrzyp: why is there 3 branches?
20:00:00*deavmi quit (Ping timeout: 250 seconds)
20:02:20*euantor quit (Remote host closed the connection)
20:09:32*akaisora__ quit (Read error: Connection reset by peer)
20:23:33deavmi_mobileAraq_: what is MorphOS?
20:23:54Araq_something that eventually will morph into an OS
20:23:55deavmi_mobileoh I see
20:24:00deavmi_mobilelol
20:26:44*TheLemonMan quit (Quit: "It's now safe to turn off your computer.")
20:31:44edub4rtI am trying to use var parameter in async proc, but getting the error "Error: illegal capture", var parameters in async procs are not supported? is there a workaround?
20:34:30*cnu- quit (Ping timeout: 260 seconds)
20:35:28Araq_edub4rt: workaround: use 'ptr' and be very careful
20:36:32edub4rtwhat you mean by "be vary careful"? what I cannot do?
20:39:33edub4rtthe code I am planning to do it's going to use a lot of async routines, is there something that I need to know? some limitation?
20:40:08Araq_well if you modify something on the stack via ptr, then it cannot really work
20:40:22Araq_because the stacks are gone in async mode
20:40:57Araq_(which is kind of the point of this whole "no threads, no blocking" business)
20:48:43*Demos quit (Ping timeout: 252 seconds)
20:51:33*cnu- joined #nim
20:51:34*cnu- quit (Excess Flood)
20:52:06*tankfeeder quit (Quit: Leaving)
20:52:11*cnu- joined #nim
20:52:11*cnu- quit (Excess Flood)
20:52:40*cnu- joined #nim
20:52:41*cnu- quit (Excess Flood)
20:53:59*euantor joined #nim
20:54:06*cnu- joined #nim
20:54:07*cnu- quit (Excess Flood)
20:54:37*cnu- joined #nim
20:54:39*cnu- quit (Excess Flood)
20:55:00*euantor_ joined #nim
20:55:06*cnu- joined #nim
20:58:37*euantor quit (Ping timeout: 252 seconds)
20:59:58dom96Araq_: edub4rt: no, don't use `ptr`. Use `FutureVar[T]`
21:01:23*Demos joined #nim
21:07:16*mostworst joined #nim
21:09:34edub4rtdom96: thanks, that will work better
21:10:31*Sembei quit (Read error: Connection reset by peer)
21:10:38edub4rtthe asyncdispatch operations are runned in the same thread of runForever() right?
21:11:39*Sembei joined #nim
21:12:21Araq_for now.
21:13:10edub4rtdom96: maybe you can help me with this too, in the asyncnet chat server example (http://nim-lang.org/docs/asyncnet.html) the "var clients" is maked as {.threadvar.}, what is the point? aren't all operations done in the same thread?
21:13:29Araq_for now.
21:14:21edub4rtwhat you mean Araq_? there are plans to to run the asyncdispatch in another thread (not the same as runForever()) ?
21:14:59Araq_we're working on moving async tasks around between threads
21:15:03dom96yeah
21:15:14dom96you don't need the 'threadvar' but it might be needed in the future
21:15:17dom96bbl
21:20:40edub4rthmm I see why, the roadmap states that network io multiplexing is on the plan, good to know
21:23:41*Matthias247 quit (Read error: Connection reset by peer)
21:24:00*xet7 joined #nim
21:32:58*BitPuffin joined #nim
21:34:37*BitPuffin quit (Disconnected by services)
21:34:40*itPuffinB joined #nim
21:35:01*euantor_ quit ()
21:35:58*itPuffinB is now known as BitPuffin
21:36:44cheatfateAraq_, i'm still in trouble :(
21:37:17cheatfatei still can't get seq[int <----- parameter] from varargs[typed]
21:39:54*Demon_Fox quit (Remote host closed the connection)
21:51:12cheatfateAraq_, nm i found it
21:53:12*mostworst quit (Ping timeout: 276 seconds)
21:53:57*elrood quit (Quit: Leaving)
21:59:07*Demos quit (Ping timeout: 252 seconds)
22:05:43cheatfateAraq_, is it possible to get NimNode row and col?
22:06:03cheatfateto generate nice error like nim
22:06:07*BitPuffin quit (Read error: Connection reset by peer)
22:06:09Araq_dunno, perhaps
22:08:19Araq_macros.lineinfo or something
22:09:24*PMunch quit (Quit: leaving)
22:11:22cheatfatenice :)
22:30:16*Jesin quit (Remote host closed the connection)
22:38:36*francisl joined #nim
22:42:03*Jesin joined #nim
22:43:42*francisl quit (Quit: francisl)
22:44:00*francisl joined #nim
22:45:13*francisl quit (Client Quit)
22:45:30*francisl joined #nim
22:45:34namnguyenspeaking of crazy OSes, is Emacs among them?
22:45:55*francisl quit (Client Quit)
22:46:16ldleworkerthat wit
22:46:49*Demos joined #nim
22:49:07Araq_Emacs? that programming system that uses sexprs rather than untyped, unsafe, archaic, primitive, pathetic streams of bytes? nope, that one is great.
22:50:25Araq_took us 3 decades to copy that design, it's now called JSON, I believe
22:50:51*mahasamoot_ quit (Ping timeout: 240 seconds)
22:51:23*GangstaCat quit (Quit: Leaving)
22:53:23Araq_meanwhile in Unix land, "commit messages should not be longer than 80 characters because my tool doesn't know how to word wrap and I cannot even imagine a non-broken tool"
22:55:18*Jesin quit (Quit: Leaving)
22:55:43*Jesin joined #nim
22:55:58*Trustable quit (Quit: Leaving)
22:58:06*Demos quit (Ping timeout: 250 seconds)
23:06:27*Demos joined #nim
23:06:41edub4rtquick question, does nim copy the string or use raw pointers in the following case: I have "proc f(data: string)", then I call this proc casting a slice of uint8 array casting to string, like "f(cast[string](myarray[0..8]))"
23:08:04edub4rtwhat I want to know will nim optimize to avoid duplication in this case?
23:08:59renesac_I would guess that the slice copies the data and you cast over that copied data
23:09:48edub4rtthe nim manual states: "Slices are optimized so that no copy is performed"
23:10:01renesac_where?
23:10:04*deavmi_mobile quit (Read error: Connection reset by peer)
23:10:04edub4rthowever say nothing about casting a slice to a string
23:10:20edub4rthttp://nim-lang.org/docs/manual.html
23:11:04renesac_following that:
23:11:04renesac_This optimization is not yet performed for ordinary slices outside of a parallel section.
23:11:18renesac_are you inside a parallel section?
23:12:10edub4rtI do not now what that really mean, but I think i'm not
23:12:14*mahasamoot joined #nim
23:12:15edub4rtknow*
23:13:10edub4rtjust read, I don't make use of the parallel keyword in my codes
23:21:51*yglukhov quit (Remote host closed the connection)
23:26:53edub4rtI've just compiled a simple test case of that in release, read the generated C code, and does look like its duplicating
23:27:56edub4rtcheatfate: this is ralated with the async UDP net that you are working, in your PR currently there are only sendTo methods that accepts string and none that accepts cstring
23:28:26cheatfateedub4rt, mostly you dont need this methods
23:28:40cheatfateedub4rt, and possible in release version they will be deleted
23:28:45edub4rtcheatfate: this in my case would lead to memory duplication when calling sendTo because my buffers are in array[uint8] while the methods accepts only string
23:29:33cheatfateedub4rt, you need to read caution about dns resolution, if you need speed use another one method with SockAddr
23:29:33edub4rthow so? I need async sendTo/recvFrom
23:29:44cheatfatethere 2 sendTo procs
23:30:00edub4rti am using the one with SockAddr
23:30:29cheatfateso why you are asking me about string one?
23:31:17edub4rtI am asking about a one with cstring, I didn't found one
23:31:17cheatfatesorry i misunderstood you
23:33:33cheatfateok, i dont understand why you are using array[uint8] because you can easily use string?
23:34:33cheatfateeven with 0 bytes inside
23:34:40cheatfatei mean \x00
23:34:56edub4rtmy stream class, which i made, uses array[1480,uint8], more than that I usually send only a slice of it
23:35:06edub4rtI am using your PR, currently working fine, just that I am having trouble with, I do not want memory duplicating as the app I am working on will deal with huge amounts of udp data
23:36:33edub4rtthe net module have a send() with cstring and one with string
23:36:53edub4rtI suggest the same for sendTo async
23:37:35edub4rtand ofcouse the one with cstring have a size parameter
23:37:49cheatfateedub4rt, but why you can't use string with size 1480?
23:38:37edub4rtI can, but I will check if does duplicate when getting a slice of it
23:40:40edub4rtlooking the C code, it does duplicate the memory
23:43:10renesac_I have a module called memViews (not released) for shallow slices, but not really ready for use
23:43:34edub4rtcheatfate: so nothing will change if I work with string, will be still duplicating my buffer when calling sendTo with a slice of other string
23:44:12renesac_theorically it could be made safe for some use cases, and theorically it could be used where an openarray is expected, but that would need compiler support I think
23:44:17dom96You can easily convert a string to a cstring
23:44:29dom96addr myString[0]
23:45:26renesac_and I don't konw how to call the random proc
23:45:29edub4rtdom96: indeed, what I am saying is that there is not method for sendTo that accepts cstring and length, just the one that accepts string
23:46:52renesac_and I think the random proc should not have an internal overflow error... right?
23:47:22dom96edub4rt: hrm, I see. I think you're right.
23:47:44cheatfatedom96, he is right but we using strings everywhere
23:49:35edub4rtcheatfate: I changed my code to string instead of array[uint8], tons of GC code and overhead was added in my code, the binary size also increased, I guess working with array[uint8] is best for what I am doing, its very low level stuff, and I don't need GC messing with
23:50:45dom96The net module defines a 'sentTo' proc which takes a 'pointer'
23:51:05dom96*sendTo
23:51:27dom96I think it's fair to provide the same proc in asyncdispatch
23:51:33renesac_``echo random[int](low(int) .. high(int))`` fails for me with: Error: expression 'random' has no type (or is ambiguous)
23:51:39cheatfateedub4rt, i will make this changes, but you will need to merge it again by yourself, because dom96 will never approve it to mainstream...
23:52:08dom96cheatfate: what makes you think that?
23:52:15edub4rtcool, I will merge myself in my fork
23:52:31cheatfateedub4rt, is it ok if data will be pointer?
23:53:16renesac_but ``echo random[T](low(T) .. high(T))```works
23:53:26edub4rtyes, a pointer to the data and the length of the data
23:53:27renesac_oops
23:53:49renesac_I mean, that compiles and gives an over or underflow
23:54:15cheatfatedom96, maybe because you hate me?
23:55:00renesac_I will file a bug
23:58:37dom96cheatfate: what? Why do you think I hate you?