<< 26-09-2017 >>

00:04:13*jjido joined #nim
00:07:37*couven92 quit (Quit: Client Disconnecting)
00:17:14*Jesin quit (Ping timeout: 255 seconds)
00:19:16*pilne joined #nim
00:21:06*zachk quit (Quit: night)
00:23:04*Jesin joined #nim
00:34:52*pilne left #nim ("Leaving!")
00:45:18*Ven`` quit (Ping timeout: 246 seconds)
00:45:55FromGitter<Varriount> One star until we're at 4000!
00:46:28*Ven`` joined #nim
00:49:05*endragor_ joined #nim
00:49:29FromGitter<Varriount> Araq: What's an "opt" type?
00:52:17*endragor quit (Ping timeout: 248 seconds)
00:53:04FromGitter<Yardanico> @Varriount Option[T] done right
00:53:21FromGitter<Varriount> Howso?
00:53:47FromGitter<Yardanico> https://gitter.im/nim-lang/Nim?at=59c8f7ba210ac269206ce47e
00:53:50FromGitter<Yardanico> I don't know :)
01:00:03FromGitter<Yardanico> I should screenshot this
01:00:14FromGitter<Yardanico> screw it, maybe register an alt github account?
01:00:15FromGitter<Yardanico> (https://files.gitter.im/nim-lang/Nim/rcxz/image.png)
01:04:54FromGitter<Varriount> Nah, needs to be genuine
01:09:36FromGitter<Yardanico> I can't go to sleep now
01:10:13FromGitter<Yardanico> until I'll screenshot 4000 stars
01:13:37FromGitter<Yardanico> @Varriount will you make a screenshot for 4000 stars?
01:16:15FromGitter<Yardanico> http://eta-lang.org/docs/html/getting-started.html#running-your-first-program ⏎ interesting - haskell language implementation written for JVM?!
01:16:28FromGitter<Yardanico> "you can reuse Java and Haskell libraries in Eta projects"
01:16:41FromGitter<Yardanico> The Eta Programming Language, a dialect of Haskell on the JVM
01:20:28*chemist69 quit (Ping timeout: 240 seconds)
01:24:11*endragor joined #nim
01:25:17*endrago__ joined #nim
01:26:36FromGitter<Yardanico> ok, I'm going to sleep
01:26:43FromGitter<Yardanico> hope someone (only one) stars nim repo meanwhile
01:27:58*endragor_ quit (Ping timeout: 264 seconds)
01:28:35*endragor quit (Ping timeout: 240 seconds)
01:33:10*Tanger quit (Remote host closed the connection)
01:33:50*endragor joined #nim
01:34:31*chemist69 joined #nim
01:38:10*endrago__ quit (Ping timeout: 264 seconds)
01:43:59*Tanger joined #nim
01:46:16*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
02:08:02*jsgrant quit (Read error: Connection reset by peer)
02:08:46*jsgrant joined #nim
02:18:25*endragor_ joined #nim
02:22:01*endragor quit (Ping timeout: 240 seconds)
02:35:42*endragor_ quit (Remote host closed the connection)
02:39:58*vlad1777d quit (Quit: Leaving)
02:44:56FromGitter<genotrance> There you go: https://imgur.com/a/UJCh7
02:55:21*Ven`` quit (Ping timeout: 240 seconds)
02:58:10*Ven`` joined #nim
02:58:47ehmryg++ -Dprivate=public
02:58:53ehmrydon't get mad at C++, get even
03:01:49*endragor joined #nim
03:15:50*libman quit (Quit: Connection closed for inactivity)
03:28:36*dddddd quit (Remote host closed the connection)
03:39:43*Ven`` quit (Ping timeout: 240 seconds)
03:43:10*Ven`` joined #nim
03:57:11*endragor quit (Remote host closed the connection)
03:57:22*bartoc joined #nim
03:57:32*bartoc is now known as Demos
03:57:41Demoswhat does {.exportc.} do for types>
03:57:53Demosjust change their name if/when they are defined in the generated code?
03:59:11*endragor joined #nim
03:59:25*endragor quit (Remote host closed the connection)
03:59:27*endragor_ joined #nim
04:05:13*libman joined #nim
04:12:58*mahmudov quit (Ping timeout: 264 seconds)
04:14:36*chemist69 quit (Ping timeout: 246 seconds)
04:15:49*chemist69 joined #nim
04:22:03*relax joined #nim
04:25:35*def-pri-pub left #nim (#nim)
04:31:32*vendethiel- joined #nim
04:32:01*Ven`` quit (Ping timeout: 240 seconds)
04:33:35*jjido quit (Ping timeout: 240 seconds)
04:49:15*BigEpsilon joined #nim
04:55:14AraqDemos: yes
04:59:05relaxIs there a recommended way to mix Futures and FlowVars? i.e., I'd like it use the async modules "await" on a FlowVar from spawn
04:59:23relaxbest I can come up with is a polling loop with asyncSleep, which feels pretty dirty
05:09:24Araqrelax: a better threadpool that directly supports that is in the works
05:12:11*endragor_ quit (Quit: Leaving...)
05:12:20*endragor joined #nim
05:25:48*Demos quit (Quit: Demos)
05:32:47*relax quit (Ping timeout: 260 seconds)
05:37:13*BigEpsilon quit (Ping timeout: 240 seconds)
05:45:26*ftsf joined #nim
06:07:49*Arrrr joined #nim
06:07:49*Arrrr quit (Changing host)
06:07:49*Arrrr joined #nim
06:07:55*BigEpsilon joined #nim
06:08:40Arrrr4k stars, nim is no longer a hipster language.
06:08:48*mahmudov joined #nim
06:16:00FromGitter<BigEpsilon> @Araq , I have a question for you. I'm adding nested types to c2nim. For that, I map Foo::Bar, where for is a class/struct and Bar a subtype, to FooBar. ⏎ My question is: do I concat FooBar then call mangle rules or do I magle Foo, mangle Bar the concat ?
06:16:49Araqfirst concat, then mangle so that the user has full control over the subtype mangling
06:17:03FromGitter<BigEpsilon> ok thank !
06:19:06*PMunch joined #nim
06:24:51*nsf joined #nim
06:27:16*Jovan left #nim (#nim)
06:33:43*Vladar joined #nim
06:48:46*solitudesf joined #nim
06:54:00mahmudovyglukhov i get this error
06:54:02mahmudovcould not load: libSDL2.so
06:54:12mahmudovi have /usr/lib/libSDL2.so
06:54:34mahmudovcompiling at this ex https://github.com/yglukhov/nimx#usage
06:57:45*yglukhov joined #nim
06:59:07*gokr joined #nim
07:07:22mahmudovwhats the wrong with sdl2 ?
07:07:22mahmudovhttp://ix.io/AgZ
07:07:26mahmudovis any clue
07:10:10FromGitter<Varriount> @BigEpsilon Does this mean C2Nim will be able to parse anonymous structs?
07:16:30Araqmahmudov: never seen this. is /usr/lib in your LD_PATH or whatever it's called
07:16:31PMunchmahmudov, do you have SDL installed?
07:16:50PMunchOh wait, you said that you do have it
07:16:53mahmudovyes already i showed it
07:17:03Araq64 vs 32 bit problem?
07:17:30mahmudovofc my usr/lib in LD_PATH
07:18:07PMunchYeah, my libSDL2.so is in /usr/lib64
07:18:20PMunchSo it could be a 32 vs. 64 issue
07:19:18mahmudovbut i use pure 64
07:20:04PMunchTry "objdump -f /usr/lib/libSDL2.so"
07:20:08mahmudovhm it looks under /usr/lib64
07:20:17mahmudovi did a link under it
07:21:10mahmudovobjdump -f /usr/lib/libSDL2.so
07:21:10mahmudovmimari: i386:x86-64,seçenekler 0x00000150:
07:21:11mahmudovHAS_SYMS, DYNAMIC, D_PAGED
07:21:11mahmudovbaşlangıç adresi 0x0000000000012b70
07:21:35mahmudov /usr/lib/libSDL2.so: elf64-x86-64 dosya biçemi
07:21:35PMunchHmm, that is a 64-bit so
07:23:03*claudiuinberlin joined #nim
07:23:13PMunchMaybe it doesn't search in /usr/lib and only in /usr/lib64 when doing 64-bit?
07:24:00mahmudovyes
07:24:15mahmudovhow can we do search /usr/lib also ?
07:24:57mahmudovconst LibName* = "libSDL2.so"
07:25:02*libman quit (Quit: Connection closed for inactivity)
07:25:09mahmudovnim does the search ?
07:25:10FromGitter<BigEpsilon> @Varriount , I didn't plan that but i can add it if there is a needing to it
07:27:38*rusua joined #nim
07:31:04*sleepyqt joined #nim
07:32:11PMunchmahmudov, try a symlink first to check that that's actually the issue
07:32:19mahmudovok
07:34:50Araqmahmudov: the search is generally not really under Nim's control
07:35:16mahmudovso ?
07:35:30mahmudovit looks by sdl2 code ?
07:35:35mahmudovor sense
07:35:40Araqso it's an OS issue :P
07:36:14Araqprobably good for security, nothing is more secure than refusing to run code altogether
07:36:29mahmudovroot [ /opt/nim-dili/arayuz ]# ln -s /usr/lib/libSDL2.so /usr/lib64/
07:36:29mahmudovroot [ /opt/nim-dili/arayuz ]# ln -s /usr/lib/libSDL2_gfx. /usr/lib64/
07:36:38mahmudovafter it it worked
07:37:00Araqsee? it's done for security.
07:37:01*vendethiel- quit (Ping timeout: 240 seconds)
07:37:15mahmudovbut i use pure 64,namely /usr/lib = /usr/lib64
07:37:24mahmudovi messed,how security
07:37:26PMunchWell, it's probably not a good idea to run a 32-bit binary on a 64 bit system :P
07:37:47PMunchmahmudov, maybe symlink your entire /usr/lib64 to /usr/lib then?
07:37:47mahmudovofc.
07:37:57mahmudovbut some linux distros run together
07:38:35mahmudovbut i know a program,code looks under ld_path
07:38:48mahmudovit can be /usr/lib /usr/lib6
07:38:52mahmudovor etc
07:39:08mahmudovyou know i can add a path under /etc/ld.so.conf
07:39:12mahmudovin linux
07:39:29mahmudovto look libraries from apps
07:39:42Araqyou can also use some linker hacks (there was a PR to do that), *shrug*
07:44:10*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:45:26Araqif I were to sell software for Linux I'd take ten times the price of the windows version :-) and 3x for OSX.
07:45:57*claudiuinberlin joined #nim
07:47:28mahmudovhow it defines *.so in linux,
07:47:41mahmudovwhere is the place of code,can you point me
07:48:09Araqyou said it yourself, const LibName* = "libSDL2.so" ?
07:48:26mahmudovok sdl2.nim does it
07:48:38mahmudovso then?
07:48:46mahmudovhow find the *.so
07:49:38Araqmahmudov: have a look at https://github.com/nim-lang/Nim/pull/6145
07:50:12mahmudovlemme
07:50:31Araqit uses dlopen to find the *.so, if dlopen looks at /usr/lib and not at /usr/lib64 or vice versa it's broken.
07:50:54Araqthere is only so much we can do about fixing your OS for you.
07:51:56mahmudovwait i mean it doesnt look LD_PATH ?
07:55:08Araqdon't ask me.
07:55:41Araqwhat's your distro?
07:55:51mahmudovmilis linux
07:55:56mahmudovmilislinux.org
07:56:19mahmudovi messed sory cuz all apps can run with /usr/lib
07:56:19*Araq adds "milis linux" to his blacklist.
07:57:00mahmudovwhy cant recognize a *.so under /usr/lib
07:57:04*Araq notes "*linux*" is covering this case.
08:06:41*solitudesf quit (Ping timeout: 240 seconds)
08:09:45mahmudovreally weird i compile test_libnotify.nim,it worked
08:10:09mahmudovlibnotify.nim defines : const libnotify_fn* = "libnotify.so.4"
08:10:28mahmudovit recognized my /usr/lib/libnotify.so.4
08:24:43*gokr quit (Ping timeout: 240 seconds)
08:25:40*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:32:58*claudiuinberlin joined #nim
08:37:19*m712 quit (Ping timeout: 248 seconds)
08:38:33*m712 joined #nim
08:50:23*mahmudov quit (Remote host closed the connection)
08:51:35*crem is now known as mooskagh
08:53:51*sleepyqt quit (Ping timeout: 248 seconds)
08:55:45*sleepyqt joined #nim
09:01:10*thomasross quit (Remote host closed the connection)
09:01:34*thomasross joined #nim
09:11:56*mooskagh is now known as crem
09:15:41*endragor quit (Remote host closed the connection)
09:17:28*endragor joined #nim
09:17:57*endragor quit (Remote host closed the connection)
09:21:29*endragor joined #nim
09:23:18FromGitter<mratsim> @mahmudov I think this is more for your distro IRC than Nim's, if your distro doesn't set the LDPATH or the /etc/ld.conf.d/ or /etc/ld.conf we can't do anything about it, even compiling a C program with a shared lib dependency (say libjpeg) will fail
09:27:55FromGitter<mratsim> Furthermore I didn't understand a single thing on their website but apparently it's based on Linux from scratch so you probably have to do a lot of configuration yourself. If your distro is not up to par in documentation I suggest you have a look in Archlinux doc or Gentoo docs regarding linker and LDPATH those 2 distros have the best docs for DIY Linux
09:28:18*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:55:34*chemist69 quit (Ping timeout: 264 seconds)
09:58:54*dddddd joined #nim
10:08:42FromGitter<Jipok> offtopic: something interesting ⏎ http://www.mattkeeter.com/projects/antimony/3/
10:13:59*chemist69 joined #nim
10:25:50*yglukhov_ joined #nim
10:26:07*yglukhov quit (Ping timeout: 248 seconds)
10:31:00*tasansga joined #nim
10:38:08*couven92 joined #nim
10:51:19Araqyay, found another long standing GC bug. nice these things only take a decade to get right
11:03:31*vlad1777d joined #nim
11:13:33yglukhov_Araq: yay! sample crash log please?
11:14:24yglukhov_who is affected?
11:15:02ArrrrI'm sure by now i have stumbled across any possible gc bug, but i'm never aware they are bugs.
11:15:32yglukhov_thats how gc bugs work :)
11:19:18Araqyglukhov_: trying to create a small sample
11:19:37FromGitter<ephja> Araq: what if it had been written by someone who was smarter? :D
11:20:48Araqhmm these words ... can they even put together in a sentence like this?
11:22:01*xet7 quit (Quit: Leaving)
11:23:21FromGitter<ephja> lol. I think so
11:26:24*claudiuinberlin joined #nim
11:29:41FromGitter<ephja> did no reference GCs with the same properties exist at the time?
11:32:10Araqthe paper it was based on is super buggy :P
11:32:24Araqhad a proof of correctness, didn't help.
11:32:36AraqI think it's still not widely known how broken their solution is
11:32:53Araqbut the remaining bugs are my own.
11:32:59FromGitter<ephja> lol I remember now
11:47:57FromGitter<zacharycarter> morning
11:51:50*solitudesf joined #nim
11:58:59*Demos joined #nim
12:02:49*mahmudov joined #nim
12:05:57*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:07:38FromGitter<mratsim> Hey Zachary
12:09:10FromGitter<mratsim> I suppose it's an obvious no: Is there a way to get the length of a seq and generating AST depending on this length?
12:09:26FromGitter<mratsim> (in a macro)
12:11:49FromGitter<Yardanico> only if it is a compiletime seq
12:12:04FromGitter<Yardanico> AFAIK
12:13:24*gokr joined #nim
12:14:36FromGitter<mratsim> Nah that won't work, but I expected it. I have a good idea though don't need to get it inside the macro
12:14:50FromGitter<mratsim> *sudden flash of inspiration*
12:15:34*claudiuinberlin joined #nim
12:19:18FromGitter<edubart> In manual, the `||` operator used for OpenMP has this body: `iterator `||`S, T (a: S; b: T; annotation = ""): T {..}` how to I pass the annotation argument in a for loop? I've tried `for i in 0||size,"myannotation"` without success
12:28:07FromGitter<Yardanico> no, you would call it another way
12:28:34FromGitter<Yardanico> ```for x in `||`(0, size, "hi")``` ⏎ ⏎ something like this [https://gitter.im/nim-lang/Nim?at=59ca47f1b20c6424298ab4d8]
12:30:20FromGitter<Yardanico> and nim doesn't know about OpenMP, so you may experience segfaults, SIGSEGV's etc
12:33:33*jjido joined #nim
12:34:08*gmpreussner quit (Quit: kthxbye)
12:36:02*Snircle joined #nim
12:37:09*gmpreussner joined #nim
12:42:28*jjido quit (Ping timeout: 240 seconds)
12:45:45*manjaro-kde5 quit (Remote host closed the connection)
12:55:06*arnetheduck_ joined #nim
12:56:01*Demos quit (Quit: Demos)
12:56:31mahmudovthnks mratsim for light to some words.so i solved this way
12:57:00mahmudov LD_LIBRARY_PATH=/usr/lib && nim c sdl_skeleton
12:57:46mahmudovbut i doesnt requirre same thing for libnotify nim lib
12:58:24mahmudovi think it related packages
12:58:34couven92Hmm... writing a stringify for a flags type... What do you think is the best representation for flags? `BIT1 | BIT2 | BIT3` or `{BIT1 | BIT2 | BIT3}` or `BIT1, BIT2, BIT3`, or `{BIT1, BIT2, BIT3}`? (Yes this is a poll... :P General purpose)
12:59:19*sz0 joined #nim
12:59:34Araq{BIT1, BIT2, BIT3}
13:00:50couven92Araq, hmm... since this is for compatability with importc `BIT1 | BIT2 | BIT3` could also be argued for... but the set-syntax is more nim-ish?
13:00:56*relax joined #nim
13:01:03relaxAraq: great to hear!
13:01:21*mahsav quit (Ping timeout: 252 seconds)
13:02:46*mahmudov quit (Ping timeout: 255 seconds)
13:03:45*mahsav joined #nim
13:09:10couven92Araq, if I implement a flag type for importc as a `distinct int32`, is there a way I can implement set literal syntax for initialization? Like: In the nim code it looks like a regular set, but in reality it is a `distinct int` with all the set procs implemented to make it look like a set?
13:12:39FromGitter<couven92> or is the following completely impossible? ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59ca5247cfeed2eb655073d6]
13:14:09couven92I know implementing `in`, `notin`, etc is no problem... but initialization?
13:16:12Araqdon't use {} for this
13:16:59couven92Araq, instead `proc NewMyFlags(values: varargs[MyFlag]): MyFlag`?
13:17:26couven92(or rather `newMyFlags`
13:17:53cremUnmatched parentheses.
13:18:24*relax quit (Ping timeout: 252 seconds)
13:18:24cremSorry don't have any context, only read last message.
13:19:00couven92crem, yeah... too much coffee to quick typing and to little proof reading will do that :P
13:19:50couven92(missing `o`s in `too` are on purpose of course! ;)
13:26:48FromGitter<Bennyelg> parallel (threads) versus sequential reading from csv row by row , I loss to sequential
13:26:51FromGitter<Bennyelg> so wierd
13:27:44*PMunch quit (Quit: Leaving)
13:31:58*mahsav2 joined #nim
13:34:21*mahsav quit (Ping timeout: 252 seconds)
13:37:14*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:44:42*claudiuinberlin joined #nim
13:46:06FromGitter<Bennyelg> Is it possible to run line by line and beat chunks & parallel processing files? :D
13:47:52*relax joined #nim
13:57:31*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:57:54AraqBennyelg: yes
13:59:06*xet7 joined #nim
14:01:14*endragor quit (Remote host closed the connection)
14:02:13*claudiuinberlin joined #nim
14:02:53*Jesin quit (Quit: Leaving)
14:05:50*claudiuinberlin quit (Client Quit)
14:06:57*claudiuinberlin joined #nim
14:07:20*claudiuinberlin quit (Client Quit)
14:08:21*claudiuinberlin joined #nim
14:08:26tasansgacompiling nim fails, any hints what's wrong? https://pastebin.com/b6EV2yCK
14:10:25*ShalokShalom_ joined #nim
14:10:36FromGitter<zacharycarter> I now have my aws lambda job being built on aws with codecommit and codebuild
14:13:24*ShalokShalom quit (Ping timeout: 252 seconds)
14:15:23*madmalik joined #nim
14:16:26Araqtasansga: what command do you use?
14:19:46FromGitter<Yardanico> tasansga: try to remove nimcache directory and recompile
14:19:53FromGitter<Yardanico> ah
14:19:59FromGitter<Yardanico> you're trying to compile nimble
14:20:31FromGitter<Bennyelg> @Araq how come it is possible
14:22:01Araqbennyelg: syncronization overheads, naive usage of 'spawn'
14:22:19*Jesin joined #nim
14:22:40FromGitter<Bennyelg> But I don't see how ist possible :(
14:30:35relaxwhat's the best way to have some expensive per-thread objects pre-computed for use in 'spawn'? A global {.threadvar.}
14:30:48relax... {.threadvar.}?
14:32:24*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:41:28*claudiuinberlin joined #nim
14:41:42*relax quit (Ping timeout: 260 seconds)
14:42:02*manjaro-kde5- joined #nim
14:44:40couven92does `not` do binary complement on numeric types in nim? (i.e. `~` in C)
14:45:59FromGitter<Bennyelg> How can I monitor the parallelism except top
14:50:30Araqcouven92: yes
14:52:38*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:56:40tasansgaRemoved nimcache and recompiled, same result. I'm simply running ./koch tools... am I missing some dependencies? Is everything else already done and this failure is just nimble?
14:59:43FromGitter<mratsim> @Bennyelg htop?  Or have threads echo/log something or run your binary with gdb
15:01:03*mahmudov joined #nim
15:05:32*Guest61894 joined #nim
15:07:27*Guest61894 quit (Client Quit)
15:09:36*Demos joined #nim
15:10:52*claudiuinberlin joined #nim
15:14:13*gokr quit (Ping timeout: 240 seconds)
15:16:13*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:18:58*claudiuinberlin joined #nim
15:21:39Araqtasansga: do you use 'choosenim'? if so, try to not use it, if not, try to use it... lol
15:25:10*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:27:01*relax joined #nim
15:28:31*sz0 quit (Quit: Connection closed for inactivity)
15:28:35*BigEpsilon quit (Ping timeout: 240 seconds)
15:29:01*claudiuinberlin joined #nim
15:30:28*PMunch joined #nim
15:30:44*Demos quit (Ping timeout: 255 seconds)
15:33:15couven92Araq is there a way to check for the nim version in a when? to write backwards compatible nim codE?
15:34:45FromGitter<genotrance> @Yardanico, @Varriount: Nim repo at 4k - https://imgur.com/a/UJCh7
15:38:18FromGitter<Yardanico> yeah, we saw it, thanks :)
15:38:35FromGitter<Yardanico> I mean I saw your message eariler :)
15:39:09*Demos joined #nim
15:40:00FromGitter<Yardanico> Would you guess what was the first issue about Nim on GitHub? https://github.com/nim-lang/Nim/issues/1
15:40:04FromGitter<Yardanico> Trojan horse reported by avira free-av during the setup (installer)
15:41:35Araqcouven92: system.NimVersion exists
15:41:44couven92ah! :)
15:42:36FromGitter<genotrance> any opinion on Mingw-w64 vs VS20xx on Windows as the compiler backend for Nim? Also Clang?
15:43:54couven92@genotrance the vccexe tool greatly simplifies using the vcc compiler backend (not yet ready for VS2017, but I'm working on it)
15:45:13couven92@genotrance MinGW is a MUCH smaller install, but if you already have VS20xx installed, you get native cross-compilation out of the box
15:45:33*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:46:17*TjYoco joined #nim
15:46:21FromGitter<genotrance> i already have mingw working so not much incentive to fight with VS
15:46:33FromGitter<genotrance> but just curious if it is worth it to move to express
15:46:52FromGitter<genotrance> also, was looking at Clang but that needs VS as well so am not very motivated
15:48:21couven92and as soon as https://github.com/nim-lang/Nim/pull/6397 gets merged (Araq?) nim will also generate Visual Studio (and VS Code) step-by-step debugging information
15:48:36FromGitter<Varriount> It's possible to install just the Visual C compiler without Visual Studio
15:48:39couven92although I think GDB works fine on windows with MinGW as well, right?
15:49:29couven92@genotrance yes, as @Varriount points out, here's the standalone build tools link: http://landinghub.visualstudio.com/visual-cpp-build-tools
15:49:44FromGitter<genotrance> ya gdb works well for the most part
15:49:57FromGitter<Varriount> Microsoft finally re-added the package, after removing it for a couple of years
15:50:35couven92@genotrance do GDB and VS code play nice with each other?
15:50:57couven92i.e. do you get setp-by-step debugging with GDB on Windows in VS code?
15:51:58FromGitter<genotrance> no idea, I just use Scite for an editor, gdb on the command line and build with mingw
15:52:14*mahmudov left #nim ("Leaving")
15:52:26FromGitter<genotrance> so as low-tech as it gets for now
15:52:42FromGitter<Varriount> Attach to the process?
15:53:23couven92ah... would be interesting to know how that works... The reason why I use VS daily is because I mostly write C# and I am spoiled by rich IntelliSense and step-by-step debugging
15:53:55FromGitter<genotrance> I'd like to be spoiled for a change, sounds like I should install vscode and vs build tools and see how it works out
15:54:05FromGitter<genotrance> can you do step by step debugging with vs code for Nim?
15:55:33*manjaro-kde5__ joined #nim
15:55:57FromGitter<Yardanico> yes
15:56:02FromGitter<Yardanico> at least tested on linux :)
15:56:24couven92@genotrance, to some degreee... I am currently looking into generating a PDB (a Windows Debugger Program Database that VS and VS Code use for step-by-step debug) that refers to the Nim source code instead of the generated C source
15:57:11FromGitter<Jipok> (https://files.gitter.im/nim-lang/Nim/Cgrt/___________.png)
15:57:13couven92But debugging the generated C source step-by-step is actually not as painful as I originally expected :P
15:57:22FromGitter<Jipok> What am I doing wrong? How to get normal names?
15:57:53*claudiuinberlin joined #nim
15:58:10FromGitter<Jipok> Why do not I see the variables?
15:58:43*manjaro-kde5- quit (Ping timeout: 255 seconds)
15:59:06FromGitter<Yardanico> did you compile with debug symbols on?
15:59:42FromGitter<Yardanico> try "nim c --debugger:native file.nim"
16:00:34FromGitter<Yardanico> also use this
16:00:35FromGitter<Yardanico> https://github.com/cooldome/Nim-gdb
16:01:09FromGitter<Jipok> i use --debugger:native --lineDir:on --debuginfo
16:01:51*Demos quit (Quit: Demos)
16:01:58FromGitter<Jipok> Nim-gdb tried. nothing changed
16:02:06*Demos joined #nim
16:06:00FromGitter<genotrance> what does -d:release do? is it any different from --debugger:native --stackTrace:on --lineTrace:on?
16:06:57FromGitter<Jipok> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59ca7b21b59d55b8233cd06a]
16:07:03FromGitter<genotrance> @couven92: thanks for the info - so you are saying that as things stand today, on Mingw+GDB I can debug Nim line by line, whereas with VS, it is the generated C code. WIP for Nim source debugging in VS.
16:09:06*libman joined #nim
16:09:38FromGitter<genotrance> thanks @Jipok, typo, I meant -d:debug
16:10:17couven92@genotrance, yes that is correct. Microsoft recently released the specs on the PDB debugger format, so LLVM is currently also working on the similar implementation for clang... However, I cannot give any promises as to how far into the future a working nim-pdb will be...
16:10:45*BigEpsilon joined #nim
16:11:56couven92(also not sure how many would like such a feature...)
16:11:56*jsgrant quit (Read error: Connection reset by peer)
16:13:12couven92I'll do a Nim language integration with IntelliSense into VS soon... but well, I have been thinking about that for almost a year now, without finding time to do it...
16:13:12*Demos quit (Ping timeout: 240 seconds)
16:14:21couven92I am very close to getting vccexe to detect if and where a VS2017 compiler is installed though... so vccexe will get a VS2017 update soon :)
16:15:27FromGitter<Yardanico> couven92: https://github.com/Gravityzwell/NimStudio can help you maybe? with nim language integration with VS
16:16:02couven92Yardanico, yes that is my starting point, but that one is a little out of date iirc
16:16:24*ivmachiavelli joined #nim
16:16:31ivmachiavelli.
16:19:09*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:21:36couven92is `notin` a template for `not(a in b)` or do I have to implement the `notin` operator myself?
16:22:14*Demos joined #nim
16:23:45couven92ah, it is a template... and so is `in`... so I only have to implement `contains` yaih!
16:28:12*LargeEpsilon joined #nim
16:28:43*BigEpsilon quit (Read error: Connection reset by peer)
16:30:43FromGitter<Yardanico> (https://files.gitter.im/nim-lang/Nim/iEry/image.png)
16:30:52FromGitter<Yardanico> sorry, I didn't want to send it here :D
16:31:22*gokr joined #nim
16:32:40*ShalokShalom_ is now known as ShalokShalom
16:35:29*TjYoco quit (Quit: Leaving)
16:38:54*voice_ftp quit (Remote host closed the connection)
16:39:12*voice_ftp joined #nim
16:42:13*georgy joined #nim
16:50:51FromGitter<adamrezich> if one `setLen()`s a seq to be larger than its current size, the added items will be zeroed, right?
16:53:21*nsf quit (Quit: WeeChat 1.9)
16:56:11dom96adamrezich: yes, but test to be sure
16:57:13*vlad1777d quit (Ping timeout: 255 seconds)
17:00:06FromGitter<adamrezich> seems to work okay for a seq of bools at least :>
17:00:15*georgy quit (Quit: Konversation terminated!)
17:04:01*gokr quit (Ping timeout: 240 seconds)
17:04:28*kobi7 joined #nim
17:05:00*Demos quit (Ping timeout: 252 seconds)
17:08:35FromGitter<ephja> couven92: template `notin` * (x, y: untyped): untyped {.dirty.} = not contains(y, x)
17:09:11*yglukhov_ quit (Remote host closed the connection)
17:09:24*LargeEpsilon quit (Ping timeout: 252 seconds)
17:09:56FromGitter<ephja> couven92: I missed the other thing you said
17:10:10couven92@ephja np :)
17:16:13*solitudesf quit (Remote host closed the connection)
17:18:38*yglukhov joined #nim
17:19:26*LargeEpsilon joined #nim
17:20:17*zachk joined #nim
17:23:11*yglukhov quit (Ping timeout: 248 seconds)
17:27:11*vlad1777d joined #nim
17:29:12*couven92 quit (Quit: Client disconnecting)
17:34:22*vlad1777d quit (Remote host closed the connection)
17:34:23FromGitter<genotrance> do we have a page describing how to best use VSCode with Nim - dev, debug, etc?
17:35:43*Trustable joined #nim
17:35:48*LargeEpsilon quit (Ping timeout: 252 seconds)
17:36:12*plexigras joined #nim
17:36:56plexigrasis there a nim repl?
17:38:01FromGitter<krux02> thin Warning "Cannot prove that 'event' is initialized, is initialized. This will become a compile time error in the future" is really becoming annoying with the sdl2 Event
17:38:11FromGitter<krux02> no matter what I do, it does not disappear
17:38:28FromGitter<krux02> pragma warning off: nope still there
17:38:46FromGitter<krux02> use the defaultEvent object to initialize it, nope still there
17:38:57FromGitter<krux02> use zeroMem ot initialize it, nope still there
17:39:13FromGitter<krux02> no matter what I do, It will not disappear
17:39:17FromGitter<krux02> it's annoying
17:39:21*jjido joined #nim
17:39:39FromGitter<krux02> plexigras: do you have a linux like OS?
17:39:50FromGitter<krux02> if yes I recommend installing "rlwrap"
17:40:36FromGitter<krux02> and then run "rlwrap nim secret" but be aware that this interactive nim version is the nim that is can be used at compile time. it is just bytecode compiled
17:40:40FromGitter<krux02> you won't have pointers
17:41:27FromGitter<krux02> plexigras: if you don't have unix like os, just do "nim secret"
17:41:30*claudiuinberlin joined #nim
17:42:39FromGitter<ephja> @krux02 I don't think you can prevent that yet in some cases
17:43:55plexigrasok thx im on arch and just installed nim for the first time
17:45:17FromGitter<krux02> sudo pacman -S rlwrap nim
17:45:26FromGitter<krux02> ``rlwarp nim secren``
17:46:54*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:47:10*Demos joined #nim
17:47:48plexigrasis nim by example a good point to start?
17:48:04FromGitter<krux02> I think so
17:48:09*Demos quit (Remote host closed the connection)
17:48:16FromGitter<krux02> do whateven you think helps you most
17:48:49FromGitter<krux02> I just did the official starting point and then used the API index for the rest
17:48:56FromGitter<krux02> and asked a lot of questions here
17:49:39FromGitter<krux02> but that's me doesn't mean that it is the best path for you
17:50:14*endragor joined #nim
17:50:17*claudiuinberlin joined #nim
17:50:47*TjYoco joined #nim
17:51:21*yglukhov joined #nim
17:53:04FromGitter<genotrance> @plexigras: I started with Nim by convering my Python app into Nim line by line
17:54:35*endragor quit (Ping timeout: 240 seconds)
17:54:42*jsgrant joined #nim
17:56:10*yglukhov quit (Ping timeout: 264 seconds)
17:56:47FromGitter<stisa> @krux02 regarding your "initialized" warning, are you using enums? Check that there's a value for zero, as that's the default value
17:59:08*Arrrr quit (Disconnected by services)
17:59:08*Arrrr1 joined #nim
17:59:13*Arrrr1 quit (Client Quit)
18:00:35FromGitter<krux02> @stisa I just use the official sdl2 wrapper for Nim
18:00:52FromGitter<krux02> as soon as you use the Event type, you get that warning
18:01:06FromGitter<krux02> no matter how you use that type the warning is inevitable
18:03:22FromGitter<Yardanico> @krux02 yeah, I have this warning too sometimes
18:03:22Araqkrux02: maybe I can fix it tonight
18:04:03FromGitter<stisa> EventType starts at 0x100, so the enum has an undefined value at 0. Simply adding `None = 0`to that enum should fix it, similar error: https://forum.nim-lang.org/t/3026
18:08:43*solitudesf joined #nim
18:10:34*kobi7 quit (Quit: Leaving)
18:17:15*adeohluwa joined #nim
18:17:41FromGitter<krux02> Araq: cool, that would be really nice
18:18:11adeohluwahttps://usercontent.irccloud-cdn.com/file/9YREz8jx/irccloudcapture290255382.jpg
18:18:21adeohluwahe's tremendously on point with 1 & 2
18:18:43libmanFixation on GitHub stars only strengthens our addiction to Big Dot Coms that centralize Internet power and are in bed with the government, maan... </libertarian-puritan>
18:19:00adeohluwa3 & 4 are sort of subjective
18:19:39TjYocoIts written in many places that #2 is going to be fixed
18:19:55adeohluwathat would be nice
18:19:59FromGitter<krux02> I have an answer to "2"
18:20:40dom96Why don't you just create a paste with this instead taking a photo with a camera...?
18:21:00FromGitter<krux02> TjYoco: yes, but I don't think it is "fixable" because when you write marcors that create function declarations, it is quite important to have an order
18:21:00FromGitter<genotrance> adeohluwa: what's the original link?
18:21:10libmanMaybe each kind of complile error should have a link to a wiki for discussing it.
18:21:33FromGitter<ephja> http://www.nongnu.org/lzip/xz_inadequate.html
18:21:45AraqI see no valid points here, sorry.
18:22:54TjYocoWell those issues seem like mostly opinions and not actually issues anyway
18:23:04adeohluwagenotrace: https://www.quora.com/What-do-you-say-about-Nim-programmning-language
18:23:15FromGitter<krux02> I don't have problems with the compiler error messages, I like that the order of procedure declarations still matters, style insesitiveness is something I just pretent is not there, and the last poist, yea, just ignorant
18:23:29FromGitter<krux02> where is that from?
18:23:29adeohluwaTjYoco: like I said 3 & 4 are subjective
18:23:57adeohluwaquora
18:24:55adeohluwalibman: I'm thinking along the lines of hand holding errors
18:25:14*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:25:17TjYocowell, adeohluwa, its still in development so it will only get better from here
18:25:20adeohluwaI think elm language & racket language set the bar high for error messages
18:25:39adeohluwaTjYoco: I'm not super worried already hooked to nim lang
18:25:51FromGitter<krux02> scala, too
18:25:57adeohluwaits sort of already the best thing out there to me so I'm hostage
18:26:21FromGitter<krux02> scala is a very nice language, where I never had out of index errors or null pointer stuff
18:26:45Araq(1) is mostly ignorance, a powerful language which metaprograms its features will always have worse error messages. it's a tradeoff
18:27:05adeohluwakrux02: never looked into it
18:27:10Araq(2) will be addressed by the reorder PR
18:27:57FromGitter<krux02> Araq: not sure about (1), I think Nim allows custom error messages for embedded DSLs, that is far superior to what most c++ metaprogramming is
18:28:04adeohluwaAraq: kinda like lisps , #2 is good news tho!
18:28:56Araq(3) is irrelevant. could enforce a style in the compiler instead, this would forbid under_scores, but designer fascism is not "engineering"
18:29:12FromGitter<krux02> most important to me is that error messages are actually reported, where the error occurs, I just remember c++ errors in files where no error was. I just forgot a semicolon at the end of a header
18:29:20FromGitter<krux02> but it got better by now
18:29:32adeohluwahilarious!
18:29:33FromGitter<krux02> maybe we should stop arguing about this no
18:29:37libmanThe ideal programming language would express errors by playing videos of nude college girls dancing while reciting the error details.
18:29:51ivmachiavellilol
18:30:03FromGitter<krux02> well yea
18:30:07*claudiuinberlin joined #nim
18:30:17Araq(4) can be done with a tuple of closures, a bit verbose but it works
18:30:22FromGitter<krux02> I guess that would take the focus away
18:30:33Araqand is used extensively in the compiler too.
18:30:45adeohluwalibman: true I just stumbled on the page while answering a Nim question thought it was roughly accurate versus mostly biased views u see around
18:30:52libman(With gender and other preference settings, of course.)
18:31:24TjYococoming from c# and not being a programmer by trade, #4 is very hard for me to get used to
18:32:53FromGitter<krux02> but you dont need mixins in nim
18:33:09FromGitter<krux02> it's just a different style of programming
18:33:30FromGitter<krux02> I used taits in scala and implicit conversions and stuff to extent my classes
18:33:51FromGitter<krux02> and then I learned about Nim, and all of a sudden I just stopped needing that stuff
18:34:01FromGitter<krux02> I could do everything with simple procs
18:34:12FromGitter<krux02> really felt like a relieve not a constraint
18:34:20FromGitter<krux02> and then I can place them whereever I want to
18:35:47*Ven`` joined #nim
18:36:36*yglukhov joined #nim
18:36:38*tasansga left #nim (#nim)
18:39:18*couven92 joined #nim
18:45:03*chemist69 quit (Ping timeout: 246 seconds)
18:56:15couven92Araq, why can't I assign strVal of an `nnkCommentStmt` node? Didn't I fix that a while ago?
18:57:45*gokr joined #nim
19:02:00couven92yes, PR #5850 hmmm
19:02:36*chemist69 joined #nim
19:04:08ivmachiavelliHave any of you completed the Nim in action book?
19:04:15couven92ah, I used the wrong nim version in my nimble...
19:04:49FromGitter<Yardanico> ivmachiavelli: I'm sure someone did :)
19:04:52FromGitter<Yardanico> at least dom96 did it :DDD
19:05:40ivmachiavelliJust wondering where everyone picked up the language other than the docs I don't really see many resources yet.
19:06:04ivmachiavelliI just started the book
19:07:17FromGitter<genotrance> @ivmachiavelli: I used the docs to port my Python app to Nim - it was pretty much line by line minor syntax changes. Helped get an understanding of stuff. After that, it was references here and there when I was trying to accomplish specific things
19:10:23FromGitter<Jipok> @genotrance >do we have a page describing how to best use VSCode with Nim - dev, debug, etc? ⏎ Unfortunately no. And not just for vscode, but in general. ⏎ Although if for vscode on the forum you can still find a couple of topics, then everything is bad with debugging. If you know how to debug humanly, then please write me.
19:18:12*TjYoco quit (Ping timeout: 260 seconds)
19:18:54FromGitter<genotrance> @Jipok: Thanks - I'll try it out. For now, I've just installed vscode and will use it as an editor and continue to build/debug with mingw/gdb. Once I find more time, I'll try building/debugging within VSCode
19:24:16FromGitter<genotrance> wow - Visual C++ 2015 Build Tools needs 4GB of space! why bother? Of course, my msys/mingw directory is 1.5+GB by itself, who knows what all got installed there
19:27:17FromGitter<genotrance> @dom96: Trying out choosenim on Windows 10, seeing a crash: https://gist.github.com/genotrance/395a474e07c2585a454c42b31356fc4b
19:28:22dom96genotrance: D: looks like a bug, please report in the choosenim repo
19:29:16FromGitter<Jipok> @genotrance Something similar occurred with me. Try again. It helped me.
19:32:23*mahmudov joined #nim
19:32:26*mahmudov left #nim (#nim)
19:33:30FromGitter<genotrance> Doesn't help, tried multiple times. First I tried running choosenim from a custom dir, it didn't like the existing versions of libeay I had so I got the version included in the ZIP, then it ran but crashed this way. Then I used the runme.bat to get it "installed" but even then same crash.
19:33:53FromGitter<genotrance> @dom96: https://github.com/dom96/choosenim/issues/35
19:35:02dom96Does installing stable work?
19:36:12FromGitter<genotrance> nope, same trick
19:37:08dom96Strange. Well I'm afraid you'll need to install Nim manually or wait until I fix this :)
19:37:26FromGitter<genotrance> how do I build choosenim? i've cloned it, just to see
19:37:26dom96btw did you decline to send telemetry?
19:37:32FromGitter<genotrance> no i agreed
19:37:43dom96hrm, I guess that's another bug
19:38:19dom96`nimble build` should work.
19:38:58FromGitter<genotrance> ugh, it's downloading the full Nim source code
19:39:05FromGitter<genotrance> I have it setup already
19:40:33FromGitter<genotrance> i have nimble 0.8.6 but it's updating it to 0.8.8
19:41:02dom96well yeah, it installs everything
19:45:41*Ven`` quit (Ping timeout: 246 seconds)
19:46:44*Ven`` joined #nim
19:53:26*Vladar quit (Quit: Leaving)
20:06:17*TjYoco joined #nim
20:07:14*vlad1777d joined #nim
20:07:22*TjYoco quit (Client Quit)
20:09:31FromGitter<genotrance> @dom96: how do I build choosenim with debugging?
20:09:41dom96same way as I've said
20:10:38FromGitter<adamrezich> what's the best way to check whether or not a seq contains a given index?
20:11:03FromGitter<genotrance> nimble build --debugger:native?
20:12:25FromGitter<Jipok> Is there any way to simply output any object? Need for debugging
20:12:48dom96if you want gdb then yes
20:12:56dom96Jipok: repr
20:15:46FromGitter<Yardanico> @adamrezich index?
20:16:50*Sentreen quit (Ping timeout: 246 seconds)
20:18:13FromGitter<adamrezich> nvm, hang on
20:18:46FromGitter<adamrezich> if I have a seq of tuples and I use setLen on it, it should be filled with zeroed tuples, right?
20:20:00*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:20:45*claudiuinberlin joined #nim
20:21:54FromGitter<Jipok> @dom96 thx. forgot about it. I for some reason tried dbgecho
20:22:15FromGitter<adamrezich> nvm, forgot tuples are immutable, lol
20:26:49FromGitter<genotrance> @dom96: it's crashing here: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59cab809177fb9fe7e06dfc3]
20:27:01FromGitter<genotrance> in terminal.nim
20:30:10*sleepyqt quit (Quit: WeeChat 1.9.1)
20:30:15*Sentreen joined #nim
20:30:19FromGitter<Yardanico> ah
20:30:23FromGitter<Yardanico> make your console window bigger :D
20:31:25FromGitter<genotrance> it's already 150x50, tried even bigger but no luck
20:32:11FromGitter<genotrance> how do you set breakpoints in Nim? GDB doesn't see the Nim functions to set a breakpoint
20:32:11*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:32:45*TjYoco joined #nim
20:33:08FromGitter<Yardanico> it does
20:33:17FromGitter<Yardanico> but you will need to compile nimble in debug mode
20:33:27FromGitter<Yardanico> or whatever program you're trying to compile
20:36:20*jjido_ joined #nim
20:36:23*scriptum quit (Quit: Leaving)
20:38:27*jjido quit (Ping timeout: 246 seconds)
20:41:26FromGitter<Yardanico> :D https://github.com/berviantoleo/nim-lang-example/pull/1/files ⏎ when you have 2 free seconds
20:41:30FromGitter<Yardanico> (I mean free time)
20:42:12*PMunch quit (Quit: leaving)
20:43:03FromGitter<genotrance> i did compile choosenim with nimble build --debugger:native --stackTrace:on --lineTrace:on
20:44:35FromGitter<Yardanico> well this wouldn't work
20:44:41FromGitter<Yardanico> or wait
20:44:44FromGitter<Yardanico> it would
20:45:16*Trustable quit (Remote host closed the connection)
20:47:56*ivmachiavelli quit (Quit: Lost terminal)
20:50:05*claudiuinberlin joined #nim
20:51:43FromGitter<genotrance> well, I also tried --debugger:on but I just get all sorts of compile errors ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=59cabdde177fb9fe7e070412]
20:52:09Araqadamrezich: tuples are not immutable, immutability in Nim is a property of the symbol, not of the type
20:52:57FromGitter<adamrezich> @Araq yep I was confusing it with another language, and making other mistakes too :) I like how Nim does it
20:56:43*adeohluwa quit (Quit: Connection closed for inactivity)
21:01:21*jjido_ quit (Ping timeout: 240 seconds)
21:02:36*jjido joined #nim
21:11:38*guelosk joined #nim
21:14:10*relax quit (Ping timeout: 264 seconds)
21:19:37*madmalik quit (Quit: Connection closed for inactivity)
21:28:07*solitudesf quit (Ping timeout: 255 seconds)
21:29:29*yglukhov quit (Read error: Connection reset by peer)
21:30:03*yglukhov joined #nim
21:32:12FromGitter<adamrezich> I implemented `slot_map`, a data structure common in game development (storing entities, components, etc.), in Nim; critique welcome, I'm still learning how to do things The Nim Way https://github.com/rezich/nch/blob/master/src/nchpkg/slotmap.nim references are listed at the top, example use is at the bottom
21:33:18*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
21:39:13*TjYoco quit (Quit: Leaving)
21:39:56FromGitter<mratsim> Appveyor cannot download mingw anymore :/
21:44:00*nsf joined #nim
21:56:45*relax joined #nim
21:58:09FromGitter<Yardanico> https://twitter.com/CodeWisdom/status/912435063228334081
21:58:52FromGitter<Yardanico> "When you choose a language, you're choosing more than a set of technical trade-offs-you're choosing a community." - Joshua Bloch
21:59:29dom96adarezich: `== nil` should be `.isNil()`
21:59:59dom96`ref seq[T]` shouldn't be necessaru
22:00:01dom96*necessary
22:00:16dom96Why isn't `seq[T]` enough?
22:03:42Araqadamrezich: cool but I think slotmaps are inferior to BTrees :-) would make a nice benchmark though
22:04:07shodan45should I delete my ~/.nimble if I had an old version of nim, like 0.14?
22:04:41shodan45and just compiled 0.17.2?
22:05:21FromGitter<mratsim> btw @Araq, is there a plan to generate the restrict keyword for seq indexing?
22:08:33FromGitter<adamrezich> @dom96: if it were `seq[seq[T]]` instead of `seq[ref seq[T]]`, when the outer seq grows, the contents inside will move in memory. the point of using a chunked memory system is to avoid that from happening.
22:11:48FromGitter<mratsim> seq is already a pointer so it won’t move?
22:13:31FromGitter<adamrezich> oh, I guess you're right... I think?
22:13:59FromGitter<adamrezich> I'm planning on writing an unsafe version too that uses a `seq[pointer]` and allocates the memory manually, partially just to benchmark the two versions
22:16:04FromGitter<adamrezich> I really *really* like how for simple modules like this, you can write an example at the bottom that also acts as simple unit tests, under a `when isMainModule:` :)
22:18:17*yglukhov quit (Read error: Connection reset by peer)
22:18:50*yglukhov joined #nim
22:23:17*MJCaley joined #nim
22:24:30FromGitter<adamrezich> and yeah, `seq[seq[T]]` works just fine, my bad :P
22:37:04*sz0 joined #nim
22:43:41*gokr quit (Ping timeout: 240 seconds)
23:00:08*def-pri-pub joined #nim
23:06:07*kunev quit (Ping timeout: 248 seconds)
23:09:43*yglukhov quit (Remote host closed the connection)
23:23:40*MJCaley quit (Quit: Bye)
23:24:01*Demos joined #nim
23:26:27*Demos quit (Client Quit)
23:31:25*nsf quit (Quit: WeeChat 1.9)
23:51:01FromGitter<zacharycarter> o/
23:59:09*relax quit (Ping timeout: 252 seconds)