<< 14-04-2018 >>

00:04:59FromDiscord<geckojsc> whew here's my first contribution to the nim ecosystem :) https://github.com/fedkanaut/sdl-gpu-nim/pull/1
00:07:32FromDiscord<geckojsc> I'm in awe at how this language Just Works™
00:11:48Araq+1
00:12:01*aguspiza quit (Ping timeout: 256 seconds)
00:32:37FromDiscord<geckojsc> I did lots of game programming in ooc (another sexy modern language that compiles to C) and while I adore that language, I'm noticing a world of difference here with the elegance and consistency of the design, the tooling, the thriving community
00:45:39FromGitter<gogolxdong> What's the difference between httpbeast and native async http server.
00:47:06FromGitter<aboisvert> is there an async lib/wrapper for sqlite?
00:48:10FromGitter<aboisvert> @gogolxdong afaik, httpbeast is a work-in-progress; should be faster but not yet ready for use outside of benchmarking
00:50:25FromGitter<gogolxdong> Is the abstracted selector event loop?
00:52:30FromDiscord<2vg> asynchttpserver: single-thread, httpbeast: multi-thread
00:56:19FromGitter<gogolxdong> thanks .
01:07:39FromGitter<gogolxdong> Is jester single-thread too?
01:10:06*chemist69 quit (Ping timeout: 246 seconds)
01:11:22FromDiscord<2vg> yep
01:43:37FromGitter<gogolxdong> got /root/.nimble/pkgs/httpbeast-0.1.0/httpbeast.nim(314, 26) Error: undeclared identifier: 'Thread'
01:45:30FromDiscord<2vg> `--threads:on`
01:52:08FromGitter<gogolxdong> How to get the req.body?
01:53:22*NimBot joined #nim
01:56:15FromDiscord<2vg> maybe `req.body.get()` ?
02:02:24FromGitter<gogolxdong> yes ,I have find . Are you working on httpbeast?
02:02:34FromGitter<gogolxdong> found.
02:04:49FromGitter<gogolxdong> Does it conflict with asyncdispatch , so avoid using {.async.} ?
02:05:48FromDiscord<2vg> I have not tried `req.body` yet sorry
02:06:41FromDiscord<2vg> Probably body is not used for GET requests
02:06:41FromDiscord<2vg> It should work properly in POST
02:08:25FromGitter<gogolxdong> yes, asyncdispatch will take care of the proc with {.async.} pragma , I think have to newFuture manullay in httpbeast context.
02:09:59FromGitter<Varriount> @gogolxdong I am currently working on a query-parameter AWS authentication procedure. I should have it done this weekend.
02:10:25FromDiscord<2vg> hmm,
02:11:37FromGitter<gogolxdong> @Varriount good to know
02:14:50FromGitter<gogolxdong> I think we are reaching the same goal.
02:21:55FromGitter<gogolxdong> got some transformation if you are likely to use ,```
02:22:02FromGitter<gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5ad165ca6d7e07082bf1e2c7]
02:23:18FromGitter<gogolxdong> don't know how to use newFuture actually.
02:29:33*dddddd quit (Remote host closed the connection)
02:34:03*Lord_Nightmare2 joined #nim
02:38:09*Lord_Nightmare quit (Ping timeout: 264 seconds)
02:38:09*Lord_Nightmare2 is now known as Lord_Nightmare
02:43:06*Lord_Nig- joined #nim
02:44:28*Lord_Nightmare quit (Ping timeout: 265 seconds)
02:45:00*Lord_Nig- is now known as Lord_Nightmare
03:03:30*libman[m] joined #nim
03:19:43FromGitter<gogolxdong> `Error: the field 'port' is not accessible.` in httpbeast , I have exported port*.
03:20:03FromGitter<gogolxdong> ``` run(onRequest,Settings(port:Port(8081))) ⏎ ``` [https://gitter.im/nim-lang/Nim?at=5ad1736327c509a7740e4dc8]
03:49:53FromGitter<gogolxdong> undeclared identifier: 'toOpenArray'
04:12:37*feedie joined #nim
04:14:07*feedie quit (Remote host closed the connection)
04:14:27FromDiscord<2vg> Perhaps now can only use 8080
04:40:00FromGitter<gogolxdong> How could we access the port field?
04:51:23FromGitter<matrixbot> `shashlick` interesting - you can post to gitter from matrix
04:52:02libman[m]narf
04:56:20FromDiscord<2vg> cant access now
04:56:24FromDiscord<2vg> maybe
04:57:27libman[m]I'm here via https://riot.im/app/#/room/#freenode_#nim:matrix.org
05:00:28*arecaceae quit (Remote host closed the connection)
05:00:52*arecaceae joined #nim
05:01:41shashlickI was using riot for a while until it was unreliable few weeks ago, enjoying weechat off late, consolidate all comms
05:05:37*miran joined #nim
06:06:12*athenot quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:20:12*Vladar joined #nim
06:45:42FromGitter<Araq> ```code paste, see link``` ⏎ ⏎ No idea why the world didn't move from Perl to Nim. :-) [https://gitter.im/nim-lang/Nim?at=5ad1a3966bbe1d2739e61b3f]
06:47:21FromDiscord<treeform> Araq, thoughts on PHP removal? https://github.com/nim-lang/Nim/pull/7606 its not perl but its there.
06:49:03FromGitter<data-man> @Araq: Why not PEGs or scanf/scanp? :-D
06:49:40Araqdata-man: forgot how they work. :-)
06:50:58AraqI wrote this without autocompletion, checking any library does and it compiled and ran without errors
06:51:05Araq*docs
06:51:44Araqtreeform: argh PR overload
06:52:04FromDiscord<treeform> PR is massive, why PHP in the first place?
06:52:26FromDiscord<treeform> Isn't it a dying and unloved language?
06:53:40FromGitter<data-man> BTW, scanf/scanp doesn't support Unicode?
06:57:19AraqI think it's unicode agnostic
06:57:39Araqtreeform: I was younger and needed the money.
06:58:46FromDiscord<treeform> not the answer I though I would get!
06:58:59Araq?
06:59:25Araqwhy would I write a freaking PHP backend otherwise? :P
07:00:48FromDiscord<treeform> Its a perfectly find answer, I wrote some PHP back in the day too.
07:00:55FromDiscord<treeform> fine*
07:03:14FromGitter<data-man> Maybe not to remove it but improve?
07:03:56Araqdata-man: well I was kidding about making this a commercial offer. but it got me wondering...
07:05:08Araqbut in general I'm not interested in more backends, the existing ones already are quite some effort to maintain
07:07:24Araqnow if only we had somebody who knows this thing called "market research"...
07:07:32Araqbbl
07:08:37*rokups joined #nim
07:11:13FromGitter<Varriount> Araq: With toOpenArray, how would one create a zero-length array?
07:12:42FromGitter<Varriount> `toOpenArray(s, 0, 0)` creates an array of length 1, and `toOpenArray(s, 0, -1)` causes a segfault.
07:13:05*vivus quit (Quit: Leaving)
07:14:00*gangstacat quit (Quit: Ĝis!)
07:16:50*r3d9u11 joined #nim
07:28:10FromGitter<Varriount> I would be happy to change the implementation, however it would help to know where in the compiler code mSlice is implemented.
07:29:03*gangstacat joined #nim
07:30:21*nsf joined #nim
07:39:02FromGitter<data-man> @Varriount: I assume, that here: https://github.com/nim-lang/Nim/blob/devel/compiler/ccgcalls.nim#L92
07:40:05FromGitter<Varriount> Hrm, I can give that a try... Though it looks tricky
07:44:55*yglukhov joined #nim
07:46:15*yglukhov_ joined #nim
07:49:32*yglukhov quit (Ping timeout: 276 seconds)
07:52:03*Lord_Nightmare2 joined #nim
07:55:33*Lord_Nightmare quit (Ping timeout: 264 seconds)
07:55:33*Lord_Nightmare2 is now known as Lord_Nightmare
07:56:36FromGitter<Varriount> @data-man It looks like it might just be the bounds checking that's off, though I'm not sure.
07:57:45FromGitter<Varriount> Comparing the generated code for a zero-length string passed into an openarray proc, and a toOpenArray value with parameters (0, -1) passed into the same proc, the arguments appear the same.
07:58:19*gokr joined #nim
08:02:25FromGitter<data-man> @Varriount: Probably search in the commits history will be easier.
08:05:27*smt` quit (Read error: Connection reset by peer)
08:05:39*smt` joined #nim
08:06:10Araqwell I think toOpenArray(s, 0, -1) should work
08:11:46*gokr quit (Ping timeout: 264 seconds)
08:18:44FromGitter<flowck> I everyone, I wrote a quick post showing how to handle 404 requests. Any feedback is welcome. Thanks. ⏎ ⏎ http://firmino.engineer/vue-js-handling-undefined-routes-with-vue-router/
08:21:28*yglukhov_ quit (Read error: Connection reset by peer)
08:22:06*yglukhov joined #nim
08:24:07Araqok, now write a quick post about you should use 'karax' instead of vue.js :-)
08:24:28Araqthis is #nim, not #vue
08:24:30FromGitter<flowck> Oh god
08:24:38FromGitter<flowck> sorry wrong channel
08:24:53Araq;-)
08:24:59FromGitter<flowck> Deleted
08:25:14miranthere's no delete on IRC :)
08:26:12FromGitter<alehander42> Haha I did this in the crystal channel several days ago
08:26:43FromGitter<alehander42> Directly sent the guy to our stlidb docs
08:27:05mirana new way of promoting nim? "hey guys, look at the cool stuff i did" ... "ooops, this is not #nim" :D
08:27:08FromGitter<alehander42> Which reminds me parseopt2 or parseopt?
08:27:48FromGitter<alehander42> I asked them too why do we have two: embarrassing :D
08:28:28FromGitter<flowck> @FromIRC It was definitely a mistake from me. :)
08:30:03FromGitter<alehander42> Hmm I have to admit I thought once about a python backend
08:30:12FromGitter<alehander42> But it's a bad idea
08:30:35FromGitter<flowck> @alehander42 to become a python developer?
08:31:14FromGitter<alehander42> I think maybe only a wasm backend would make sense in the near future (like stisa )
08:32:08Araqwasm is so poor it makes me sad
08:32:09FromGitter<alehander42> Haha well I started as a python dev(first with php but I don't talk about that )
08:32:20FromGitter<alehander42> So I still dig it
08:32:39Araqalehander42: parseopt.
08:32:49FromGitter<flowck> I don't talk about my PHP past too.
08:32:55FromGitter<flowck> 😄
08:36:40FromGitter<alehander42> We all have php past
08:36:44Araqwasm -- no function pointers, no int64, no stack pointer for a real ABI, no threading, no JS DOM interop
08:36:48FromGitter<alehander42> Araq what
08:37:00FromGitter<alehander42> Ah you answered before I manage to type it
08:37:15FromGitter<flowck> @alehander42 Async
08:37:43Araqit takes another decade before this thing can be taken seriously. ymmv.
08:38:29FromGitter<alehander42> I'll read more about their roadmap
08:38:53FromGitter<alehander42> But it didn't even exist several years ago, I think it can catch up faster
08:39:09Araqand no support for anything Posix-like. I mean ok, if you don't want web apps to compete with real apps...
08:39:24*nsf quit (Quit: WeeChat 2.0.1)
08:39:52Araqbut it will slowly re-invent posix, maybe without all its bad parts
08:40:41*aguspiza joined #nim
08:41:44Araqtbh I never figured out how this Unreal Engine demo can even run in asm.js.
08:42:57Araqand asm.js has the same limitations as wasm it's like they kept all its bad parts and hacks and gave it a bytecode format. hurray.
08:48:10FromGitter<mratsim> btw, any thoughts on this: http://exercism.io/, someone on the forum mentionned that they added Nim, but I don’t really want to lose my time if it’s not well perceived.
08:49:06FromGitter<dom96> @mratsim it's perceived well, go for it.
08:49:29FromGitter<mratsim> I’ll make sure I use functional style :D
08:49:38FromGitter<mratsim> or methods everywher :P
08:58:41*xkapastel quit (Quit: Connection closed for inactivity)
08:59:47miranoh, that forum post needs a bump, it was pushed to the 2nd page too quickly....
09:00:28FromGitter<alehander42> @mratsim once, I wrote a very stupid ruby dsl for pattern matching for an evaluator for a simple derivation homework http://2012.fmi.ruby.bg/tasks/3/solutions/145
09:00:53FromGitter<alehander42> you still have the chance to embed the source of a ML library directly in some of those exercises! :D
09:00:55miranbtw, there is nim (beta) on codewars, too
09:01:36FromGitter<alehander42> and use term rewriting macros combined with style skins
09:01:52miran27 nim tasks there
09:01:57FromGitter<alehander42> (I always wanted to try the source filters btw)
09:02:18FromGitter<alehander42> do they have stats on how many people go through them
09:02:21FromGitter<alehander42> and existing solutions?
09:03:05*yglukhov quit (Remote host closed the connection)
09:03:19mirani just opened a random task and it says that nim version has been solved 12 times (of 19,430 total)
09:03:46*yglukhov joined #nim
09:04:31FromGitter<mratsim> I’d rather do: https://www.codingame.com/start actually :P
09:05:52FromGitter<mratsim> Or maybe port some of the Starcraft 2 AI to Arraymancer: https://github.com/Inoryy/pysc2-rl-agent
09:06:24miranwhen i was learning python, i learned much more from codewars and checkio than from codingame
09:07:16FromGitter<Varriount> Araq: toOpenArray(s, 0, -1) throws an out of bounds exception
09:07:26miranexercism.io looked too complicated for me back then with all the setup needed to solve a task
09:07:57FromGitter<mratsim> I’ll check codewars.
09:08:05*yglukhov quit (Ping timeout: 256 seconds)
09:10:12mirancodewars isn't perfect, but it is (absolute) beginner friendly
09:10:45FromGitter<alehander42> wow around ~20 people have solved the first nim cata in codewars
09:11:02FromGitter<alehander42> that's not too bad, I thought less people use it
09:13:34mirani wanted to learn nim via codewars, but when i've seen that only 20-something tasks are in nim, i started looking for other sources for learning
09:14:04miranif there are >50 tasks, i'm sure the number of people who are solving in nim would be higher
09:16:35FromGitter<alehander42> @dom96 I don't like the nlvm approach to repo, maintaing it as a fork makes it very obvious how to build it and what's the diff with upstream
09:20:02FromGitter<alehander42> @dom96 about the wasm thing, maybe we can have an article about the nim ermscripten wasm combo, it will probably generate interest
09:25:11FromGitter<dom96> I prefer the nlvm approach, it's independent and easier to work with. You don't have to search looking for the relevant changes.
09:25:42FromGitter<dom96> Article sounds good :)
09:25:48FromGitter<dom96> We need more articles
09:26:03miran@mratsim, @alehander42: i have just checked, it is quite easy to create nim translation of an existing kata (codewars' task)
09:26:10FromGitter<dom96> Doesn't even matter that much what they are about, as long as they discuss Nim.
09:26:25miranand once we have 100 translated katas, we can have an article about it :)
09:28:16*dddddd joined #nim
09:29:54FromGitter<mratsim> wow so many new faces on this article: https://www.reddit.com/r/nim/comments/8b2n2x/nim_or_rust_advice/
09:44:01*yglukhov joined #nim
09:49:19*derlafff quit (Remote host closed the connection)
09:49:38*derlafff joined #nim
09:56:36*gokr joined #nim
10:13:37FromGitter<alehander42> @dom96 well I like to look at it as a "wasm" branch of the compiler, not as a different project :D
10:13:51FromGitter<alehander42> @miran nice!
10:16:33mirancurrently writing one translation, to see the process from my own experience
10:28:02*rokups quit (Quit: Connection closed for inactivity)
10:30:28*xet7 quit (Quit: Leaving)
10:36:50FromGitter<krux02> @alehander42: since you are talking about wasm. What is going on with WASM in Nim?
10:37:22FromGitter<krux02> would be cool if one day I can simply compile to WASM directly from nim without going through C.
10:39:20Araqit would be cooler if you could compile to WASM and then have a platform that can run your software.
10:39:41Araqand the last time I checked WASM was quite useless.
10:39:48FromGitter<alehander42> well @stisa has been working on that https://github.com/stisa/nwasm , but it's still very WIP
10:40:37FromGitter<krux02> you I think the more practical approach would be to go through C, just because Nim does use a lot of C stuff internally.
10:40:42FromGitter<alehander42> I agree that wasm is currently not the greatest target, but I doubt it won't be very useful in 2-3 years
10:41:19FromGitter<krux02> well I would love to target WASM for my projects
10:41:33FromGitter<krux02> no so much for javascript though.
10:41:40FromGitter<alehander42> afaik people already did this with nim->c->ermscripten, I guess it's not a very nice for development tho
10:41:52FromGitter<alehander42> I don't want to imagine the debugging process
10:41:57FromGitter<krux02> I optimize for memory layout. That just dies when I compile to JS.
10:41:57FromGitter<mratsim> you can put the steop in a .nimble file though
10:41:59dom96Araq: How is it useless?
10:42:03Araqhttp://webassembly.org/docs/future-features/
10:42:05FromGitter<mratsim> steps*
10:42:33Araqhttps://github.com/WebAssembly/design/issues/1079
10:42:50Araq> WebAssembly needs to be able to:
10:42:50Araq> reference DOM and other Web API objects directly from WebAssembly code;
10:42:56dom96Araq: You need to read more HN
10:43:02FromGitter<krux02> I think simd for WASM would be great, much better than native SIMD.
10:43:13Araqdom96: maybe.
10:43:20dom96https://news.ycombinator.com/item?id=16834553
10:43:28Araqbut without native DOM support I don't understand WASM
10:43:42dom96You can call a JS function from webasm
10:43:45dom96which accesses the DOM
10:43:51dom96It's a perfect target for Nim
10:44:02FromGitter<krux02> WASM could generate fallback instructions when SIMD is not supported, on statically compiled native code you either have to create runtime branches (kill performance) or break compatibility.
10:44:05dom96Because we already support JS
10:44:29Araqdom96: hmmm, so I think I know what you're saying
10:44:44FromGitter<alehander42> well it wouldn't take them too much time to add native support for the DOM
10:44:45Araqwe compile parts of Nim to JS, others to WASM
10:44:49dom96yep
10:44:53Araqa mixed environment.
10:45:02FromGitter<krux02> nim is already a mixed environment
10:45:02dom96Rust won't be able to do that
10:45:09FromGitter<alehander42> also a lot of apps I guess doesn't use it much: targetting webgl, canvas etc
10:45:14FromGitter<krux02> parts compile to C parts compile to nimvm
10:45:56Araqwell yeah, we are already providing that. write an RFC if you have an idea how to make it more smooth
10:46:36dom96huh? We need a webasm backend
10:46:41dom96What's there to write an RFC about?
10:47:08FromGitter<krux02> but nim needs a clean way to say, this part here is js only, this part is wasm only and this here is shared
10:47:53Araqkrux02: yeah you can target opengl/SDL2 with webasm, but you don't get acccess to threads or OpenCL afaict
10:47:55dom96okay, I don't think that's too complicated. Just throw in a {.wasm.} pragma and voila.
10:48:06FromGitter<krux02> Araq: not yet
10:48:11FromGitter<krux02> and I don't use threads yet
10:48:12dom96I don't think a "shared" concept makes sense
10:48:25FromGitter<krux02> dom96, well I do
10:48:33FromGitter<krux02> seq.sort for example
10:48:35AraqI can understand that a "direct WASM" backend is good for marketing but technically I'm not convinced
10:48:59Araqwe compile to LLVM/C and use emscripten
10:49:02FromGitter<alehander42> btw @dom96 I thought about this editor thing, I looked at the atom xray arch (and some electron UI logic with rust articles @zah gave me), and I had a similar idea for an eventual Nim-electronlike lib: you can have some of the UI logic execute in the browser and some(more heavy) in native Nim and annotate them with pragmas
10:49:31FromGitter<krux02> Araq: I agree, compile to C first is much more realistic.
10:49:40FromGitter<alehander42> and the library to take care of the serialization and process communication with a native process for the `{.native.}` code
10:49:48dom96Araq: I'll be honest: it's all about marketing.
10:50:02Araqok, good. :D
10:50:07FromGitter<krux02> I mean with enough man power and money I would go for native wasm, but practically going through C will cause a lot less pain.
10:50:10FromGitter<alehander42> which will be cool, as, again the same code will be able to be compiled to JS and native code
10:50:57dom96Araq: ...but, I bet in the long term it will be easier to work with a native webasm backend then going through emscripten
10:51:00dom96*than
10:51:34Araqyeah I agree but right now writing a backend is too much work
10:51:39FromGitter<alehander42> @Araq is it possible to have good debugging experience going through C and ermscripten?
10:51:53AraqI've said it before, we need an AST to AST transformation that every backend can benefit from
10:51:59FromGitter<alehander42> from what I remember @yglukhov agreed it was hard to debug
10:52:00dom96Araq: stisa is working on one
10:52:18Araqyes and he agreed an AST to AST transformation will help him ;-)
10:52:51Araqit helps for nlvm, for the existing C(++) codegen
10:53:59Araqalehander42: I don't know. I researched it for Karax half a year ago and was turned off
10:54:19Araqbut Karax is about the DOM.
10:54:57FromGitter<alehander42> maybe ast to ast can be helpful for the jsgen too, if I decide to refactor it for the sourcemaps
10:55:18dom96Araq: I don't see what that needs, can't you just transform ASTs already?
10:55:24Araqyeah sure it would be useful, it's the much cleaner design
10:56:06FromGitter<krux02> Araq: I think Go has a nice way to handle platform specific code: https://dave.cheney.net/2013/10/12/how-to-use-conditional-compilation-with-the-go-build-tool
10:56:25FromGitter<krux02> it is really clean because it puts the different platforms into different files.
10:56:45Araqdom96: lots of things would be easier with a real "lowering" step.
10:57:18Araqthe C backend contains a ton of logic for producing efficient code
10:57:29Araqwhich is not available for the JS backend.
10:59:13Araqkrux02: I don't see how that solves anything.
11:00:08FromGitter<krux02> it doesn't solve things, it just makes things nicer to look at
11:00:11Araqit seems to me it uses directories per OS/CPU combination and when there is too much overlap they use Nim's 'when' but as "special magic comments"
11:00:20dom96Araq: okay, cool. But we've got more important things to do :)
11:00:48FromGitter<krux02> well that special magic comment is a bad idea
11:00:51Araqwhich is btw Go's way to do everything, write some stuff in comment that tools then process
11:00:53FromGitter<krux02> when in nim is much nicer
11:01:12FromGitter<krux02> I don't like the go way to put things in comments
11:01:25Araqit's exactly what pragmas do but they can pretend they have a nice small language.
11:01:32FromGitter<krux02> they should have come up with a special statement for that.
11:01:35FromGitter<krux02> but that is not the point
11:01:44Araqno the point is.
11:01:49Araqthere is no solution.
11:01:52FromGitter<krux02> what I like a lot are the different files for different platforms
11:02:04FromGitter<krux02> and Nim wouldn't even need to add any features for that
11:02:37FromGitter<krux02> just a convention and a when os == "windows": include module.windows.nim
11:03:25Araqyeah plus some mechanism that ensures every implementation exports the very same interface
11:03:48Araqthat means forwarded procs for everything
11:04:01Araqwhich are a burden with Nim's effect inference.
11:05:46*aguspiza quit (Ping timeout: 264 seconds)
11:06:00FromGitter<krux02> you mean `func`?
11:06:21*aguspiza joined #nim
11:06:24FromGitter<krux02> hmm did not think about that part.
11:08:46dom96https://news.ycombinator.com/item?id=16836770
11:08:57dom96We should take inspiration from this
11:09:22Araqhttps://nim-lang.org/docs/asyncdispatch.html#sendTo,AsyncFD,pointer,int,ptr.SockAddr,SockLen click on the {. to expand the list of inferred effects
11:09:42Araqnone of these are in the source code
11:10:21Araqthat only works with non-forwarded procs for better or worse.
11:11:26Araqnow you can argue that means Nim's effect system is actually more harmful than helpful and I would agree but the point remains, it's hard to do.
11:12:22FromGitter<krux02> that is cool
11:15:40FromDiscord<geckojsc> Haha I'm such an idiot, this repo already has SDL_gpu bindings and they're a lot better than the ones I was working from https://github.com/Vladar4/sdl2_nim
11:16:37FromGitter<krux02> what is SDL_gpu?
11:18:26Araqkrux02: alternatively you can write a test for asyncdispatch that ensures it exports the same things for every OS/CPU combination we happen to support
11:18:45Araqor write a tool to extract such a test.
11:19:10FromGitter<krux02> Araq: I just saw a commit from you where you removed a lot of double spaces after a sentence in comments.
11:19:41Araqlol
11:19:57FromGitter<krux02> double spaces after a . is an emacs things to do.
11:20:01AraqI'm sure I edited the file for a different reason
11:20:01FromDiscord<geckojsc> krux02: it's a library from high performance 2D rendering. It does nice things like automatically batching draw calls for you when you draw the same texture multiple times
11:20:16FromGitter<krux02> it actually wan's you to do it.
11:20:32FromDiscord<geckojsc> *for
11:20:37Araqdouble spaces after a dot a very British thing
11:20:54FromGitter<krux02> I have no problem with british english
11:21:02Araqbut we write 'Color'
11:21:08FromGitter<krux02> yes we do
11:22:01FromGitter<krux02> and generally we write american english not just for color, but wo don't use yards and miles
11:22:05FromGitter<krux02> :P
11:22:13FromDiscord<geckojsc> I'm British and I never noticed anyone use double spaces after .
11:22:38Araqwell we write bad simple English, the true international standard (TM)
11:22:41FromGitter<krux02> the double spaces are just for emacs to know, here is the end of a sentences, and the command "go to next senctence" works on that
11:23:09FromGitter<krux02> I don't really use it so I don't really care about it. but I kind of like the double spaces.
11:23:58dom96Araq: Citation needed
11:24:54Araqok, some like double spaces, noted. can we talk about something more important now? :D
11:25:10dom96Who likes double spaces?
11:25:18Araqkrux02.
11:26:26FromDiscord<geckojsc> Crap I just got a message from my grandma and... double spaces
11:26:40dom96I thought it was just what his editor does
11:26:49Araqmaybe emacs can learn that <nospace><dot><space> is hardly ambiguous and it can "go to next" to it.
11:27:50dom96It seems some argue double spacing is more readable
11:27:52dom96https://en.wikipedia.org/wiki/Sentence_spacing
11:28:24Araqwell they are wrong, 4 spacing is more readable.
11:28:24dom96Oh look, it's a German thing https://en.wikipedia.org/wiki/Sentence_spacing#/media/File:German_text_example_-_Em_sentence_spaced_-_1907.jpg ;)
11:29:30Araqthat's something else I think.
11:29:46dom96Perhaps. Oh well.
11:29:52dom96Time to do something productive
11:30:18FromGitter<krux02> ok for me too, I will dive offline now.
11:39:25dom96I can't resist Nim work.
11:39:27dom96So let's discuss https://github.com/nim-lang/Nim/issues/7532
11:41:34AraqIMO we should deprecate the callback= setter.
11:41:34Araqwe should have a setter that takes the Dispatcher object explicitly
11:42:27dom96Would that solve anything though?
11:42:31Araqit's what made this bug so hard to see.
11:42:55Araqand also the whole callsoon() logic is bonkers
11:43:12AraqI don't know what it accomplishes so it must be wrong
11:43:16Araq;-)
11:43:27dom96lol
11:43:48dom96I didn't write it, but I believe it stops the stack growing too much
11:44:04Araqah yeah it's the recursion avoidance
11:44:33dom96Perhaps it's as simple as adding a limit to the growth of this list?
11:44:45dom96It's indeed a bug in my code that I am not calling the event loop
11:45:05Araqlimiting the list would be helpful too
11:45:39Araqbut you remove the line 'let disp = getGlobalDispatcher()' and things start to work
11:45:53dom96Yeah, I think I know why
11:45:56Araqand 'disp' is not used anywhere at first sight.
11:46:12Araqand that's why callback= is bad
11:46:53dom96well, I don't want to deprecate it
11:46:56dom96a lot of code depends on it
11:47:23FromGitter<mratsim> Next tie I’m looking for a pseudo on a game I’ll call myself “Static[Nim]"
11:47:25Araqwell there is a deprecation period
11:47:26FromGitter<mratsim> time*
11:47:44*nsf joined #nim
11:48:24dom96I'd rather get rid of this recursion protection :P
11:48:53FromDiscord<geckojsc> how do I uninstall a library that was installed with `nimble develop`?
11:49:10dom96`nimble remove pkgName`
11:49:21dom96IIRC there is an issue that makes that fail though :)
11:49:58FromDiscord<geckojsc> yeah it can't find it x)
11:50:16dom96Just `rm -r ~/.nimble/pkgs/pkgName-#head/` then
11:51:32Araqthe recursion protection is essential for async, async is all about eliminating the stacks
11:53:33dom96IMO adding a limit is good enough
11:54:38Araqmaybe.
12:13:22*FromGitter quit (Remote host closed the connection)
12:13:30*FromGitter joined #nim
12:17:48*SenasOzys quit (Ping timeout: 256 seconds)
12:22:59*SenasOzys joined #nim
12:27:58*r3d9u11 quit (Ping timeout: 264 seconds)
12:41:21FromGitter<mratsim> Was there a change on devel that impacted newTree in the past twelve days? varargs[NimNode] doesn’t allow a single NimNode anymore: https://github.com/mratsim/Arraymancer/issues/217
13:10:39*couven92 joined #nim
13:11:27*aguspiza quit (Ping timeout: 240 seconds)
13:18:45*yglukhov quit (Read error: Connection reset by peer)
13:19:21*yglukhov joined #nim
13:25:19FromGitter<mratsim> investigated and bisected: https://github.com/nim-lang/Nim/issues/7610. thanks @Vindaar , nnkBracketExpr.newTree now returns a tuple of NimNode which breaks newTree up the chain
13:26:37FromGitter<Vindaar> glad to help :)
13:26:53Araqwtf ... huh?
13:27:08AraqnkBracketExpr.newTree now returns a tuple of NimNode ... ?
13:27:14FromGitter<mratsim> yes
13:27:22Araqgot some snippet to reproduce it?
13:27:29FromGitter<mratsim> in the ticket ;)
13:27:42Araqoh I missed it, thank you
13:28:08Araqwell unroll_addmul is not called :P
13:28:35FromGitter<mratsim> it’s probably the same issue as when you create a seq\[NimNode\] in a macro and pass it to another it transforms into an array of NimNode
13:29:29FromGitter<mratsim> or bool becoming static int when passed from one macro to another
13:29:51Araqwell you use a trailing comma
13:29:58Araqthat is now a tuple construction.
13:30:10FromGitter<mratsim> oh I see
13:30:13Araqwell not really, but it looks like a simple parser regression
13:30:35FromGitter<mratsim> I’ll check on Arraymancer if it solves that
13:31:29FromGitter<mratsim> it’s the trailing comma indeed
13:32:01FromGitter<mratsim> how should I rename the issue then?
13:32:42Araqno worries, I'm fixing it already
13:33:47FromGitter<mratsim> well I solved it in Arraymancer by using quote do :D that code was before I was comfortable with macros
13:34:33Araqyeah, have a fix
13:34:41Araqrunning some tests, good catch
13:44:22Araqwas too lazy for a test case :P
13:44:26Araqhere you go, please try it
13:45:06Araqnow ... you can choose between 'write tracking' and 'macros for for-loops'
13:46:11FromGitter<krux02> @mratsim I barely use seq[NimNode], because a NimNode works as a seq[NimNode] as well
13:46:59FromGitter<krux02> what are marcos for for-loops?
13:47:27Araqfor a, b in mymacro(): ... # mymacro gets to rewrite the full for-loop
13:49:54Araqunfortunately this already works:
13:49:58Araqimport macros
13:49:59Araqmacro mymacro(): untyped =
13:50:00Araq result = newLit([1, 2, 3])
13:50:02Araqfor a, b in mymacro():
13:50:04Araq echo a, " ", b
13:50:11Araqso it will be another breaking change.
13:52:23Araqon the other hand, it's exactly what fieldPairs() does.
13:52:35Araqand magics shouldn't have powers that macros don't.
13:52:51FromGitter<mratsim> I thought that was the point of magics?
13:53:33*aguspiza joined #nim
13:53:42FromGitter<mratsim> macro for for-loop would be much more useful for me, but there are a lot of people asking for deep immutability too hmmmm ...
13:54:01Araqnot really, a magic is a loophole for the type checker, not a loophole for AST transformations
13:54:55FromDiscord<geckojsc> now I have to choose between two different sets of SDL2 bindings, why is life so hard xD
13:55:32FromGitter<mratsim> @geckojsc, you forgot about the sdl2 bindings available here: https://github.com/nim-lang/sdl2
13:56:11Araqthis has come up before
13:56:20FromDiscord<geckojsc> yeah, I don't know whether to use that or https://github.com/Vladar4/sdl2_nim
13:56:31Araqlike "ugh, araq's old stuff is in nim-lang and blocking the better packages"
13:56:44FromGitter<mratsim> https://github.com/Vladar4/sdl2_nim#faq
13:57:03Araqto which I can only say "why not create PRs to the official bindings"
13:57:21FromGitter<mratsim> my advice is to toss a coin and do something :P
13:57:26*user1101 joined #nim
13:57:54AraqI only used the one nim-lang offers
13:58:31FromGitter<mratsim> given the choices everywhere (programming language, code editor, Windows/Mac/Linux), don’t second guess yourself too much
14:00:09FromGitter<mratsim> @Araq, tested your commit. It fixed the original code with trailing comma
14:00:21Araqbut?
14:00:55FromDiscord<geckojsc> vladar's one seems better in general, but I got a "Warning: Package 'sdl2_nim' has an incorrect structure." when installing it, and also it made some incorrect assumptions about the name of my DLL (it's libSDL2_gpu.dll, not SDL2_gpu.dll)
14:00:58FromGitter<mratsim> no but
14:01:05Araqalright
14:01:43mirangeckojs: there wasn't ONE package i have installed that didn't have that warning! :)
14:01:50FromGitter<mratsim> @geckojsc, I think half of nim packages have an incorrect structure, even the one from Araq so ...
14:01:58FromDiscord<geckojsc> oh lol
14:02:15AraqI bring it up from time to time, eventually dom96 will see the light.
14:03:09dom96There is no light for me to see
14:03:42Araqyou do not see it yet :P
14:03:58dom96I already agreed to do this though https://github.com/nim-lang/nimble/issues/469
14:04:17dom96This should fix most warnings
14:05:42FromDiscord<geckojsc> so the suggestion is that I should be bold and make a pull request into nim-lang/sdl2, fucking up everyone's existing projects if it gets accepted? >:)
14:06:39dom96huh?
14:06:42dom96Fix sdl2_nim instead
14:07:51Araqwhat? why?
14:07:56Araqnim-lang/sdl2 is fine
14:08:07Araqand PRs are accepted
14:09:36FromDiscord<geckojsc> oh I guess I misunderstood, I thought the idea was to replace it so that Vladar4/sdl2_nim becomes the new nim-lang/sdl2
14:09:55*user1101_ joined #nim
14:10:07*user1101 quit (Ping timeout: 256 seconds)
14:10:08*user1101_ is now known as user1101
14:13:24FromDiscord<geckojsc> but I guess what you really meant was to make a PR to nim-lang/sdl2 which includes some of the improvements from sdl2_nim?
14:21:24*xkapastel joined #nim
14:21:25*nsf quit (Quit: WeeChat 2.0.1)
14:22:22*user1101 quit (Quit: user1101)
14:22:37*user1101 joined #nim
14:23:34Araqthat's one possibility.
14:25:46dom96sdl2_nim could be renamed to `sdl`
14:33:15*user1101_ joined #nim
14:35:45*user1101 quit (Ping timeout: 264 seconds)
14:35:45*user1101_ is now known as user1101
14:40:51FromDiscord<treeform> Maybe start with https://github.com/treeform/cairo -> https://github.com/nim-lang/cairo ?
14:49:14Araqtreeform: why did you start from scratch and didn't improve the existing wrapper?
14:49:34FromDiscord<treeform> I did not I started from some one else who did a mechanical translation.
14:49:46FromDiscord<treeform> which was better in everyway
14:50:14FromGitter<AxDSan> Hello guys, I'm trying to do this: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ but output is: "None [RegexMatch]" even when I'm sending an actual e-mail. [https://gitter.im/nim-lang/Nim?at=5ad215265d7286b43a2b795d]
14:50:46FromGitter<AxDSan> I'm using `nre` instead of `re`, I heard re is deprecated?
14:54:32miranAxDSan: that was the case before, but now i think it is vice-versa :)
14:54:55miranor there were some talkings about making `re` the default and only one, IIRC
14:55:52Araqtreeform: better in every way?
14:55:55Araq Context00* = object
14:55:55Araq Context* = ref object of RootRef
14:55:55Araq impl*: ptr Context00
14:56:09AraqContext00 exported?
14:56:48FromGitter<AxDSan> Ohh okie
14:56:53AraqBool00* = distinct cint ?
14:58:25FromDiscord<treeform> well one works the other does not 😃
14:58:31Araqwith cairo_ prefixes everywhere? I'll pass.
14:58:45Araqso fix the other :P
14:59:31FromGitter<AxDSan> yay! https://i.imgur.com/8hIFB6X.png
14:59:37FromDiscord<treeform> there is no cairo_ prefixes when you use it
14:59:43AraqAxDSan I think your regex is the problem, not the used regex library
15:00:11Araqoh alright you already figured it out.
15:00:16FromGitter<AxDSan> @Araq I actually used the regex pattern from the docs ;D
15:00:20FromGitter<AxDSan> yah hehe
15:00:35Araqthe docs use re"..." I'm sure
15:00:43Araqwhich affect the backslash behaviour
15:00:45FromGitter<AxDSan> mhm
15:01:45Araqconst `matrix=`* = setMatrix ?
15:02:45Araqinteresting that that even works :-)
15:03:17FromDiscord<treeform> alright I retract my statement mine is worse
15:03:33Araqwell if it works for you, it's fine
15:03:59FromDiscord<treeform> yeah I'll use it
15:05:28Araqwhat did you mean by nim-lang/cairo didn't work?
15:05:43Araqdifferent DLL name, linking problems ... ?
15:05:58FromDiscord<treeform> I think it depends on stdlib modules that were removed?
15:06:11FromDiscord<treeform> i think it uses cairo for which its hard to find a DLL for
15:06:27FromDiscord<treeform> some old cairo version which is nowhere to be found
15:07:19FromDiscord<treeform> it does not have a readme
15:07:27FromDiscord<treeform> with a bunch of examples on how to use it
15:07:45*vlad1777d joined #nim
15:14:46Araqiirc nimforum depends on it
15:14:59Araqwhich hasn't been recompiled for a while, maybe.
15:15:08Araqbut still, it should work
15:18:24FromDiscord<treeform> I wish nim packages on windows would ships dlls. Now I have to find the zlib1.dll nim likes.
15:18:39FromDiscord<treeform> And hope I don't get one with a virus
15:19:17Araqhttp://nim-lang.org/download/dlls3.zip
15:19:34FromDiscord<treeform> oh nice!
15:20:19FromGitter<AxDSan> Eermm, going back to basics here, I'm relatively new, `echo message.content.match(re(reEmail))` returns Some(T:string) while T being the actual string that matched against my pattern search... how do I access that?
15:22:23Araqwith a monad.
15:25:28FromGitter<Vindaar> @AxDSan https://nim-lang.org/docs/options.html#get,Option[T] should give you the value
15:26:42FromGitter<AxDSan> checking that out
15:30:50FromDiscord<treeform> Araq, for some reason the zlib1.dll you gave me is not liked by nim. I hate DLLs.
15:31:04Araq32 vs 64bit problem
15:31:15FromDiscord<treeform> no its 64bit and I am 64 bit
15:31:24Araqare you certain?
15:31:43FromDiscord<treeform>
15:31:43FromDiscord<treeform> https://cdn.discordapp.com/attachments/371759389889003532/434737524850688020/unknown.png
15:32:39Araqhow is that a proof it's a 64bit DLL?
15:33:33Araqalso: are you british?
15:34:19FromDiscord<treeform> it depends on 64 bit KERNEL32.DLL
15:35:22Araqwhich is a hilarious :-) should have called it kernel64.dll
15:36:02FromDiscord<treeform> I know
15:36:14FromDiscord<treeform> I think its actually a 32bit dll
15:36:19FromDiscord<treeform> I think the red means it does not match
15:36:30FromDiscord<treeform> why is this so confusing
15:37:00FromGitter<mratsim> Unix +1 / Windows 0
15:37:11FromDiscord<treeform> Windows -1000
15:37:22FromGitter<mratsim> if only unix executables had an extension
15:39:45Araqwell I use a much better tool for looking at DLLs
15:39:58Araqbut i forgot its name and I'm not on this machine currently
15:40:18FromGitter<krux02> @mratsim well you can add an extension to unix executables
15:40:34FromGitter<krux02> ben then youalso need to type the extension when you call the program
15:40:42FromGitter<krux02> ./a.out.exe
15:40:57FromGitter<krux02> nobody forbids them
15:42:51FromDiscord<treeform> Using .exe does make sense.
15:43:00*Yardanico quit (Ping timeout: 246 seconds)
15:43:26FromDiscord<treeform> I found the right dll, i got one from zlib.org but i had to rename it from zlibwapi.dll to zlib1.dll
15:43:43FromDiscord<treeform> Wapi is the 1!
15:46:59Araqkrux02: I would use it but then I lose 90% of my Unix users. so I cannot use it. ;-)
15:48:20AraqUnix is more of a religious cult than an operating system.
15:49:49FromDiscord<treeform> I want to flip tables now: "Error: unhandled exception: zlib version mismatch! [ZlibStreamError]"
15:51:17Araqtreeform: I feel your pain. Compile zlib from the sources.
15:58:09FromGitter<Bennyelg> hey, how do i avoid break new line when I am formatting a for loop print: ⏎ for element in elements: ⏎ ⏎ ```echo element``` ⏎ ... [https://gitter.im/nim-lang/Nim?at=5ad225101130fe3d36d91398]
15:59:13FromGitter<Vindaar> use stdout.write instead of echo
16:01:15*nsf joined #nim
16:09:54FromGitter<Bennyelg> thanks.
16:10:00FromGitter<Vindaar> :)
16:10:49*vlad1777d quit (Remote host closed the connection)
16:12:46dom96I wonder why there is no package manager for DLLs on Windows yet
16:17:38FromGitter<mratsim> I use NuGet to get the dlls for Arraymancer
16:18:00FromGitter<mratsim> I didn’t try Chocolatey.
16:18:30*Yardanico joined #nim
16:21:27*Vladar quit (Remote host closed the connection)
16:48:45*arecaceae quit (Read error: Connection reset by peer)
16:49:08*arecaceae joined #nim
16:53:36*sz0 joined #nim
16:56:42*ofelas quit (Ping timeout: 260 seconds)
17:05:20*ofelas joined #nim
17:11:47FromDiscord<treeform> Chocolatey does have some things, but not others.
17:12:07FromDiscord<treeform> I think the real solution is to not use dlls but compile everything statically.
17:19:45FromDiscord<claude> is {.benign.} the same as {.noSideEffect.}
17:23:07dom96treeform: that would save a lot of trouble for end users, but for developers it'd be exactly the same, if not worse.
17:26:43Araqfor end users you can put the DLLs next to the .exe
17:28:05FromDiscord<treeform> it would be nice if `nimble install zip` would install the right zip1.dll it was meant to be with.
17:28:42FromDiscord<treeform> they have to match other wise you get `zlib version mismatch!` or some thing.
17:29:52FromDiscord<treeform> This site is the only thing that makes python dev on windows possible: https://www.lfd.uci.edu/~gohlke/pythonlibs/
17:30:09FromDiscord<treeform> as it includes the dlls with the stuff you need
17:31:16FromDiscord<claude> ive had a zlib1.dll for some months now and it says its version 1.2.8, but whenever i try to put anything in it it errors
17:32:25FromDiscord<claude> it loads, its just nothing decompresses
17:32:43FromDiscord<claude> in contrast to my cairo dll which doesnt load at all
17:32:56FromDiscord<treeform> i have cairo dlls that work
17:33:11FromDiscord<treeform> https://github.com/treeform/cairo/tree/master/libs
17:33:22FromDiscord<treeform> pick your flavor
17:43:40FromDiscord<treeform> @Calinou I think nim zip library needs an older version of the zlib1.dll on windows, but I can't find which one.
17:45:47*nsf quit (Quit: WeeChat 2.0.1)
17:50:25FromDiscord<Calinou> you missed the mention 😛
17:55:20FromDiscord<treeform> sorry!
17:55:32FromDiscord<treeform> @claude I think nim zip library needs an older version of the zlib1.dll on windows, but I can't find which one.
18:27:05*salewski joined #nim
18:27:55salewskihttps://irclogs.nim-lang.org/#14:56:09
18:28:24salewskiWell, we export the 00 objects by intent for now in gintro.
18:28:34Araqsalewski: It was not my intention to diss your code.
18:28:56Araqbut he said something like "It does everything better"
18:29:01salewskiIt will be a plain fix in generator script to remove that export, but for rere cases we may still
18:29:13salewskineed the low level objects.
18:29:15Araqand extraordinary claims ... well you know the saying
18:30:03salewskiI know well that we need much testing and improvement for gintro.
18:30:43salewskiI have not too much tiome currently, and unfortunately we have not many GTK3 users.
18:30:59salewskiBye.
18:31:20Araqwhat you say is true of course
18:31:28*salewski quit (Client Quit)
18:37:24*smt_ joined #nim
18:41:09*smt` quit (Ping timeout: 264 seconds)
18:46:00*yglukhov quit (Read error: Connection reset by peer)
18:46:33*yglukhov joined #nim
18:48:36FromGitter<AxDSan> back at it again with the regex thing :D I do `repr(<regex match expression>)` and it returns this: https://paste.ee/p/XcsKT
18:48:44FromGitter<AxDSan> how to access the `str` property/field ?
18:49:24*gokr quit (Ping timeout: 260 seconds)
18:51:47FromGitter<AxDSan> it worked with `unsafeGet(message.content.match(re(reEmail)))` which `Returns the value of a some. Behavior is undefined for none. `
18:52:12Yardanicouse get instead of unsafeGet
18:52:49Yardanicowell, firstly check if isSome(match)
18:53:35Yardanicoand you can't access str because it's stored in private pcreObj field of Regex (and you shouldn't)
18:53:36FromGitter<AxDSan> yeah that's the exception handler for the returned error
18:53:37FromGitter<AxDSan> right?
18:53:54Yardanico?
18:53:58FromGitter<AxDSan> > *<Yardanico>* and you can't access str because it's stored in private pcreObj field of Regex (and you shouldn't) Ohh I see
18:54:00FromGitter<AxDSan> cool
18:54:21YardanicounsafeGet will just return value of an option even if it doesn't have any value
18:54:34Yardanico(well, it will raise an error in debug build, but not in release build)
18:55:50FromGitter<AxDSan> > *<Yardanico>* (well, it will raise an error in debug build, but not in release build) Ohh Gotcha 👍
18:56:41Yardanicoso you want to use unsafeGet only if you will check if value is not invalid by yourself
18:57:53dom96Only use anything with the "unsafe" in the name if you really know what you're doing
18:58:07*jaco60 quit (Quit: Textual IRC Client: www.textualapp.com)
18:58:34FromGitter<AxDSan> Yup everything is working like a charm now :D
18:58:43FromGitter<AxDSan> many thanks guys D
18:59:54*sz0 quit (Quit: Connection closed for inactivity)
19:07:29mirandom96: we don't see the first post about GC v2
19:07:53mirancan this "spam filter" maybe be removed?
19:07:55Yardanicomiran, what post?
19:08:02miranhttps://forum.nim-lang.org/t/3753
19:08:03Yardanicoah, on forum
19:12:32*aguspiza quit (Quit: Leaving)
19:13:58dom96it'll be improved "soon"
19:14:03dom96fixed it
19:16:28dom96But if Araq replies to a thread that doesn't exist, maybe Araq should be highlighted, not me? :)
19:16:45mirani thought you're our forum-guy :)
19:25:12dom96A couple of people have the ability to change people's forum status
19:25:34dom96I can't remember who else apart from Araq can do that though heh
19:27:17Araqvarriount
19:33:13*yglukhov quit (Read error: Connection reset by peer)
19:33:45*yglukhov joined #nim
19:40:21*dddddd quit (Remote host closed the connection)
19:43:57*yglukhov quit (Ping timeout: 240 seconds)
20:05:35*xet7 joined #nim
20:07:38*xet7_ joined #nim
20:08:01*xet7 quit (Read error: Connection reset by peer)
20:08:12*xet7_ is now known as xet7
20:11:12*Suigetsu joined #nim
20:12:56*yglukhov joined #nim
20:36:56FromDiscord<geckojsc> I saw this on the forums: "[...] just like do-notation shouldn't be depreciated just because we have =>"
20:37:08FromDiscord<geckojsc> there are arrow functions?? where can I find out about them? :O
20:37:22miranfuture module
20:37:30miransoon to be sugar module
20:38:37FromDiscord<geckojsc> aha, I see!
20:47:39*jaco60 joined #nim
20:48:19*Suigetsu quit ()
20:51:31FromGitter<abijahm> hello people noob question here, what are the use cases of module coro
20:53:01*smt_ quit (Read error: Connection reset by peer)
20:53:28*smt_ joined #nim
20:57:19*nsf joined #nim
21:00:05*smt` joined #nim
21:00:19*smt` quit (Read error: Connection reset by peer)
21:00:58*smt joined #nim
21:04:02*smt_ quit (Ping timeout: 260 seconds)
21:05:50*miran quit (Quit: Konversation terminated!)
21:30:18*jaco60 quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:33:37Araqit's not production ready, I'm afraid
21:59:05*SenasOzys quit (Ping timeout: 276 seconds)
22:05:42*SenasOzys joined #nim
22:21:29FromGitter<abijahm> @Araq cool, just playing with everything
22:21:52Araqyou can use async instead :-)
22:53:15*nsf quit (Quit: WeeChat 2.0.1)
22:58:25*smt` joined #nim
23:01:52*smt quit (Ping timeout: 260 seconds)
23:26:13*user1101 quit (Quit: user1101)
23:27:59*rockcavera quit (Remote host closed the connection)
23:58:46*SenasOzys quit (Read error: Connection reset by peer)
23:58:58*SenasOzys_ joined #nim