<< 29-08-2017 >>

00:13:35*BitPuffin|osx quit (Ping timeout: 240 seconds)
00:13:42*Sentreen joined #nim
00:20:16*Chad__ joined #nim
00:23:04*Chad__ quit (Client Quit)
00:29:25*def-pri-pub joined #nim
00:30:38*fridgeseal quit (Quit: Page closed)
00:33:57*Sentreen quit (Ping timeout: 252 seconds)
00:36:59*rauss joined #nim
00:43:15*Noctis quit (Remote host closed the connection)
01:01:31def-pri-pubzacharycarter: You there? `core.nim` is broken
01:01:37def-pri-pubcore.nim(82, 19) Error: undeclared identifier: 'matrixTranslate'
01:01:58FromGitter<zacharycarter> hrm
01:02:02FromGitter<zacharycarter> weird
01:02:14FromGitter<zacharycarter> I'm about to push up a commit, mind trying again in a few moments def-pri-pub?
01:02:36FromGitter<zacharycarter> oh yeah crap: def-pri-pub I'm removing zmath
01:02:41FromGitter<zacharycarter> so matrixTranslate will be going away
01:02:52FromGitter<zacharycarter> I probably should have told you this over the weekend, my bad
01:02:59def-pri-pubYeah, looks like there's a lot left over in `core.nim`
01:03:12def-pri-pub`begin2dMode()` needs a purge
01:03:13FromGitter<zacharycarter> hrm okay let me push up and see where we're at
01:03:16FromGitter<zacharycarter> gotcha
01:03:24FromGitter<zacharycarter> will fix that here shortly if I haven't alread
01:06:21Demos[m]is there a common substring proc in the standard library
01:06:32Demos[m]I feel like I'm being an idiot and it's equivalent to something else
01:13:02Demos[m]also does existFile return true for symlinks?
01:14:44FromGitter<zacharycarter> def-pri-pub: mind checking again? core should be fine now I believe
01:15:38FromGitter<zacharycarter> Demos[m]: https://nim-lang.org/docs/system.html#substr,string,int
01:15:54FromGitter<zacharycarter> no idea on the fileExists for symlinks but I imagine the answer is yes
01:16:05FromGitter<zacharycarter> one easy way to find out ;)
01:18:10*Sentreen joined #nim
01:18:45def-pri-pubexit
01:18:46*def-pri-pub quit (Quit: leaving)
01:18:54Demos[m]it looks like no
01:19:07Demos[m]is there a function that will just tell me if something exists at a path, and if so what it is
01:19:22Demos[m]like stat but working on windows
01:20:18FromGitter<zacharycarter> not sure
01:20:26FromGitter<zacharycarter> looks like there is symlinkexists
01:21:22*StarBrilliant quit (Ping timeout: 276 seconds)
01:25:11*endragor joined #nim
01:29:35*endragor quit (Ping timeout: 248 seconds)
01:47:42*StarBrilliant joined #nim
01:53:06loc8_uit
01:53:09*loc8_ quit (Quit: WeeChat 1.9)
01:53:34*loc8 joined #nim
02:22:32Demos[m]just popped open a merge request to add the SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag on windows
02:23:10Demos[m]this is simply a flag for compat reasons (apps that were relying on symlinks failing)
03:14:51*endragor joined #nim
03:15:19Demos[m]just ordered a copy of Nim In Action for the office!
03:19:04*dddddd quit (Remote host closed the connection)
03:20:14*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:25:39*Snircle joined #nim
03:28:17*Snircle quit (Client Quit)
03:44:10*vivus quit (Quit: Leaving)
03:46:22*Snircle joined #nim
03:50:14FromGitter<Varriount> Araq: Just started learning the Präteritum case in my German class. It's killing me. X_X
03:52:59*loc8 quit (Quit: WeeChat 1.9)
03:53:17*loc8 joined #nim
03:58:47*loc8 quit (Quit: WeeChat 1.9)
03:59:58*francisl joined #nim
04:09:27*loc8 joined #nim
04:10:07*vendethiel- joined #nim
04:18:39*vendethiel- quit (Ping timeout: 248 seconds)
04:33:55*cspar joined #nim
04:34:41*cspar_ quit (Ping timeout: 248 seconds)
04:38:50*mahmudov quit (Remote host closed the connection)
04:42:05*cspar quit (Ping timeout: 240 seconds)
04:52:01*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:52:14*cspar joined #nim
04:56:22*abeaumont quit (Ping timeout: 246 seconds)
04:56:47*abeaumont joined #nim
04:57:24*cspar quit (Ping timeout: 252 seconds)
05:13:47*cspar joined #nim
05:15:33*francisl quit (Quit: francisl)
05:16:52*sz0 quit (Quit: Connection closed for inactivity)
05:45:21*rauss quit (Quit: WeeChat 1.9)
05:55:21*miran joined #nim
05:56:55*Arrrr joined #nim
05:56:55*Arrrr quit (Changing host)
05:56:55*Arrrr joined #nim
06:27:40*miran quit (Ping timeout: 255 seconds)
06:42:37FromGitter<evgenknis> 1111
06:45:31*Vladar joined #nim
06:46:04*nsf joined #nim
06:53:18*tdc joined #nim
06:54:13ArrrrF
06:54:16*haha_ joined #nim
06:56:41Araq27
07:07:57*PMunch joined #nim
07:08:59*haha_ quit (Quit: haha_)
07:09:57*haha_ joined #nim
07:14:46*gangstacat quit (Quit: Leaving)
07:25:13*haha_ quit (Quit: haha_)
07:31:32*haha_ joined #nim
07:34:01*haha_ quit (Client Quit)
07:35:38*yglukhov joined #nim
07:37:03*yglukhov quit (Remote host closed the connection)
07:37:18*yglukhov joined #nim
07:39:44*BitPuffin|osx joined #nim
07:55:32*haha_ joined #nim
08:03:34*xet7 quit (Quit: Leaving)
08:05:22*BigEpsilon quit (Remote host closed the connection)
08:06:11*BigEpsilon joined #nim
08:25:02*endragor quit (Remote host closed the connection)
08:26:26*endragor joined #nim
08:28:52*endragor quit (Remote host closed the connection)
08:31:38*endragor joined #nim
08:36:14*endragor quit (Ping timeout: 240 seconds)
08:43:11FromGitter<ephja> ```code paste, see link``` ⏎ ⏎ so this node should only really appear in a macro context? [https://gitter.im/nim-lang/Nim?at=59a5291f81cd9a5d7e9d2404]
08:46:50FromGitter<ephja> dom96: `toJsonNode{"field": toJsonNode(5), "field2": toJsonNode(4.5)}` why would the syntax following the prefix have to change (become more verbose) as well?
08:48:33FromGitter<zacharycarter> hrm still doesn't look like the playground is running 0.17.0
08:48:34FromGitter<zacharycarter> grr
08:50:46*enthus1ast- quit (Ping timeout: 255 seconds)
08:52:21*enthus1ast- joined #nim
08:53:28*endragor joined #nim
08:56:31FromGitter<ephja> `of tyTypeDesc: if result.kind == nkStmtList: result.kind = nkStmtListType`
08:56:52*dom96|w joined #nim
08:58:08FromGitter<zacharycarter> alright now the playground supports latest
08:58:13FromGitter<zacharycarter> sorry about that
09:06:44*Yardanico joined #nim
09:12:29FromGitter<Yardanico> @zacharycarter also you'll need to update for 0.17.2, because it will probably be released in ~1-2 weeks
09:12:36*endragor quit (Remote host closed the connection)
09:13:29FromGitter<zacharycarter>
09:20:43*gangstacat joined #nim
09:21:18*haha_ quit (Quit: haha_)
09:28:44YardanicoWhat would be the best test category for https://github.com/nim-lang/Nim/issues/4665 ?
09:38:21*haha_ joined #nim
09:46:28*enthus1ast- quit (Ping timeout: 240 seconds)
09:57:34*couven92 joined #nim
09:58:08*enthus1ast- joined #nim
10:06:39*yeeve__ joined #nim
10:10:21*yeeve quit (Ping timeout: 252 seconds)
10:14:36*haha_ quit (Quit: haha_)
10:26:06*haha_ joined #nim
10:30:15dom96|whrm, maybe we should create a Nim devroom at next year's FOSDEM
10:31:10dom96|wmaybe it's too late for that already though
10:32:22dom96|woh no, there is no call for participation yet
10:46:10*dddddd joined #nim
10:49:43*endragor joined #nim
10:54:13*ShalokShalom joined #nim
10:55:14*enthus1ast- quit (Ping timeout: 240 seconds)
10:56:15*enthus1ast- joined #nim
10:57:48*haha_ quit (Quit: haha_)
11:07:45*dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…)
11:29:59YardanicoAraq, sorry, I made a PR with typo fix to the wrong branch (master instead of devel) because I've done it in github web version
11:30:16*dom96|w joined #nim
11:30:22Yardanicodo I need to recreate PR or no?
11:32:47couven92Yardanico, I'd close the original PR and recreate with new target branch
11:36:52Yardanicocouven92, well Araq merged it already
11:37:06couven92ah
11:37:14Yardanicohttps://github.com/nim-lang/Nim/pull/6289
11:37:52couven92cherry-pick and recreate, link to #6289
11:43:28*Snircle joined #nim
11:43:59*loc8 quit (Ping timeout: 248 seconds)
12:07:23*Yardanico_ joined #nim
12:07:29*enthus1ast- quit (Ping timeout: 248 seconds)
12:10:43*Yardanico quit (Ping timeout: 276 seconds)
12:14:04*Yardanico_ quit (Quit: Quit)
12:14:10*BigEpsilon quit (Ping timeout: 255 seconds)
12:14:17*Yardanico joined #nim
12:14:56*BigEpsilon joined #nim
12:29:19*BigEpsilon quit (Remote host closed the connection)
12:29:28*BigEpsilon joined #nim
12:46:01YardanicoAraq, https://github.com/nim-lang/Nim/issues/6292#issuecomment-325650856 seems to be a regression after last GC codegen bug
12:46:08Yardanico*codegen bug fix
12:50:33*Matthias247 joined #nim
12:50:55Araqhow so? i.split('/')[^1] always was broken
12:51:11Araqthe compiler used to disallow it, now it produces bad code instead
12:51:29Araqit's a nasty problem but not a regression caused by my GC fixes
12:51:35YardanicoAraq, ah, sorry, didn't knew about it
12:52:25Yardanicowell at least I know now that you can omit "untyped" in templates
12:52:41*BigEpsilon quit (Remote host closed the connection)
12:52:51*ShalokShalom quit (Remote host closed the connection)
12:56:36*endragor quit (Remote host closed the connection)
13:03:46FromGitter<andreaferretti> what's wrong in `i.split('/')[^1]` anyway?
13:03:54FromGitter<andreaferretti> I don't see why it should be disallowed
13:05:36dom96|wThis looks like a showstopper to me
13:07:46Yardanicoalso a question - when .deprecated stuff will be removed? on 1.0 release? there is a lot of these in stdlib
13:08:02Yardanicofor example TFoo - Foo deprecated aliases
13:08:58Araqdom96|w: fix it :P
13:09:36FromGitter<ephja> @andreaferretti ^ doesn't work well with side effects atm
13:09:38dom96|wAraq: `git revert 920f4acadf`
13:09:40dom96|wDone :P
13:10:07Araq920f4acadf hasn't caused this, read what I wrote please
13:12:45YardanicoAraq, a weird question, but: are you the only one who knows everything about Nim compiler internals?
13:13:42Araqno, zahary knows everything too (we hired him) and "Jehan" seems to know almost everything
13:14:02Yardanicook, nice to know :)
13:15:36Araqhttps://www.think-cell.com/en/career/talks/iterators/#1
13:17:14*BigEpsilon joined #nim
13:18:23*rauss joined #nim
13:19:04FromGitter<andreaferretti> I see that it doesn't work with side effects
13:19:14FromGitter<andreaferretti> My question is
13:19:21FromGitter<andreaferretti> Araq says it should be disallowed
13:19:34FromGitter<andreaferretti> But I don't see anything wrong in that code
13:19:58Araqwell either we rewrite it properly aka (let x = call(); x[^1])
13:19:59FromGitter<andreaferretti> It looks just normal index access to a seq which is the result of a function call
13:20:04Araqor we disallow it
13:20:29FromGitter<andreaferretti> Doesn't this happen for all composed expressions?
13:20:37FromGitter<andreaferretti> How is `[]` special in this regard?
13:20:45Araq[] is not, but ^ is
13:21:16FromGitter<andreaferretti> ah ok, now I see
13:21:42Araqor maybe we change the implementation to not rely on compiler magic
13:21:58FromGitter<andreaferretti> from the point of view of implementing, yes, that could lead to evalutating stuff twice
13:22:33FromGitter<andreaferretti> if one just rewrites `x[^1]` as `x[x.len - 1]`
13:22:41FromGitter<andreaferretti> `x` may be evaluated twice
13:23:18FromGitter<andreaferretti> I guess introducing a temporary is somehow needed
13:23:31Araqyeah and that's the problem.
13:23:58*gangstacat quit (Quit: Leaving)
13:24:04Araqwe don't introduce the temporary and it's kinda messy, the sem'checking does the rewrite and is not supposed to introduce temps
13:24:19Araqlater passes in the compiler have more freedom :P
13:24:51FromGitter<andreaferretti> I see
13:25:00Araqbut a pure system.nim based implementation seems better
13:25:34Araqwe can make ^ an ordinary operator that creates a Reverse[T] and have [] accessors that can take a Reverse[T]
13:25:51Araqmuch like we do it with '..' already
13:26:55FromGitter<andreaferretti> but then `[]` accessors will need to be procs
13:27:11FromGitter<andreaferretti> if they are templates, you get the double evaluation again
13:27:21FromGitter<andreaferretti> better be sure these procs are inlined
13:28:49Araqso? templates need to be carefully written, that's not a new problem
13:29:26Yardanicoehh, it seems dirty templates don't play well with async procedures
13:30:00FromGitter<andreaferretti> ah ok, one can use templates and introduce a temporary there
13:32:08*relax joined #nim
13:32:30*BigEpsilon quit (Quit: Leaving)
13:32:50*BigEpsilon joined #nim
13:34:11*BigEpsilon quit (Client Quit)
13:34:40*BigEpsilon joined #nim
13:49:50*Matthias247 quit (Read error: Connection reset by peer)
13:50:15*nsf quit (Quit: WeeChat 1.9)
13:56:25YardanicoAraq, is there a better way to do this - https://gist.github.com/Yardanico/7eace4f1fd519170e10119efb8be0b6f than creating ident nodes and using "quote do"? If I make a template, it doesn't work because of async pragma (some cryptic error messages)
14:01:00YardanicoI only need that proc name would be unique, I don't care about making other variable names unique
14:05:42*PMunch quit (Quit: Leaving)
14:06:29*couven92 quit (Quit: Client Disconnecting)
14:09:06Yardanicooh wait I almost did it
14:09:11Yardanicothere's c compiler error now
14:15:25Yardanicoif I insert procedure name like `uniqName` in a template, it says "lib/pure/asyncmacro.nim(286, 10) Error: Unknown name."
14:16:26FromGitter<ephja> what's uniqName?
14:17:25YardanicoI'll post a snippet now, one sec
14:17:41Yardanicowell uniqName is an ident node
14:17:45Yardanicopassed to a template in a macro
14:17:51Yardanicolike "result = getAst(genProc(uniqName, usage, cmds, procBody))"
14:18:00YardanicogenProc - this template
14:18:19YardanicoI want to have unique name of a procedure in a template
14:18:25Yardanicoin a dirty template
14:18:38Yardanicobut I don't want to have unique names for all other variables
14:19:08Araquse {.gensym.} for the proc?
14:19:47*dom96|w quit (Quit: My Mac has gone to sleep. ZZZzzz…)
14:21:15YardanicoAraq, can I apply it to the procedure?
14:21:19FromGitter<ephja> can all async related limitations be addressed without help from the compiler?
14:21:30Araqproc foo() {.gensym.}
14:21:39*Jesin quit (Quit: Leaving)
14:22:50YardanicoAraq, like this? https://gist.github.com/Yardanico/4b3d388a5aa349d41e79a3252efd4a1a
14:23:45Araqyes but getAst is special, .async will never work with this
14:24:05Yardanicoah
14:24:28*dom96|w joined #nim
14:25:13*Jesin joined #nim
14:34:11Yardanicook, I'll keep it as it is now
14:37:23Yardanicoit seems async macro don't like procedure name created with genSym
14:49:44*dom96|w quit (Quit: Textual IRC Client: www.textualapp.com)
14:56:35*SusWombat joined #nim
14:57:29*miran joined #nim
14:59:38*Trustable joined #nim
15:04:57*nsf joined #nim
15:08:15*PMunch joined #nim
15:08:21*BigEpsilon quit (Ping timeout: 240 seconds)
15:12:23*endragor joined #nim
15:17:17*endragor quit (Ping timeout: 260 seconds)
15:21:37*loc8 joined #nim
15:37:13*ShalokShalom joined #nim
15:45:55*loc8 quit (Read error: No route to host)
15:46:40*loc8 joined #nim
15:54:08*PMunch quit (Quit: leaving)
15:54:12*BigEpsilon joined #nim
15:54:31Araqanyone opposed to introducing 'jstring' instead of 'cstring' for the JS target?
16:02:54FromGitter<andreaferretti> I think many will be happy
16:08:40euantorYeah, no problems here. Hopefully library authors will then adapt code quickly
16:09:58Yardanicowell everything is better to do now, before 1.0 :)
16:16:30ArrrrI thought cstring was 'compatible string'.
16:17:10YardanicoArrrr, well it does
16:17:20Yardanicobut probably it's better to have something separate for JS
16:23:14ArrrrSo it goes back to meaning 'C string'
16:23:32Yardanicocompatible string for everything except JS :D
16:23:38Yardanicocsfeejs
16:23:57Araqwell cstring will be available a bit longer.
16:24:30Araq"compatible string" is a backronym
16:30:24*BitPuffin|osx quit (Remote host closed the connection)
16:38:40*BitPuffin|osx joined #nim
16:58:59*itseris joined #nim
17:09:56*BigEpsilon quit (Ping timeout: 246 seconds)
17:13:57*Arrrr quit (Read error: Connection reset by peer)
17:18:32*BigEpsilon joined #nim
17:28:09FromGitter<k0pernicus> Yardanico > Aaaaah I am so excited when I see 1.0 ! :-(
17:28:50*ShalokShalom quit (Remote host closed the connection)
17:32:37*sz0 joined #nim
17:37:38*Snircle quit (Ping timeout: 255 seconds)
17:38:24*Snircle_ joined #nim
17:42:07*Yardanico quit (Remote host closed the connection)
17:43:02*BigEpsilon quit (Ping timeout: 255 seconds)
17:45:17*Tiberium joined #nim
17:52:25*Tiberium quit (Quit: Textual IRC Client: www.textualapp.com)
17:54:23*Yardanico joined #nim
18:03:51*notdekka[m] joined #nim
18:11:21*Ven`` joined #nim
18:13:13shodan451.0?! Did somebody say 1.0?? ;)
18:26:32*yglukhov quit (Remote host closed the connection)
18:30:25*xet7 joined #nim
18:31:22*yglukhov joined #nim
18:35:43*yglukhov quit (Ping timeout: 248 seconds)
18:36:07dom96Araq: You can add 'jstring' but only to a 'jsffi' module
18:36:24Araqugh, why? I don't even use jsffi
18:36:44Araqwhen defined(js): type jstring = cstring # 1 line in system.nim
18:37:03*xet7 quit (Quit: Leaving)
18:41:26dom96Because soon people will be asking "but why is it cstring for the C++ backend?"
18:41:32dom96"Why is there no jsint?"
18:41:40dom96or jsfloat
18:42:10dom96if you're so worried about karax being sexy then why don't you add this alias to karax?
18:43:38Demos[m]@dom96: nimble has lots of trouble building things that are in a subdirectory of src as binaries
18:43:52dom96Demos[m]: report it :)
18:43:58Demos[m]will do
18:46:06*ShalokShalom joined #nim
18:46:25Araqdom96: that question makes little sense as cstring is char* for both C++ and C.
18:46:41Araqit's not mapped to C++'s STL string
18:46:57Demos[m]should cstring be a low level js byte array?
18:47:03dom96It's not about that.
18:47:11Demos[m]also reported
18:48:24dom96Araq: Presumably you want to use jsstring's everywhere to avoid the overhead of conversion, right?
18:48:41Araqyup, speed matters :-(
18:48:52dom96Wouldn't it make sense to use the native JS strings for the JS backend?
18:49:00dom96for `string`
18:49:07Araqthe semantics are different
18:49:34Araqwe could make it compatible, throw away the trailing 0, change how the mutability works
18:50:04Araqbut that's for after 0.17.2
18:51:01dom96okay, add it.
18:51:28dom96But I would like to eventually move all these FFI types into an `ffi` module.
18:52:06dom96or meh, maybe I can just make the doc gen better
18:52:33dom96it would be nice to get an idea if a module deals with the ffi by looking for `ffi` imports though
18:54:09Araqshouldn't this at least be 'cffi' then?
18:57:35*PMunch joined #nim
18:59:57*mal`` quit (Quit: Leaving)
19:03:25euantorIs this expected behaviour (see the `won't work` comment): https://play.nim-lang.org/?gist=1fa4f2420b76b04feadb7dd08adfedf0
19:03:58Yardanicohmm
19:04:06Yardanicoit seems that for some reason shl is getting a tuple
19:04:09Araqyes, keyword operators are still operators
19:04:19Yardanicoah, ok
19:04:24euantorFeels like it should be able to infer the type of T https://www.irccloud.com/pastebin/Co4ur3Ys/
19:04:25Araqto turn an operator into a "proc name", put it into backticks
19:04:37euantorOk, fair enough. Just "feels" a bit odd
19:04:43*mal`` joined #nim
19:05:06Yardanicoeuantor, well no
19:05:24Yardanicoeuantor, ((uint32, int)) means that compiler parses it as a tuple of uint32 and int
19:05:48euantorYeah, which is interesting
19:05:50Yardanicoor I'm mistaken :)
19:05:58Araqyeah, shr and shl shouldn't be keywords, the only keyword operators should be 'and', 'or', 'xor' and 'not'
19:06:31Araqbut then you would eventually ask the same question for '+' or '&'
19:11:09*couven92 joined #nim
19:14:43*Ven joined #nim
19:14:55*yglukhov joined #nim
19:15:06*Ven is now known as Guest18365
19:16:58*TjYoco joined #nim
19:19:22TjYocoIs this a good place to ask for help regaurding an error that I need to fix?
19:19:29*yglukhov quit (Ping timeout: 248 seconds)
19:20:28*Guest18365 quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:20:31YardanicoTjYoco, well maybe
19:20:37YardanicoTjYoco, you can ask here and on the forum
19:21:26TjYocoI was following a tutorial in Nim in Action and its giving me this error:
19:21:51TjYocotype mismatch: got (proc (request: Request, response: Response): Future[system.bool]{.locks: <unknown>.}, Settings)
19:22:00TjYocoexpected one of: proc serve(match: proc (request: Request; response: Response): Future[bool]; settings: Settings = newSettings())
19:22:14YardanicoTjYoco, can you post your code?
19:22:21YardanicoTjYoco, on pastebin or gist
19:23:23TjYocoIts straight from the book, heres a paste though https://pastebin.com/W9EXFxjT
19:24:15TjYocoEven the code on the nim-in-action github gives me an error now. The squiggly is on the 'routes:' keyword. I understand what the error means I'm just not fluent enough in nim to know how to fix it.
19:24:37YardanicoTjYoco, what's your nim version?
19:25:05TjYoco0.17.1
19:25:26Yardanicoah yes, I see the error too
19:25:34TjYocoand I just grabbed Jester from nimble yesterday
19:25:35Yardanicodom96, ping
19:25:59YardanicoFull error -https://gist.github.com/Yardanico/8e8305c348b84921a546f6933da90638
19:26:55Yardanicooh
19:27:16Yardanicodom96, it seems to be an error because coroutine is not gcsafe
19:27:36YardanicoI've changed line 792 in jester.nim - added gcsafe pragma to the proc - it compiles now
19:27:46YardanicoTjYoco, as a workaround you can patch your local jester
19:27:52*Vladar quit (Quit: Leaving)
19:28:19TjYocoYardanico, I'll give it try, thank you
19:28:24YardanicoTjYoco, yourHomeDir/.nimble/pkgs/jester-(some version)/
19:28:33Yardanicoand edit line 792 in jester.nim here
19:28:41Yardanicochange {.async.} to {.async, gcsafe.}
19:30:02TjYocoline 729 for me shows the middle of a switch case, not a proc
19:30:20YardanicoTjYoco, ah sorry
19:30:29Yardanicooh, you're looking at the wrong line number
19:30:33Yardanico792, not 729 :)
19:30:40TjYocooh whoops, haha, I see it
19:30:56Yardanicochange {.async.} to {.async, gcsafe.} here
19:32:01TjYocogreat, that works! Thank you
19:33:11dom96oh, that's bad
19:33:28dom96Yardanico: Mind creating a PR for jester?
19:33:38Yardanicodom96, I don't know if this fix is correct
19:33:47Yardanicobut yeah, I'll do a PR
19:34:21*sz0 quit (Quit: Connection closed for inactivity)
19:35:10Yardanicohttps://github.com/dom96/jester/pull/118
19:36:33Araqdom96: is that yuri's regression? :-(
19:37:00Araqhe convinced me his change is only for the better, allowing more GC unsafe code within .async
19:37:13dom96seems like it
19:37:50dom96We should add this code to Nim's test suite: https://github.com/dom96/nim-in-action-code
19:38:12dom96If you want to reproduce this problem then compile https://github.com/dom96/nim-in-action-code/tree/master/Chapter7/Tweeter
19:38:16Araqgo ahead already please
19:38:25dom96(tweeter.nim inside src)
19:38:30Araqalso add the stuff the HPC guy reported on the forum
19:39:03*tdc quit (Ping timeout: 252 seconds)
19:40:21dom96yeah, might not be able to do that today :)
19:41:02dom96TjYoco: alternatively you can turn off thread analysis via: --threadAnalysis:off during compilation to make this error go away for now :)
19:41:44TjYocoIs that the recommended alternative? And revert jester back to normal?
19:41:50*PMunch quit (Quit: leaving)
19:42:03Araq--threadAnalysis:off is not to stay
19:42:18dom96TjYoco: No, just thought it might be easier for you :)
19:42:50YardanicoAraq, it will be removed when thread analyzer will be improved?
19:43:08Yardanicowell I know thread analyzer is already good now
19:43:13dom96Araq: I think it should stay to allow this override in case things are too confusing.
19:43:31Yardanicojust maybe add one-threaded async applications as an exception?
19:44:35Araqdom96: as a much better workaround, we now have a {.gcsafe.}: code_block_here construct
19:45:03Araqthat disables it on a much finer granularity
19:45:20dom96why kill this switch?
19:45:43Araqbecause it was only intended for porting old code
19:45:59Araqit was never meant as a general "ok, I don't care" device
19:50:38dom96Okay, I will be happy for you to kill it as long as the error messages improve.
19:50:41*yglukhov joined #nim
19:53:50*TjYoco quit (Quit: Page closed)
19:56:35*couven92 quit (Ping timeout: 240 seconds)
19:57:33Araqunrealistic, the error messages are as good as they can get with an effect tracking system
19:57:44*endragor joined #nim
20:00:53Araqhey guys, can somebody tweak the CSS for https://nim-lang.org/araq/perlish.html to make it mobile friendly?
20:01:36Araqthere is an upcoming article about Nim/Karax in my blog
20:02:07*endragor quit (Ping timeout: 248 seconds)
20:05:26Araqcool a DSL for constructing svgs, check it out https://github.com/bluenote10/NimSvg/blob/master/examples/animation1.nim
20:05:51YardanicoAraq, well I don't know CSS, but this page looks good in chrome with "reader" mode, which sadly isn't enabled for all websites in chrome (I've forcefully enabled it in chrome://flags)
20:07:06Yardanicowithout reader view: https://pp.userapi.com/c638218/v638218404/5c002/-9iqTzNEBhQ.jpg
20:07:19Yardanicowith it: https://pp.userapi.com/c638218/v638218404/5c00c/ZK5IiIGSfPI.jpg
20:07:51Demos[m]how can I initialize the GC for a thread
20:08:05Demos[m]the thread is spawned by code I don't control
20:11:22YardanicoAraq, ah, it's called "make page web-friendly" in english version of chrome :)
20:12:53*Yardanico quit (Remote host closed the connection)
20:13:53AraqDemos[m]: setupForeignThreadGc
20:18:29Demos[m]thank you
20:20:31*vlad1777d joined #nim
20:29:50*xet7 joined #nim
20:33:29*mahmudov joined #nim
20:36:59Demos[m]just what the doctor ordered
20:39:33*ipjk joined #nim
20:42:22*nsfw_ joined #nim
20:42:53nsfw_got any experience analyzing nim's output (C or JS) ?
20:43:28*Araq raises his hand...
20:47:09FromGitter<Yardanico> Also it seems there's already a solid base for web scraper framework.
20:47:21FromGitter<Yardanico> We have https://github.com/GULPF/nimquery/ for example :)
20:49:17*Trustable quit (Remote host closed the connection)
20:54:49FromGitter<Yardanico> https://github.com/showcases/programming-languages we need some more stars to be in front of the compiler!
20:54:51FromGitter<Yardanico> elm
20:54:57FromGitter<Yardanico> *elm compiler
20:55:52AraqI'm working on it :P
20:56:04Araqfunny that you mention it, my blog post mentions Elm.
20:56:18FromGitter<Yardanico> It seems that elm doesn't have active development now
20:57:03FromGitter<Yardanico> Last code change was in December
20:58:44FromGitter<Yardanico> Araq: ah, you'll earn github stars by creating an article about karax ?
21:01:15FromGitter<Yardanico> Well I know what github stars are actually almost nothing
21:01:41FromGitter<Yardanico> There's a lot of things (even programming languages) which are "over-hyped"
21:04:49Araqno, haven't you heard? you can now turn github stars into bitcoins!
21:05:25FromGitter<Yardanico> Also there's a lot of obsolete examples on Rosetta code (for example - many nim snippets have typeless procedure arguments). Why they were removed?
21:05:31FromGitter<Yardanico> Araq, :D
21:05:47*arnetheduck joined #nim
21:08:00*itseris quit (Quit: Konversation terminated!)
21:08:48Araqer, before the rumor spreads to HN and reddit, that was a joke. github stars do not turn into bitcoins.
21:10:43FromGitter<Yardanico> Well I don't
21:14:13FromGitter<Yardanico> use HN :)
21:21:49*pilne joined #nim
21:23:23FromGitter<Yardanico> Wow, I found a website which allows to execute Nim code (and a lot of other languages)
21:23:25FromGitter<Yardanico> https://tio.run/##y8vM/f8/NTkjX8EvMzcstag4Mz/v/38A
21:24:17FromGitter<Yardanico> It even allows to add compiler flags
21:26:55dom96ehh... https://play.nim-lang.org?
21:28:05FromGitter<Yardanico> Playground doesn't have compiler flags :)
21:28:30*rauss quit (Quit: WeeChat 1.9)
21:28:47FromGitter<Yardanico> But I use playground all the time, just wanted to share this service
21:29:05*relax quit (Ping timeout: 240 seconds)
21:29:25dom96all other services can die, Nim playground is the best :P
21:32:05*couven92 joined #nim
21:36:33*Sentreen quit (Ping timeout: 248 seconds)
21:41:09*Ven`` quit (Ping timeout: 252 seconds)
21:42:39*nsf quit (Quit: WeeChat 1.9)
21:44:43*miran quit (Ping timeout: 246 seconds)
21:50:21*Sentreen joined #nim
21:50:55FromGitter<zacharycarter> so carfax might have its first prod nim code soon
21:51:07FromGitter<zacharycarter> I wrote a lambda job today that returns lat long from zip
21:52:09FromGitter<zacharycarter> going to try to convince folks to let me put it in prod - the code that does the actual zip list filtering is written in Nim
21:54:30Araqzacharycarter: I want you to play with Karax "nextgen"
22:16:31*FromGitter quit (Remote host closed the connection)
22:16:31*oprypin quit (Quit: Bye)
22:16:46*FromGitter joined #nim
22:16:53*oprypin joined #nim
22:24:41*relax joined #nim
22:37:04*Noctis joined #nim
22:51:10*Noctis quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
22:57:13*relax quit (Ping timeout: 240 seconds)
23:07:03FromGitter<zacharycarter> Araq: will do
23:07:19Araqstill writing docs for it though
23:07:51FromGitter<zacharycarter> gotcha - I'm just browsing commits for now
23:12:33*yglukhov quit (Remote host closed the connection)
23:15:21FromGitter<zacharycarter> @Yardanico compiler flags could be a thing for nim playground
23:15:25FromGitter<zacharycarter> as could be different compiler targets I'm sure
23:20:50*rauss joined #nim
23:28:59*relax joined #nim
23:30:51FromGitter<FridgeSeal> I'm finishing converting a lambda function from Python into Nim today: only a simple function but I'm excited for the performance benefits! 
23:36:01*Pisuke quit (Ping timeout: 246 seconds)
23:36:11*qwertfisch quit (Quit: ZNC - http://znc.in)
23:39:31*BitPuffin|osx quit (Ping timeout: 255 seconds)
23:51:15FromGitter<zacharycarter> @FridgeSeal nice - are you just using a binary or are you actually using dlopen
23:53:46FromGitter<FridgeSeal> Was going to try using the FFI via this library: https://github.com/jboy/nim-pymod
23:54:04FromGitter<zacharycarter> would probably be easier to just compile to a dll
23:54:06FromGitter<zacharycarter> and then dl open
23:54:12FromGitter<zacharycarter> and call your function
23:54:23FromGitter<zacharycarter> like how golang does it
23:54:34FromGitter<zacharycarter> https://github.com/eawsy/aws-lambda-go-shim
23:54:40FromGitter<FridgeSeal> Yeah? I'm still pretty new to Nim (and compiled languages) so I'll go with whatever's the recommended approach :)
23:54:50FromGitter<zacharycarter> well the naive simplest approach is to do what I did
23:54:51FromGitter<FridgeSeal> I'll check that out, thanks for the advice!
23:55:06FromGitter<zacharycarter> which is use docker and compile your program to a binary using the aws linux image
23:55:23FromGitter<zacharycarter> then use python to execute your binary
23:56:10*loc8_ joined #nim
23:56:12FromGitter<zacharycarter> I'd say the next simplest is to replicate what's being done in that aws-lambda-go-shim project, half of which I just described
23:56:16FromGitter<FridgeSeal> Would that be via Python's FFI? Or calling the binary via a shell command?
23:56:24FromGitter<zacharycarter> calling the binary via a shell command
23:57:16FromGitter<zacharycarter> the next best thing IMO is you compile your program to a dll with Nim
23:57:21*Snircle joined #nim
23:57:44FromGitter<zacharycarter> or a shared library I guess
23:57:47FromGitter<zacharycarter> and then dlopen
23:58:18FromGitter<zacharycarter> this is obviously a lot nicer than calling a binary
23:58:21FromGitter<zacharycarter> but also more complex
23:58:23*subsetpark quit (Read error: Connection reset by peer)
23:58:50*loc8 quit (Ping timeout: 240 seconds)
23:58:51*subsetpark joined #nim
23:59:07FromGitter<zacharycarter> I built a small microservice using option A today
23:59:22FromGitter<FridgeSeal> I'll give them both a go, sounds like a good learning experience.
23:59:27FromGitter<zacharycarter>
23:59:45Araqwait what?! oh well
23:59:57FromGitter<zacharycarter> ?