<< 30-05-2019 >>

00:02:00*envoyt quit (Ping timeout: 272 seconds)
00:02:07*disruptek quit (Ping timeout: 248 seconds)
00:02:55FromGitter<jrfondren> @deech totally unrelated question, have you ever looked at Mercury? It seemed like you were interested in langs like Nim, ATS, Shen that all transpile, for uses like writing your logic once and getting it applied to JS frontends and server backends both. Mercury's another language in this vein, with Java and Erlang and other backends. But, it doesn't have a JavaScript backend.
00:03:37FromDiscord_<Really?> Yeah 0.9.2 is terribly old. Just have a friend who needs it. Now I'm getting "lib/system.lob(336, 24) Error: undeclared identifier: 'natural'" instead
00:04:06*disruptek joined #nim
00:04:08FromGitter<jrfondren> That's also misspelled by the first character, and should be 'Natural' now.
00:05:03FromGitter<jrfondren> I'm surprised that 0.9.2 can't bootstrap itself though. That must've been a really unfortunate release to depend on.
00:05:33FromDiscord_<Really?> Oh it is. Just fixed that and ran into a bunch more of the same issue. Going one by one
00:07:37FromDiscord_<Really?> Is there a version post 0.9.2 that doesn't have Nimble?
00:08:07FromGitter<jrfondren> well you don't have to build nimble.
00:08:17FromGitter<jrfondren> is this for OpenBSD or something?
00:09:16FromDiscord_<Really?> Nope, my friend was getting an error with Nimble and was confused on what to do, so I came here for help
00:09:23FromDiscord_<Really?> Let me get that error he got with the latest version
00:09:47FromGitter<jrfondren> try a current version and ./koch toolsNoNimble
00:09:55FromGitter<jrfondren> that builds everything except for Nimble
00:10:13FromGitter<jrfondren> well after ./koch boot
00:10:42deech@jrfondren No, but it's on the pile. It comes highly recommended. :)
00:11:29FromDiscord_<Really?> One second, he's re running the code, so I'll get the error from him in a minute
00:20:30*tiorock joined #nim
00:20:30*tiorock quit (Changing host)
00:20:30*tiorock joined #nim
00:20:30*rockcavera is now known as Guest83979
00:20:30*Guest83979 quit (Killed (hitchcock.freenode.net (Nickname regained by services)))
00:20:30*tiorock is now known as rockcavera
00:26:01FromDiscord_<Really?> Got it: "config/nim.cfg(47, 3) Error: invalid command line option: '--nimblepath'"
00:27:00FromGitter<jrfondren> just delete that section of the config
00:27:53FromDiscord_<Really?> Thank you :))
00:48:01*theelous3_ joined #nim
00:48:53*theelous3 quit (Ping timeout: 258 seconds)
01:19:01*envoyt joined #nim
01:20:11*deech quit (Remote host closed the connection)
01:20:35*deech joined #nim
01:23:48*ng0_ joined #nim
01:24:08*gearshift joined #nim
01:26:49*ng0 quit (Ping timeout: 256 seconds)
01:29:15gearshifti'm guessing v0.20.0 will be coming out in the summer?
01:30:50FromGitter<jrfondren> two weeks
01:31:27gearshiftnice
01:31:56FromGitter<jrfondren> next week actually
01:34:27gearshiftany chance of an update on a 1.0 roadmap?
01:34:46*envoyt quit (Quit: Bye)
01:36:14laaron-so v0.19.9 is a trival version?
01:41:27FromGitter<kaushalmodi> devel version
01:49:51*deech quit (Ping timeout: 248 seconds)
02:04:59*cyberjpn joined #nim
02:09:03*theelous3_ quit (Ping timeout: 248 seconds)
02:09:07*cyberjpn quit (Client Quit)
02:17:49FromGitter<jrfondren> 1) 0 was discussed a bit earlier today. Araq asked for bikeshedding on blockers to 1.0 coming along.
02:19:52FromGitter<jrfondren> *<Araq>* newruntime aside, that's what we have been doing for years now. fixing bugs, refining stuff, improving docs ⏎ *<Araq>* but it never is "good enough" for v1
02:21:53FromGitter<jrfondren> and: <Araq> kodkuce: "rush for 1.0"? Nim is older than Rust...
02:22:57FromGitter<jrfondren> so at a guess, the roadmap might be shorter than you expect :)
02:23:18FromGitter<jrfondren> man, gitter is really bad at... scrolling. This is a bad thing for such a website to be bad at.
02:27:06leorize[m]use matrix :p
02:33:01ozis Gitter still a thing since Gitlab bought them?
02:33:12*Tyresc quit (Quit: WeeChat 2.5-dev)
02:33:37FromGitter<jrfondren> it still exists and it still integrates with Github, with stuff like # issues linking to github.
02:39:28gearshifti'm thinking a q1 2020 release for v1.0 sounds about right then
02:41:21gearshiftone weird thing i don't get is why md5 and sha1 are in the stdlib but not sha256
02:57:57laaron-About GC_Strategy, I found the enum, but seems no any proc or compiler switch to set it
03:01:16laaron-There is a --useRealtimeGC compiler switch, is related to any GC_Strategy value?
03:04:28leorizehttps://nim-lang.github.io/Nim/gc
03:04:35leorize^ that's about all the docs related to the gc
03:05:45FromGitter<kaushalmodi> laaron: Seems lke the GC_Strategy is not doing anything
03:05:47FromGitter<kaushalmodi> https://github.com/nim-lang/Nim/blob/88b5dd33626dcd9a9abfd6c9e316bc6c79eb1b21/lib/system/gc.nim#L838-L839
03:06:46*deech joined #nim
03:07:30laaron-Of cause I already looked at that page , even with the doc , I don't understand the above questions.
03:08:19deechAraq, I personally don't understand the allure of 1.0. I guess it means the breaking language changes need to go through a much more complicated process and provide a migration strategy.
03:09:12deechBut that's only if Nim has a critical mass of users. So far it doesn't and that's a blessing from a language design standpoint.
03:09:39*Elronnd quit (Ping timeout: 264 seconds)
03:10:48laaron-ohhh, GC_setStrategy is discarded. hope implemention this proc someday
03:11:22*Elronnd joined #nim
03:18:58*deech quit (Ping timeout: 272 seconds)
03:19:11*rnrwashere joined #nim
03:22:20*rnrwashere quit (Remote host closed the connection)
03:22:56*rnrwashere joined #nim
03:23:54laaron-If compile with `useRealtimeGC` switch, does GC_setMaxPause and GC_step 'must' call by myself?
03:27:17*rnrwashere quit (Ping timeout: 250 seconds)
03:31:04laaron-Or does nim compiler had given a good default `maxPause` value?
03:31:10*rnrwashere joined #nim
03:34:22*rnrwashere quit (Remote host closed the connection)
03:36:31*rnrwashere joined #nim
03:39:04*rnrwashere quit (Remote host closed the connection)
03:39:20*rnrwashere joined #nim
03:45:00leorizelaaron-: I think the idea is that you have to call them yourself
03:45:17leorizeafter all the idea of a realtime gc is that you can control when and how long does a pass run
03:49:11*dddddd quit (Read error: Connection reset by peer)
03:54:21laaron-maybe as what you said. I just want know more clear. And if there is a good default value, I can call that more advanced setting later if needed for easy startup.
04:26:00*rnrwashere quit (Remote host closed the connection)
04:30:54*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:41:26*nsf joined #nim
05:03:14*Senketsu quit (Quit: WeeChat 2.4)
05:14:36*ng0_ quit (Quit: Alexa, when is the end of world?)
05:30:06*leorize quit (Quit: WeeChat 2.3)
05:30:59Araq"These two procs are the two modus operandi of the realtime GC"
05:31:58AraqGC_SetMaxPause() is what you use if you don't care too much or if you don't have any event/render loop where you could call GC_step()
05:32:23*narimiran joined #nim
05:33:50FromGitter<Varriount> Araq: Any thoughts on https://github.com/nim-lang/RFCs/issues/122 ?
05:34:00narimirangearshift: "i'm thinking a q1 2020 release for v1.0 sounds about right then" -- it doesn't. 0.20 is out next week, and that's 1.0rc
05:36:32AraqVarriount: I don't like the implied parser changes but apart from that it's good
05:37:14Araqbut I am a happy man without 'quote do', I almost never use it :-)
05:38:37Araq"But that's only if Nim has a critical mass of users. So far it doesn't and that's a blessing from a language design standpoint."
05:39:01*solitudesf- joined #nim
05:39:11Araqwe'll never get this critical mass of users when we keep changing everything
05:47:58*rnrwashere joined #nim
05:48:21laaron-Araq, got it, thanks
05:54:22*rnrwashere quit (Remote host closed the connection)
05:56:37*leorize joined #nim
05:59:07leorizenarimiran: I kinda want a rebase merge but ok :p
05:59:37*rnrwashere joined #nim
06:04:15*rnrwashere quit (Ping timeout: 264 seconds)
06:14:53*rnrwashere joined #nim
06:19:37*seerix quit (Remote host closed the connection)
06:24:47*rnrwashere quit (Remote host closed the connection)
06:24:51*leorize quit (Remote host closed the connection)
06:29:45*leorize joined #nim
06:49:31*rnrwashere joined #nim
07:00:00*gmpreussner quit (Quit: kthxbye)
07:02:38*Vladar joined #nim
07:03:07Calinoucan I read CLI arguments from custom Nimble tasks?
07:03:27Calinou(so that I can pass arguments to the binary with a `nimble run` task I wrote)
07:04:31*gmpreussner joined #nim
07:06:42leorizetry paramStr()?
07:07:53Calinouthanks :) what would be the easiest way to concatenate all arguments in NimScript?
07:08:23leorizeos.commandLineParams().join(' ')?
07:08:47leorizeimport strutils beforehand ofc
07:10:14*hoijui joined #nim
07:11:04*oculuxe quit (Ping timeout: 258 seconds)
07:11:08Zevvthis has probably come up a lot of times, but would `except X as y:` fit in Nim somehow, instead of the cumbersome getCurrentException() and explicit casting to the proper type?
07:11:11*oculux joined #nim
07:15:01leorizeZevv: it's already there?
07:15:12leorizewhy would you need to case nowadays?
07:15:15leorizecast*
07:15:26Zevvoh, really? :/
07:16:08Zevvbut https://nim-lang.github.io/Nim/manual.html#exception-handling-except-clauses
07:16:13leorizelooks like it's not documented :p
07:16:25leorizeZevv: https://nim-lang.github.io/Nim/manual#exception-handling-imported-exceptions
07:16:28Zevv2nd paragraph says "one must convert it explicitly", (Sorry not cast)
07:16:36leorize^ it's not documented at where it should be
07:16:46Zevvgha
07:16:55narimiranPR, please
07:17:18Zevvyes, well, what do you know
07:17:49*Vladar quit (Remote host closed the connection)
07:18:15*Vladar joined #nim
07:18:26Zevvwhat to do with the section "one must convert"? This still holds if you catch more then one type in one except I guess?
07:20:10leorizeexcept Exception as e: let e = if e as Something: Something(e)
07:20:15leorize^ smt like that?
07:20:35leorizeI think the operator is `of`, not `as` though
07:21:17leorizebut that's bad style anyway
07:21:37leorizeyou should just use except as a kind of `case` branch
07:21:40Zevvno, sorry, I ment if I would update the docs. The 'except .. as ..' migates the need for getCurrentException() and getCurrentExceptionMsg(), but you still need those if you would want to catch more then one exception in one 'except'
07:22:00Zevvso this whole section is outdated
07:22:23leorizeyou don't need those actually :p
07:22:28leorizesee that snip I wrote above
07:22:33Zevvthat is my point
07:23:50*solitudesf- quit (Ping timeout: 268 seconds)
07:28:33*stefanos82 joined #nim
07:44:08narimiranshashlick, Zevv: `nimterop` and `with` added: https://github.com/nim-lang/Nim/pull/11355
07:45:03Zevvthanks
07:54:05*rokups joined #nim
08:00:48*rayman22201 quit (Quit: Connection closed for inactivity)
08:06:17*rnrwashere quit (Remote host closed the connection)
08:27:07*hoijui quit (Ping timeout: 248 seconds)
08:31:48*clyybber joined #nim
08:35:11*Vladar quit (Ping timeout: 248 seconds)
08:51:06*matt-m joined #nim
09:03:39gearshiftnarimiran: so q3 of this year? what's your guess?
09:05:53gearshifti really hope sha256 is added to the stdlib by then
09:06:34gearshiftwas it excluded on purpose? there's already md5 and sha1 included
09:07:42narimirangearshift: yes, q3 2019 sounds like a reasonable estimate
09:10:17*ShalokShalom joined #nim
09:11:03*ShalokShalom left #nim (#nim)
09:16:34*cyberjpn joined #nim
09:25:13*clyybber quit (Quit: WeeChat 2.4)
09:25:54narimiranshashlick: does nimterop work on windows? because locally it passed the tests, but now appveyor times out :/
09:28:22shashlickNimterop should work yes
09:29:19narimiranok, i'll restart the CIs, maybe it was just a fluke
09:30:31FromDiscord_<kodkuce> hmm so am i tarded again or something wrong heppening here
09:30:33FromDiscord_<kodkuce> https://hastebin.com/icuzoqifos.php
09:31:06leorizehere's something creepy: anyone wants package testing on 32bit? :p
09:31:54shashlick@narimiran - there's nothing in that log file either
09:32:49FromDiscord_<kodkuce> i sigh tocken and when try verify it says its wrong, i think i did same as https://github.com/yglukhov/nim-jwt example
09:33:17shashlickIt just stops after 42 packages
09:33:25narimiranshashlick: it reached 1 hour
09:34:39narimirani added `nimly`, `with` and `nimterop` — all three are passing on my linux machine
09:35:58FromDiscord_<kodkuce> or not i just tested example and it worked, so guess i scrwed up somwere
09:36:01FromDiscord_<kodkuce> sorry
09:46:24FromDiscord_<kodkuce> ok so i knda got it working but hmm, whenewer i test that jwt on https://jwt.io/ it alwies says invalid signature
09:48:37FromDiscord_<kodkuce> whit his verify i now get true, but copy pasting echo of token to jwt.io alwies get wrong signature... can somone try it just run example https://hastebin.com/totupovaco.cpp
09:50:10shashlick@narimiran - just tested nimterop on my windows machine from scratch on devel and it works fine
09:51:00narimiranshashlick: ok, i restarted the tests so lets see what will happen this time. if it times out again, then we can investigate more
09:52:38*matt-m quit (Remote host closed the connection)
09:55:58*leorize quit (Remote host closed the connection)
10:04:48*leorize joined #nim
10:07:02shashlickAnyone know where I can ssh into a Mac and do some Nim testing?
10:08:01leorizewhy does the base64 module generates "formatted" base64?
10:12:28*leorize quit (Quit: WeeChat 2.3)
10:19:59*Gertm joined #nim
10:21:42*hoijui joined #nim
10:24:09*Gertm left #nim ("Leaving")
10:25:12*cyberjpn quit (Quit: WeeChat 2.4)
10:33:29*deech joined #nim
10:37:24FromDiscord_<kodkuce> ok from what i figured out with nim-jwt issue is when alg=HS256 for some reason it generates 86chars in signature like i am using HS512 isted 43 like it should
10:41:57leorize[m]narimiran: look at this :p https://github.com/alaviss/Nim/pull/1/checks
10:43:03*rokups quit (Quit: Connection closed for inactivity)
10:43:09leorize[m]just mock data atm, turns out adding tests to azure is rather complex
10:43:33narimiranwhat do you mean?
10:44:30leorize[m]that above is how azure pipeline tests failure would look like
10:44:58narimiran"adding tests to azure is rather complex" - what do you mean by this?
10:45:38leorize[m]you can only do so via their REST api
10:46:11leorize[m]no nice command line tool like appveyor
10:48:25narimiranok but once set-up, it should be ok?
10:48:49leorize[m]yea
10:49:14narimiranthen we'll just leave this hard and boring part to you, and just reap the benefits :P :D
10:50:02leorize[m]:p gimme a nice paycheck later
10:50:50leorize[m]jk
11:08:53FromDiscord_<kodkuce> *** stack smashing detected ***: <unknown> terminated << what does this mean?
11:11:38skrylar[m]reading over history; re: 1.0 when araq stops deciding to make huge changes and deprecations i would accept 1.0. since i started ever touching it they broke casing (needed rewrites) and then wanted to change exceptions (more rewrites) so if i could comfortably not have anxiety issues that huge swoths of my code are going to break on a whim i would say you're ready
11:13:35*deech quit (Ping timeout: 248 seconds)
11:13:40*solitudesf joined #nim
11:15:27skrylar[m]i also used to use methods, which are gated now, so there would have been another round of rewrites if i hadn't wandered off
11:18:22FromGitter<zacharycarter> well - 1.0 isn't a thing yet, and I think the language and some of its design is susceptible to change until then
11:18:47FromGitter<zacharycarter> after 1.0 I don't think it would be appropriate to make major changes to or deprecate features without a migration plan
11:19:07skrylar[m]:asciishrug:
11:19:34*elrood joined #nim
11:20:37*theelous3_ joined #nim
11:20:52narimiranskrylar[m]: *multi* methods are now behind the switch, big difference
11:22:18skrylar[m]yes which use the 'method' keyword
11:24:45skrylar[m]anyhow all but one of the non-virtual BHandler things are nim coded today, so that was a thing
11:26:20*theelous3_ quit (Ping timeout: 244 seconds)
11:26:25*theelous3 joined #nim
11:35:22skrylar[m]not too sure how mature async and threading are at present
11:39:03*hoijui quit (Ping timeout: 264 seconds)
11:40:37FromDiscord_<kodkuce> rewrite evrything for newruntime 😃
11:41:18skrylar[m]i dont know what the newruntime is :\
11:42:33skrylar[m]the refcounting stuff?
11:43:39leorize[m]method still works iirc
11:43:47leorize[m]just not the multi aspect
11:44:03narimiranleorize[m]: yep.
11:44:24narimiranleorize[m]: and 'multi aspect' also work if you explicitly enable it
11:44:42leorize[m]<skrylar[m] "i dont know what the newruntime "> https://nim-lang.org/araq/ownedrefs.html
11:45:47Zevvnarimiran: yeah, but sometimes don't work, and that's the problem
11:45:51Zevvbetter safe then sorry
11:46:46skrylar[m]oh. so the rust stuff.
11:46:51skrylar[m]i think i wandered off to rust at the mention of that
11:46:54narimiranZevv: yep, and it's not like they worked perfectly before and now they suddenly stopped. so "i have legacy code working with methods, now you took that away from me" is not a valid complaint
11:47:20leorize[m]<skrylar[m] "oh. so the rust stuff."> it's more c++ than rust actually
11:47:29Zevvtrue, true
11:48:36*couven92 joined #nim
11:51:09skrylar[m]i do most of my stuff back over in fpc at the moment
11:52:18leorize[m]use pas2nim then forget about fpc :p
11:52:48skrylar[m]considering nim's stability and gui support is anemic, no.
11:53:40skrylar[m]the probability of needing to do a deep rewrite/retweak on fpc in the next six months is extremely low, and also LCL exists there
11:54:19leorize[m]once 0.20 is out you can start targeting that
11:54:35leorize[m]it's the unofficial 1.0 rc
11:54:49leorize[m]but yea, nothing to replace lcl
11:56:29skrylar[m]the vcl stuff is what i'm doing in nim at the moment, with the be/haiku api as a template
12:04:20shashlickWhat's fpc
12:04:46leorize[m]freepascal
12:11:16*matt-m joined #nim
12:14:46*matt-m quit (Remote host closed the connection)
12:16:43*matt-m joined #nim
12:18:31*theelous3_ joined #nim
12:19:18*dddddd joined #nim
12:21:50*PMunch joined #nim
12:21:51*theelous3 quit (Ping timeout: 248 seconds)
12:29:17*menace joined #nim
12:36:15*theelous3_ quit (Ping timeout: 248 seconds)
12:37:46*theelous3 joined #nim
12:39:38*Snircle joined #nim
12:43:32*theelous3_ joined #nim
12:45:24*theelous3 quit (Ping timeout: 258 seconds)
12:50:03couven92Happy Birthday PMunch (again) :D!
12:50:13PMunchThanks :)
12:50:32PMunchDid you have fun yesterday?
12:50:51couven92yup! :D
13:00:47*hoijui joined #nim
13:01:13*hoijui quit (Remote host closed the connection)
13:07:07*Xe quit (Ping timeout: 248 seconds)
13:09:41*Xe joined #nim
13:11:55*nsf quit (Quit: WeeChat 2.4)
13:13:35*apodo joined #nim
13:17:33*al_ joined #nim
13:28:29*sz0 quit (Quit: Connection closed for inactivity)
13:38:23*rayman22201 joined #nim
13:43:32*deech joined #nim
13:44:08*kapilp joined #nim
13:52:48dom96birthday party and I wasn't invited?! :)
13:52:55dom96Happy Birthday PMunch
13:53:20PMunchHaha, if you were in Tromsø I'd invite you :P
13:53:24PMunchAnd thanks :)
13:55:07*deech quit (Ping timeout: 248 seconds)
13:56:23*lritter joined #nim
13:56:39*solitudesf quit (Ping timeout: 268 seconds)
13:58:14xaceHappy birthday PMunch! :)
13:58:26PMunchThanks :)
13:59:32*chemist69 joined #nim
14:00:27*deech joined #nim
14:01:38FromGitter<alehander42> happy birthdayy
14:01:44FromGitter<alehander42> adn easy with the snow
14:02:02xacetake great risks!
14:03:33PMunchHaha alehander42, most of the snow has melted by now
14:06:09Calinouhappy birthday!
14:07:38PMunchThanks :)
14:08:04jkendumb question, what is the syntax to negate a boolean? In most languages I would expect theBoolean = !theBoolean;
14:08:19PMunchnot theBoolean
14:08:31jkenah, thanks PMunch!
14:08:40FromGitter<alehander42> old and wise
14:19:13*leorize joined #nim
14:45:21*laaron- quit (Quit: ZNC 1.7.1 - https://znc.in)
14:46:53*laaron joined #nim
14:48:25*snowolf quit (Ping timeout: 276 seconds)
14:50:14narimiranhey PMunch, so your birthday is the reason why 2/3 of the nim team is today on holidays?
14:51:03PMunchHaha, I think that has more to do with Ascension Day :P
14:52:05*snowolf joined #nim
15:01:33FromDiscord_<kodkuce> @Bjarke i amt do it like tard if something==false xD
15:01:45FromDiscord_<kodkuce> and happy birthday form me too
15:01:58leorizethe last thing azure pipelines have is decent documentation
15:02:01narimiranantipattern
15:02:03leorizePMunch: happy birthday
15:02:22narimiranshashlick: it was nimterop after all ;)
15:02:45*laaron quit (Remote host closed the connection)
15:03:08*laaron joined #nim
15:05:12leorizelooks like by default you can get a token from azure pipelines that would let you mess with other builds in the queue
15:06:00narimiranleorize: can it stop automatically if new commits were pushed to that branch? because (our) travis can't
15:06:14leorizeyes, it can
15:06:36narimiranyay!
15:07:45leorizeso looks like no one has integrated their test running system to azure
15:07:53leorizeI'll be among the first :p
15:09:10narimiranbtw, is there somebody on windows, using nim devel, who could test one package for me?
15:09:39leorizeeven though I don't know how Araq would think when I add `import httpclient` to testament
15:12:15narimiranif there are benefits of doing that....
15:12:49leorizefor azure integration only :p
15:15:40*Xe quit (Ping timeout: 258 seconds)
15:17:47*Xe joined #nim
15:23:02*leorize quit (Remote host closed the connection)
15:23:27*leorize joined #nim
15:36:53PMunchleorize, thanks :)
15:37:14PMunchAnd kodkuce
15:45:36*Trustable joined #nim
15:53:09*deech_ joined #nim
15:58:26*PMunch quit (Remote host closed the connection)
16:08:44*nsf joined #nim
16:15:53*Senketsu joined #nim
16:26:16*rockcavera quit (Remote host closed the connection)
16:35:26*rnrwashere joined #nim
16:37:52*rnrwashere quit (Remote host closed the connection)
16:38:11*rnrwashere joined #nim
16:51:03*rnrwashere quit (Remote host closed the connection)
16:51:44*rnrwashere joined #nim
16:53:00*rnrwashere quit (Remote host closed the connection)
16:53:15*rnrwashere joined #nim
16:53:33shashlick@narimiran - what was wrong?
16:53:47*Trustable quit (Remote host closed the connection)
16:56:14narimiranshashlick: i don't know exactly. appveyor is just kept busy so it never finishes.... but i'll keep on testing. it would help if we had somebody on windows who could confirm the behaviour....
16:57:00shashlicki can test on windows - what should i try
16:57:09shashlickand what command are you running for nimterop test
16:57:50narimiran`nimble install nimterop` and then first it was `nimble test`, and later on i tried just `nim c nimterop/toast.nim`
16:58:30*rnrwashere quit (Remote host closed the connection)
16:59:05narimiran(and yeah, tester clones the package, so it can run everything; `nimble install` is there to download the dependencies)
16:59:45shashlicknimble install will also make some git pulls to download tree-sitter source
16:59:59shashlicki tried those three on my desktop this morning and it works fine with latest devel
17:00:00*rnrwashere joined #nim
17:00:07shashlickwhy doesn't appveyor show any logs for it?
17:00:24narimirani guess it is because it never finishes....
17:01:11*rnrwashere quit (Remote host closed the connection)
17:04:27*rnrwashere joined #nim
17:05:15*solitudesf joined #nim
17:05:31shashlickeven travis does this, fails but logs are incomplete
17:06:20narimirani manually stopped travis, because packages are only tested on appveyor, to speed things up a bit, and leave travis free for other things
17:06:48shashlickno i mean in general - travis also randomly fails jobs but logs are incomplete
17:07:36shashlickmakes working on CI a horrible job, waiting for long jobs to run on some remote server, unable to debug or reproduce locally
17:13:05leorizeshashlick: download the raw log, those are complete
17:13:17leorizesome of them failed because deployment to github pages fails
17:14:19*rnrwashere quit (Remote host closed the connection)
17:15:20shashlickraw log also isn't useful - https://ci.appveyor.com/project/dom96/nim/builds/24918363/job/xgvc8akcr8gpfyfp
17:16:35*rnrwashere joined #nim
17:18:01*al_ quit (Quit: al_)
17:20:52*rnrwashere quit (Ping timeout: 246 seconds)
17:27:38*deech quit (Ping timeout: 272 seconds)
17:55:31*rnrwashere joined #nim
17:56:34*rnrwashere quit (Remote host closed the connection)
17:56:40*rnrwashere joined #nim
18:05:41Zevvthis new auto-initialisation for tables, will that be a generic solution that I can simply use for my own data structures? Or is it simply that on each table-handling proc there will be a check if the table is initialized?
18:07:41*rnrwashere quit (Remote host closed the connection)
18:11:26FromGitter<jrfondren> woah, that would suck. surely it's like auto-initialization for seqs, something you pay for at `var` time or at the beginning of your function with a table `result`
18:15:01*solitudesf quit (Ping timeout: 244 seconds)
18:25:30FromGitter<Varriount> Zevv: Are you around?
18:27:10*narimiran quit (Ping timeout: 272 seconds)
18:28:09*rayman22201 quit (Quit: Connection closed for inactivity)
18:32:49*rnrwashere joined #nim
18:41:21Zevvin 20 mins I think
18:48:06*rnrwashere quit (Remote host closed the connection)
18:48:25*stefanos82 quit (Remote host closed the connection)
18:48:47*matti quit (Quit: Oh dear ...)
18:58:39*rnrwashere joined #nim
19:00:09*rnrwashere quit (Remote host closed the connection)
19:00:36*rnrwashere joined #nim
19:05:03*rnrwashere quit (Ping timeout: 248 seconds)
19:07:41FromDiscord_<Théo Bessel> hello, I've a problem with my nim install on MacOS : I've installed nim by using `brew install nim`, it works but when I'm using `nimble build` to build any project that normally work, I got an error :
19:07:41FromDiscord_<Théo Bessel> ```
19:07:41FromDiscord_<Théo Bessel> MBP-de-Theo:jennysis theobessel$ nimble build
19:07:41FromDiscord_<Théo Bessel> Verifying dependencies for [email protected]
19:07:41FromDiscord_<Théo Bessel> Building jennysis/jennysis using c backend
19:07:42FromDiscord_<Théo Bessel> Tip: 2 messages have been suppressed, use --verbose to show them.
19:07:43FromDiscord_<Théo Bessel> Error: Build failed for package: jennysis
19:07:45FromDiscord_<Théo Bessel> ... Details:
19:07:47FromDiscord_<Théo Bessel> ... Execution failed with exit code 1
19:07:50FromDiscord_<Théo Bessel> ... Command: "/usr/local/bin/../Cellar/nim/0.19.4/bin/../nim/bin/nim" c --noBabelPath -o:"/Users/theobessel/Desktop/jennysis/jennysis" "/Users/theobessel/Desktop/jennysis/src/jennysis.nim"
19:07:52FromDiscord_<Théo Bessel> ... Output: Hint: used config file '/usr/local/Cellar/nim/0.19.4/nim/config/nim.cfg' [Conf]
19:07:54FromDiscord_<Théo Bessel> ... Hint: system [Processing]
19:07:56FromDiscord_<Théo Bessel> ... Hint: jennysis [Processing]
19:07:57FromDiscord_<Théo Bessel> ... Hint: submodule [Processing]
19:07:59FromDiscord_<Théo Bessel> ... CC: jennysis_jennysis
19:08:00FromDiscord_<Théo Bessel> ... CC: stdlib_system
19:08:02FromDiscord_<Théo Bessel> ... CC: jennysis_submodule
19:08:06FromDiscord_<Théo Bessel> ... Error: execution of an external compiler program 'clang -c -w -I/usr/local/Cellar/nim/0.19.4/nim/lib -o /Users/theobessel/.cache/nim/jennysis_d/jennysis_jennysis.c.o /Users/theobessel/.cache/nim/jennysis_d/jennysis_jennysis.c' failed with exit code: 1
19:08:08FromDiscord_<Théo Bessel> ... /Users/theobessel/.cache/nim/jennysis_d/jennysis_jennysis.c:11:10: fatal error: 'string.h' file not found
19:08:10FromDiscord_<Théo Bessel> ... #include <string.h>
19:08:12FromDiscord_<Théo Bessel> ... ^~~~~~~~~~
19:08:13FromDiscord_<Théo Bessel> ... 1 error generated.
19:08:15FromDiscord_<Théo Bessel> MBP-de-Theo:jennysis theobessel$
19:08:16FromDiscord_<Théo Bessel> ```
19:09:22ZevvVarriout: what's up?
19:11:18ZevvVarriount, with an n
19:13:11*menace left #nim (#nim)
19:17:38*rnrwashere joined #nim
19:19:07*clyybber joined #nim
19:20:36*rnrwashere quit (Remote host closed the connection)
19:29:44FromGitter<Varriount> Zevv: Is it possible to use templates at all in a `peg` macro?
19:30:29ZevvI never tried. Npeg is already a voodoo mess of macros generating AST that is inserted into a template which returns a proc calling templates
19:30:40ZevvDo you have an example of what you are trying to do?
19:30:59FromGitter<Varriount> Zevv: Not really, I was just curious.
19:31:10FromGitter<Varriount> I also wanted to say that your library is awesome.
19:31:21Zevvwell, that's good news :) thanks!
19:31:52lqdev[m]it's possible to use them in rule code blocks, but you have to use `capture[x + 1]` instead of `$x`
19:31:53ZevvDid you happen to give the backtracking a go already?
19:32:07Zevvlqdev[m]: What do you think if >1 instead?
19:32:45*rnrwashere joined #nim
19:34:14*rnrwashere quit (Remote host closed the connection)
19:34:41*rnrwashere joined #nim
19:36:05*deech joined #nim
19:39:22*rnrwashere quit (Ping timeout: 272 seconds)
19:44:42*rockcavera joined #nim
19:46:04*zestyr joined #nim
19:53:57*nsf quit (Quit: WeeChat 2.4)
19:54:23dom96hello all
19:54:45Zevvoi dom
19:54:49*solitudesf joined #nim
19:54:59dom96oi you :)
19:55:10Zevvenjoyed your day off?
19:55:20dom96No day off here
19:58:03Zevvoh, sorry about that :)
20:00:51dom96Had a bank holiday on Monday though
20:06:46dom96narimiran[m], just FYI, this is a blocker for 0.20.0 https://github.com/nim-lang/nimble/pull/635#issuecomment-497250610
20:07:08*sentreen quit (Quit: sentreen)
20:07:10dom96If you've got some bandwidth tomorrow, would appreciate if you could help out shashlick in fixing it :)
20:10:55*sentreen joined #nim
20:13:19lqdev[m]Zevv: sure, go ahead
20:13:35lqdev[m]I'd personally choose `<` to complement `>` but it's your library after all
20:15:08dom96Was shr changed? https://forum.nim-lang.org/t/4891
20:15:19ZevvHm, both make sense. '>' is just a prefix for a capture, so you can use the same prefix for capturing and later refering. With the compliment argument I assume you are refering to the visual shape of the prefix. I don't really care, as both should solve the problem that $ clashes and sometimes generates wrong precedence
20:16:55lqdev[m]I interpret `>` as "add capture" and `<` as "retrieve capture"
20:17:40Zevvright.
20:18:17Zevvchoices choices choices
20:18:56lqdev[m]I mean, you do you, I'm not forcing you if you don't want to use `<` :)
20:19:14*rnrwashere joined #nim
20:19:18lqdev[m]it's your library after all, so do what you think is best
20:19:41ZevvI know. It will be `>`, and also still support `$`. I might deprecate the latter one day
20:22:02Zevvhm well wait a sec - *exactly* what problem do you have with `$`?
20:22:29dom96bah, latest docs are missing Google Analytics :/
20:22:31Zevvis it a theoretical or practial issue? Since who would ever use `$` on integer literals anyway?
20:23:44*rnrwashere quit (Remote host closed the connection)
20:24:28*lqdev[m] sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/zuPaQzOpAcFYQqiHNDxcxdKe >
20:24:41lqdev[m]encountered this while writing the rod parser
20:25:34lqdev[m]in this case, `"1"` always gets added to the list
20:27:03Zevvyes but no but yes but
20:27:13Zevvchanging operator won't fix this I'm afraid
20:27:39ZevvThe code block gets mangled by a macro for doing the captures[n] -> $n sugar
20:28:02*rnrwashere joined #nim
20:28:04Zevvbut since you do not use the $ operator inside the code block, the sugar macro has nothing to mangle there
20:28:08*matt-m quit (Ping timeout: 272 seconds)
20:29:02ZevvWere I to use `>` or `<`, the code would simply not compile at all
20:29:10lqdev[m]ah well, then leave it as it is. Using `capture[x + 1]` is fine
20:29:23Zevvor use t($1) instead
20:30:32disruptekwhat's the opinion on while->else or for->else sugar?
20:30:54Zevvwhat would that be?
20:31:37disruptekelse block executed if the loop terminates normally, not if a break terminates it.
20:32:29Zevvooh, that's a though one
20:32:37*rnrwashere quit (Ping timeout: 258 seconds)
20:33:28lqdev[m]is this really necessary?
20:33:45disruptekno, that's why it's sugar.
20:34:03Zevvand how is that implemented?
20:34:13disruptekwithout sugar, you mean?
20:34:20lqdev[m]what can it simplify?
20:34:35ZevvI guess it could save you an if every now and then
20:34:38disruptekblock foo: while bar: break foo; ...
20:35:50Zevvdisruptek: so I guess you'd have to use this explicitly inside a macro code block which does the rewriting
20:35:57lqdev[m]you do you, I won't find it too useful but I suppose someone else could use it
20:36:37disruptekif you wanted to implement it outside of the compiler, yes, i think you're right.
20:37:35Zevvhm well, I can see the use of that, but it feels kind of alien. And I don't break often anyway
20:37:50disruptekthe canonical example is that you're looking for something in a loop and if you find it, you do something and break out. else, you take some special "not found" action.
20:38:19Zevvthat's the 'you could save an if` I ment
20:38:27disrupteki mean, it exists in other languages. just curious if anyone had a good reason to exclude it. i don't think it should be technically difficult.
20:38:35Zevvwhich langs?
20:39:04disrupteki dunno. a few i've used. coffeescript. i think maybe python? can't remember.
20:39:08ZevvMaybe Nim supports it already. This morning I asked why there is no 'except X as Y' in the language. Ended up it was already there :)
20:39:17Zevvjust not in the docs
20:39:57Zevvoh right python has it. never know
20:39:59Zevvknew
20:40:28disruptekyeah, i still think there should be except X of Y, to document/signify inheritance that may be logically significant (and which you don't want to get caught out on, should it change). it helps that it self-documents.
20:41:18Zevvdisruptek: but that already works in Nim
20:41:28Zevvoh no wait, you say 'of' not 'as'
20:41:32disruptekright.
20:41:39Zevv:)
20:42:10disruptekthat's less sugar and more significant, though.
20:43:46Zevvwell, time for ZzzZ here - later!
20:45:10disruptekpeace.
20:45:56*rnrwashere joined #nim
20:46:36shashlick@dom96 @narimiran issue is only on Mac, I tried all three cases on Linux and windows with no failures
20:46:54shashlickI'll check later today on osx to see if I can root cause
20:50:07*rnrwashere quit (Ping timeout: 248 seconds)
20:53:25*PMunch joined #nim
20:53:40clyybberdom96: Yes, its now unsigned shr on uints afaik and arithmetic on ints, but don't quote me on that
20:54:54*rnrwashere joined #nim
20:57:40*rayman22201 joined #nim
20:59:11WilhelmVonWeinerso I'm writing a bytecode interpreter, and I'm using an Enum for the case statement right
20:59:11*rnrwashere quit (Ping timeout: 248 seconds)
21:01:15WilhelmVonWeinerwith Python I'd used an associative array where the opcode name indexed into the correct value in a jump table. This was so you could export that table and use it to generate the same opcode/value pairs as your bytecode interpreter
21:03:31FromGitter<jrfondren> even easier to do that in Nim since you can use an enum as the index of an array.
21:03:33WilhelmVonWeinerI feel like I lost track of my question, sorry. I'll think it out better and come back later if it's worth asking.
21:04:31WilhelmVonWeinerjrfondren: my dictionary was such that {"nop": 0}, it was all strings
21:05:06FromGitter<jrfondren> yeah, no need for that overhead.
21:05:24FromDiscord_<kiwi> IMO, a strong argument for: while else & for else is that its provided in Python so another consistent argument for people coming from Python & asking "should I use Nim or C or Rust"
21:06:20WilhelmVonWeinerWell, if I have an interpreter it needs to map the name of operations to their opcode, it was a forth-like language on a soft processor/interpreter
21:07:39FromGitter<jrfondren> strutils.parseEnum can do that for free.
21:09:10WilhelmVonWeinerwow, that's what I was looking for really, though I didn't quite know it
21:09:12WilhelmVonWeinercheers
21:10:27lqdev[m]also see {.computedGoto.}
21:10:49lqdev[m]https://nim-lang.github.io/Nim/manual.html#pragmas-computedgoto-pragma
21:10:52lqdev[m]might be useful for you
21:12:15WilhelmVonWeinerdoes computedGoto *only* work in a `while true` statement?
21:12:29lqdev[m]in a `while` statement
21:12:39lqdev[m]doesn't have to be `while true`
21:12:49lqdev[m]afaik
21:13:30lqdev[m]well according to the docs it's `while true`, so I dunno
21:13:49lqdev[m]read this for more info on computed gotos https://eli.thegreenplace.net/2012/07/12/computed-goto-for-efficient-dispatch-tables
21:21:24*narimiran joined #nim
21:26:55*vlad1777d quit (Ping timeout: 248 seconds)
21:36:49*NimBot joined #nim
21:45:24*apodo quit (Ping timeout: 272 seconds)
21:46:26*rnrwashere joined #nim
21:47:00*elrood quit (Remote host closed the connection)
21:50:03*deech quit (Ping timeout: 245 seconds)
21:58:29*solitudesf quit (Ping timeout: 258 seconds)
22:10:22*narimiran quit (Ping timeout: 258 seconds)
22:20:53FromGitter<xmonader> @jrfondren I ended up using golang for the select on async filedescriptors problem of yesterday :( now that delivery is done.I can check asyncdispatch magic
22:21:14FromDiscord_<j$> does anyone know if there's a bdf library?
22:21:22*rnrwashere quit (Remote host closed the connection)
22:22:22dom96xmonader: what problem was it?
22:38:42FromGitter<xmonader> @dom96 basically i was trying to select on 2 async sockets
22:39:01dom96xmonader: right, and what was the problem with that?
22:39:05FromGitter<xmonader> https://gist.github.com/xmonader/277544b0e3c16ca744c90317f84c806a
22:40:06dom96why are you using asyncdispatch functions? why not use asyncnet?
22:41:07FromGitter<xmonader> @dom96 well, I used asyncnet until i reached the point that i needed to do select on two file descriptors
22:41:34FromGitter<xmonader> and the guys here guided me to use asyncdispatch with addRead
22:41:58dom96Maybe I'm missing something but I don't see the reason why you'd need to do that
22:42:08dom96What do you mean "select on two file descriptors"?
22:42:12FromGitter<xmonader> the snippet is basically forwarding traffic from 11000 to redis port 6379
22:42:15dom96you mean you wanted to read from two FDs?
22:42:59FromGitter<xmonader> yes, select syscall. whatever FD is ready to read data from I want to execute special flow for it and the order isn't guaranteed
22:43:22dom96The async event loop does `select` for you
22:43:53dom96and dispatches the results to `recv`, `recvLine`, `send` etc.
22:44:15dom96You should have a reading loop for each socket
22:44:47dom96while isConnected: let data = await sock.recv(4096); doSomethingWith(data);
22:45:06dom96put that in a `proc processClient(sock: AsyncSocket) {.async.}`
22:45:16dom96and use `asyncCheck` to run these concurrently
22:45:40dom96Who told you to use asyncdispatch.addRead?
22:45:45FromGitter<xmonader> I'll give it a try I'd be so happy if that worked
22:46:07FromGitter<xmonader> @jrfondren recommended so
22:46:45dom96@jrfondren Using asyncdispatch functions directly shouldn't ever be necessary
22:47:00dom96(Unless you really know what you're doing, so please don't suggest it to others)
22:47:24dom96xmonader: Feel free to ask these kinds of things on the forum if you don't get anywhere
22:47:36FromGitter<jrfondren> https://irclogs.nim-lang.org/29-05-2019.html#20:59:59 's that conversation
22:47:47dom96I'm not around on IRC as much as I used to be but I try to respond on the forum (you can still try to ping me here though)
22:47:48FromGitter<xmonader> I guess I asked it in a very specific way on `how to do select on file descriptors in async/await`
22:48:13FromGitter<xmonader> maybe i should've asked in `what's the correct way to implement X`
22:48:26FromGitter<xmonader> thank you @dom96 I appreciate it
22:49:59dom96Well, possibly. I would mainly urge no one to use the asyncdispatch functions directly
22:50:11dom96async await should be enough for 99.9999% of use cases
22:50:22dom96and I mean that seriously
22:50:49dom96if you use asyncdispatch directly you'll be dealing with a lot of low-level details that no one should be worrying about
22:50:59dom96I guess we need to add some warnings into the docs there
22:51:21dom96But in general, if you're using socket functions that take raw FDs and/or pointers, you should stop :)
23:02:42*couven92 quit (Quit: Client Disconnecting)
23:14:53*clyybber quit (Quit: WeeChat 2.4)
23:22:53*deech_ quit (Ping timeout: 258 seconds)
23:23:00*PMunch quit (Remote host closed the connection)
23:25:03shashlick@dom96 I tried on osx as well and couldn't reproduce the issue
23:25:21shashlickEven tried patty and alea
23:25:33shashlickNot sure what to do next
23:26:09shashlickDo you have a modified ini or custom nimble dir
23:26:16shashlickAny other clues
23:31:08dom96I'll try and look into it tomorrow
23:34:24shashlickOk thanks
23:43:01*abm joined #nim
23:43:05*deech_ joined #nim
23:48:45*lritter quit (Quit: Leaving)
23:54:18deech_Is there a function in the standard lib that pretty prints a seq. I just want a comma separated list of strings without quotes, eg. @["a","b","c"] => a,b,c
23:56:45FromGitter<Varriount> deech_: Not that I know of.