<< 12-03-2020 >>

00:00:30*rockcavera joined #nim
00:03:36*rockcavera quit (Remote host closed the connection)
00:13:51*NimBot joined #nim
00:14:09*krux02_ joined #nim
00:17:10*krux02 quit (Ping timeout: 256 seconds)
00:26:09FromGitter<timotheecour> IIRC i did measure and yes, it was, but I can include benchmark showing this in PR
00:32:52AraqI'm sceptical, the threadlocal access is more expensive than storing the frame on the stack
00:38:56*NimBot joined #nim
00:44:05*rockcavera joined #nim
00:44:17FromGitter<kaushalmodi> Wow, that was my quickest issue opening to PR to merge cycle! Thanks @Araq. Kiloneie: that Rune split issue is now fixed in devel.
00:48:09FromDiscord<Kiloneie> Nice
01:00:54*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:04:42*krux02_ quit (Remote host closed the connection)
01:09:51*couven92 quit (Quit: Client Disconnecting)
01:53:07FromDiscord<Winton> browser in nim
01:56:48FromGitter<kaushalmodi> there's a very recent regression when building NIm devel on my machine
01:57:06FromGitter<kaushalmodi> it's while building koch
01:57:10FromGitter<kaushalmodi> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e6996f602dbe022a17f8802]
01:58:02FromGitter<kaushalmodi> that nim.json is invalid: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e69972a85f81e18a8fe6fc9]
01:58:29FromGitter<kaushalmodi> doing bisect now ..
02:02:25FromGitter<kaushalmodi> @Clyybber Can you see my above error? It started happening after https://github.com/nim-lang/Nim/commit/6b3098c378430e3387854ffc413ce96bd94a3d2c
02:08:04FromGitter<kaushalmodi> .. and it's something in my config.nims that's breaking my build
02:08:51*Hideki_ joined #nim
02:09:41*marmotini_ quit (Remote host closed the connection)
02:10:14*marmotini_ joined #nim
02:14:41*marmotini_ quit (Ping timeout: 258 seconds)
02:17:38*dwdv quit (Ping timeout: 265 seconds)
02:26:00FromDiscord<Winton> what is the purpose of nim? and for its use?
02:27:18FromGitter<kaushalmodi> to make super cool applications very fast
02:28:21FromDiscord<Winton> mm ok
02:28:34FromDiscord<Winton> thx
02:39:14*Hideki_ quit (Remote host closed the connection)
02:43:56*ftsf joined #nim
02:48:08*endragor joined #nim
02:50:26*chemist69 quit (Ping timeout: 240 seconds)
02:50:35*endragor quit (Remote host closed the connection)
02:51:59*rockcavera quit (Remote host closed the connection)
02:52:40*chemist69 joined #nim
03:08:31*Guest68714 is now known as dadada
03:14:19FromGitter<timotheecour> @kaushalmodi hi I PM’d you
03:16:14*muffindrake quit (Ping timeout: 256 seconds)
03:18:39*muffindrake joined #nim
03:19:39*dadada quit (Ping timeout: 260 seconds)
03:21:31*dadada joined #nim
03:21:55*dadada is now known as Guest41341
03:34:03*gangstacat quit (Quit: Ĝis!)
03:36:17*gangstacat joined #nim
03:49:52*leorize joined #nim
03:54:00*nhanb joined #nim
03:59:25leorizedisruptek, Zevv, lqdev[m]: how has your experiences been with nim.nvim perf-opt branch?
03:59:37leorizeare there any new bugs?
04:00:48*cgfuh quit (Quit: WeeChat 2.7.1)
04:07:57*okcy quit (Remote host closed the connection)
04:15:06*okcy joined #nim
04:39:23*nsf joined #nim
04:46:37*hax-scramper quit (Ping timeout: 255 seconds)
04:47:38*jholland__ quit (Quit: Connection closed for inactivity)
04:48:23*Guest41341 is now known as dadada
04:48:40*hax-scramper joined #nim
04:48:53*dadada is now known as Guest10224
04:51:35*ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
04:51:53*nick34348 joined #nim
04:52:07nick34348Is there anywhere I can download a PDF of the nim reference?
04:52:35*hax-scramper quit (Read error: Connection reset by peer)
04:52:50*hax-scramper joined #nim
04:56:01Guest10224in a template foo[T]() = ... is there a way to retrieve the string value of T at compile time, I want to pass it to a macro there
04:59:13*hax-scramper quit (Read error: Connection reset by peer)
04:59:24*hax-scramper joined #nim
05:03:29*okcy quit (Remote host closed the connection)
05:03:41*nick34348 quit (Remote host closed the connection)
05:10:40*gmpreussner quit (Ping timeout: 265 seconds)
05:12:34*narimiran joined #nim
05:14:07*okcy joined #nim
05:21:11*hax-scramper quit (Read error: Connection reset by peer)
05:21:25*hax-scramper joined #nim
05:24:50leorizedisruptek, Zevv, lqdev[m], narimiran: perf-opt has been merged to master, please switch and pull
05:25:09leorizefor nim.nvim
05:26:08narimirandone
05:32:14*gmpreussner joined #nim
05:53:49*nhanb quit (Remote host closed the connection)
06:01:56*silvernode joined #nim
06:02:07*hoijui joined #nim
06:02:42silvernodeGood morning
06:04:55FromDiscord<Rika> good morning to you
06:05:05FromDiscord<Rika> oh yeah that reminds me to check your repo out haha
06:08:04*bunbunbunbunny joined #nim
06:09:38silvernodeupdating discord so I can reply there
06:09:52FromDiscord<Rika> why though
06:09:59FromDiscord<Rika> you can just message here cant you or what
06:11:07silvernodeI don't think direct replies work do they?
06:11:18FromDiscord<Rika> direct replies meaning
06:11:55silvernodeif I orint your username it won't notify you
06:13:55FromDiscord<Rika> ah that
06:13:57FromDiscord<Rika> i see
06:17:35FromDiscord<mollusk> silvernode here
06:17:44FromDiscord<Elegant Beef> Hello clone
06:17:51FromDiscord<mollusk> ha
06:18:42FromDiscord<Rika> ok mollusk
06:18:52FromDiscord<mollusk> so I am in the parking lot at work in the car with my laptop. Time to work a little bit on my space game. I pushed some prototype code earlier today
06:19:05FromDiscord<Rika> in the car?? why tho
06:19:24FromDiscord<mollusk> because I can be alone in the car
06:21:18FromDiscord<mollusk> learning how to work with seqs
06:23:21FromDiscord<mollusk> Made some types that take seqs and a items file that defines some procs which use the types
06:26:23FromDiscord<Rika> you gonna stream
06:28:45FromDiscord<mollusk> @Rika Na I have to clock in to work in 30 minutes
06:28:55FromDiscord<Rika> oof
06:29:12FromDiscord<mollusk> I get here an hour early and work on the game a little bit every night.
06:29:40FromDiscord<mollusk> I'm learning Nim in the process so commits are slow
06:31:36FromDiscord<mollusk> I am figuring out a good way to create items and use them. I decide to create some types and use them in procs which I can call to print out the atributes of the types.
06:32:39*okcy quit (Remote host closed the connection)
06:34:04FromDiscord<mollusk> The Item type has a worth attribute which is how much credits the Item will cost although I eventually want different stations to have different prices than others so I need to figure out how to incorporate that with the static price set on each item
06:35:37FromDiscord<mollusk> Maybe I should make a currency system
06:35:53FromDiscord<Rika> then the item type wont be the one that holds the "credits" amout
06:36:01FromDiscord<Rika> but it needs a "worth" amount nonetheless
06:36:05FromDiscord<Rika> then you base the credits on that
06:36:15*okcy joined #nim
06:36:17FromDiscord<Rika> multiplied by probably the "richness" amount of a location
06:37:28FromDiscord<mollusk> So just set the price at that station and plug that into the item worth?
06:37:52FromDiscord<Rika> no no
06:38:24FromDiscord<Rika> item has worth; place has richness; credits = some function f(worth, richness) returning credits value
06:39:36FromDiscord<mollusk> @Rika interesting way to do it
06:40:17FromDiscord<mollusk> So a proc that handles rates of credits basically.
06:40:31FromDiscord<mollusk> with some math in it
06:40:53FromDiscord<Rika> yeah
06:40:58FromDiscord<Rika> can be simply multiplication
06:41:03FromDiscord<Rika> can be weighted multiplication
06:41:13FromDiscord<Rika> can be some mish mash of trig and log functions
06:41:17FromDiscord<Rika> depends on what you want reall
06:41:30FromDiscord<Rika> and then you can also add more factors in if you want
06:42:07*bunbunbunbunny quit (Quit: Lost terminal)
06:42:18FromDiscord<mollusk> @Rika I was thinking of having the prices change slightly when ever you dock at a station
06:42:29FromDiscord<Rika> you can add a time factor then
06:42:43FromDiscord<Rika> or random() if you like that more
06:42:57FromDiscord<Rika> but i think a stabler factor is more realistic 😛
06:43:02FromDiscord<mollusk> A time based approach seems interesting
06:43:27FromDiscord<mollusk> although when dealing with time, that can have its own rabbit hole
06:43:49FromDiscord<Rika> it can be like whenever you move x times to a different station you increment the day
06:44:02FromDiscord<Rika> but this is trading, no? maybe something more granular is nice
06:44:21FromDiscord<Rika> you think you can do real time? haha
06:44:36FromDiscord<mollusk> Some counter that counts the number of times you have been to a station maybe, after a few visits, the prices change.
06:44:40FromDiscord<Rika> wonder if there's an async stdin.readLine() if that's even possible
06:44:42FromDiscord<mollusk> not sure if I can do real time
06:44:55FromDiscord<Rika> yeah real time sounds hard for a beginner
06:45:22FromDiscord<Rika> maybe you can also assign distances to stations, but that adds graph theory to your game
06:45:36FromDiscord<mollusk> I suppose I could find a function that can use the time of the OS
06:46:01FromDiscord<Rika> ah, there's the `times` module or the `std/monotimes` module
06:46:13FromDiscord<mollusk> and then say "if 10 minutes have passed, do something
06:46:20FromDiscord<Rika> times for exact now times, monotimes for durations (relative times)
06:48:26FromDiscord<Elegant Beef> Guess my tldr doesnt work well :D
06:48:26FromDiscord<Elegant Beef> https://streamable.com/5pzu7
06:49:07FromDiscord<mollusk> I am thinking, if the OS says it is 23:46, once you dock at a station then a time check happens. If the time is then 23:56 then the fucntion counts that time has incremented by 10 and therefore changing the prices.
06:50:34leorizeyou should account for clock running backwards too :)
06:51:04FromDiscord<mollusk> I didn't even consider that
06:51:06FromDiscord<Rika> which is why i suggest just using the monotimes module 😮
06:51:08FromDiscord<Rika> :P*
06:51:34FromDiscord<Elegant Beef> yea using the pre written modules are probably better, i'd probably just use ingame time, but im a numpty
06:51:37FromDiscord<Rika> ~~honestly have no idea how monotonic clocks are programmed~~
06:51:52FromDiscord<mollusk> I am looking at the monotimes module trying to figure out which proc I should consider using. without seeing examples it is a bit difficult.
06:52:01FromDiscord<Rika> getMonoTime() to get time
06:52:10leorizethey usually uses cpu internal clock
06:52:13FromDiscord<Rika> then newtime - oldtime to get duration
06:52:17leorizethe clock only counts up, not down
06:52:26leorizebut only valid for that one session
06:52:52FromDiscord<Rika> uses 64bit i assume
06:52:57FromDiscord<Rika> in nanoseconds?
06:53:33leorizeit's platform dependant
06:54:15FromDiscord<Rika> oh okay so its not the same even across intel cpus?
06:54:17FromDiscord<Rika> hmm
06:54:21FromDiscord<Rika> good info
06:54:41FromDiscord<mollusk> Since I am not planning on checking the time difference between when the game was last opened, I can limit my scope to the current session.
06:55:08leorizesounds good
06:55:15FromDiscord<mollusk> eventually I do want to somehow be able to save a game
06:55:31FromDiscord<Rika> you're taking notes of these suggestions right
06:56:01FromDiscord<mollusk> nope lol but I can always go through history
06:56:07FromDiscord<mollusk> anyway, time to clock in. ttyl
06:56:47FromDiscord<Rika> F
07:00:00*gmpreussner quit (Quit: kthxbye)
07:00:23*silvernode quit (Ping timeout: 265 seconds)
07:02:55Zevvleorize: I don't know, no "experiences" as such. I never thought about it
07:02:57Zevvthat's good, right?
07:03:36leorizeif you don't get bug, that means it works :P
07:04:57*gmpreussner joined #nim
07:05:45*solitudesf joined #nim
07:12:29*marmotini_ joined #nim
07:24:18*marmotini_ quit (Remote host closed the connection)
07:24:52*marmotini_ joined #nim
07:29:31*marmotini_ quit (Ping timeout: 268 seconds)
07:39:01*PMunch joined #nim
07:42:18*nick34348 joined #nim
07:42:56*jjido joined #nim
07:43:08*PMunch quit (Client Quit)
07:43:28*PMunch joined #nim
07:46:16*dddddd quit (Ping timeout: 258 seconds)
08:04:24*tdc joined #nim
08:06:08*s4mu3lbk joined #nim
08:22:18*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:24:52*s4mu3lbk quit (Ping timeout: 255 seconds)
08:26:37*s4mu3lbk joined #nim
08:38:13*marmotini_ joined #nim
08:42:19*s4mu3lbk quit (Ping timeout: 256 seconds)
08:54:19*nick34348 quit (Remote host closed the connection)
08:56:36PMunch!eval let (a) = (100)
08:56:38NimBotCompile failed: /usercode/in.nim(1, 5) Error: 'tuple' expected
08:56:44PMunchWell that's annoying..
08:57:56FromDiscord<flywind> !eval let (a) = (100,)
08:58:00NimBot<no output>
08:58:29*Vladar joined #nim
08:58:53PMunchAah, nice
08:59:05PMunchSo in my macro just swap nnkPar for nnkTupleConstr
09:07:03*okcy quit (Remote host closed the connection)
09:07:51FromGitter<Clyybber> @kaushalmodi Hi, hmm this is very wierd. I'm not sure how my changes caused this.
09:08:59FromGitter<Clyybber> Does cleaning your nimcache resolve it?
09:13:05FromGitter<nothratal> is there a way to update all dependencies downloaded via nimble?
09:14:22FromDiscord<flywind> no, but you can try https://github.com/disruptek/nimph
09:14:57FromGitter<Clyybber> Hmm, I think I have a fix.
09:21:05*floppydh joined #nim
09:40:48*dwdv joined #nim
09:44:12*s4mu3lbk joined #nim
09:55:04*clyybber joined #nim
09:55:13clyybbergit is really fucking with me today..
09:57:20clyybberis it possible to make `git branch XXX` automatically do `git checkout XXX` afterwards?
10:01:14*hoijui quit (Ping timeout: 272 seconds)
10:01:50PMunchgit checkout -b
10:02:21PMunchclyybber ^
10:03:30*NimBot joined #nim
10:04:59clyybberThanks mate!
10:05:40*s4mu3lbk quit (Ping timeout: 255 seconds)
10:08:10PMunchNo problem :)
10:08:27*abm joined #nim
10:09:37FromGitter<nothratal> @xflywind thanks and sorry I was afk
10:09:54*chemist69 quit (Ping timeout: 256 seconds)
10:10:13Araqwant to see me stream about my cycle breaker?
10:10:19*chemist69 joined #nim
10:13:30clyybberyeah!
10:15:42Araqcaught exception:nd:\a\1\s\nimcache\r_windows_amd64\nim.json(2, 384) Error: ] expected
10:15:42Araq wtf
10:19:21*lritter joined #nim
10:19:42FromGitter<nothratal> @xflywind, by the way, your package xlsx works like a charm!
10:22:38Araqclyybber, any ideas?
10:24:26FromGitter<timotheecour> @araq https://github.com/nim-lang/Nim/pull/13635
10:24:29disbotfix #13633 fix koch boot crashing regression ; snippet at 12https://play.nim-lang.org/#ix=2e1M
10:24:30alexander92hey guys
10:24:58FromGitter<timotheecour> but @Clyybber just beat me to the punch, however this uncovers another accidental(or not accidental) bugfix in HCR code, please read
10:25:44clyybberAraq: Yeah, I fucked up. I pushed a fix
10:26:04clyybberI forgot to do a git checkout after a git branch :/
10:27:02clyybberThat bugfix wasn't really accidental :p
10:27:02Araqfix is on devel?
10:27:06*marmotini_ quit (Remote host closed the connection)
10:27:07clyybberAraq: Yeah
10:27:42*marmotini_ joined #nim
10:28:16clyybbertimotheecour: I reopened your pr
10:28:29FromGitter<timotheecour> thx will rebase
10:28:42clyybberIts the \n typo right?
10:29:19AraqI hope I can merge this soon, I get bootstrap problems otherwise
10:29:27Araqdue to the massive changes :-/
10:30:36clyybberYeah, unfortunately the regression my PR introduced causes ./koch boot to fail
10:30:40clyybberbut only on the second run
10:31:01FromGitter<xflywind> @nothratal Thanks.But I'm busy in writting web framework and don't have much time to maintain `xlsx`.
10:31:02clyybberand after its infected your bin/nim you can't do ./koch boot anymore
10:31:23clyybberso I had to rm bin/nim and build_all
10:31:47clyybberIts really bad, thats why I pushed the fix as fast as possible
10:31:53clyybberSo no-one else has to deal with this
10:31:59Araqyeah thanks
10:32:02*marmotini_ quit (Ping timeout: 240 seconds)
10:34:14FromGitter<timotheecour> > *<clyybber>* so I had to rm bin/nim and build_all ⏎ ⏎ not needed; all that’s needed is `rm -rf nimcache`
10:35:01Araqyeah but you never know where 'nimcache' is
10:35:51clyybbertimotheecour: Yeah, except for in a very ugly special case.
10:35:59clyybberI pushed fast enough so no-one noticed
10:36:01FromGitter<timotheecour> actually it’s hardcoded, which seems like a bug: ⏎ `./koch boot —nimcache:/tmp/foo` will override with ./nimcache because it comes AFTER instead of BEFORE
10:36:02clyybberexcept me :p
10:36:31*hoijui joined #nim
10:36:45clyybbertimotheecour: That seems expected, isn't it?
10:37:04clyybberI think ./koch boot just forwards the arguments
10:37:17Araqyeah
10:37:21FromGitter<timotheecour> Why? it should honor what I’m passing via cmdline, but does not;
10:37:34clyybberOh, so maybe it doesn't forward them as in appending
10:37:50FromGitter<timotheecour> right, the order is wrong; seems like easy to fix (maybe)
10:37:59Araqhow else would koch boot -d:release work?
10:38:36FromGitter<timotheecour> postpend user provided options instead of prepend
10:38:45clyybbertimotheecour: Yeah, that makes sense
10:38:54clyybberI'm gonna make a PR
10:39:48FromGitter<timotheecour> ok. also, ur bug wouldn’t have happened if we simply used std/json API’s instead of rolling our own json inside extcomp.nim , WDYT
10:39:49Araqwhy?
10:40:12Araqour own json is superior though
10:40:21Araqfewer allocs
10:40:23clyybbertimotheecour: Yeah, I think the parser is fine
10:40:29clyybberThe issue was purely my error
10:40:46Araqalso the stdlib's json grew like cancer
10:41:05Araqwith the 'to' macro and who knows what else
10:41:28FromGitter<timotheecour> not the parser, the manual writing `lit "{\"compile\":[\L”` etc… we should trust our API’s, they’re tested
10:41:50FromGitter<timotheecour> (eat ur own dogfood, etc)
10:42:02AraqI trust my 'lit' skills
10:42:07clyybberlol
10:42:39Araqwe can extract it into std / jsongen.nim though
10:42:41FromDiscord<Rika> "ar_q's lit af yo"
10:42:48FromDiscord<Rika> sorry
10:43:21Araqan API to generate JSON is fine, but why does the API have to create a JSON tree for that?
10:43:32clyybberAraq: Did you have to retract the try.. finally optimization?
10:43:39*hoijui quit (Ping timeout: 272 seconds)
10:43:43Araqnah I fixed it
10:43:47clyybberNice
10:43:50Araqit's as good as before
10:43:54clyybberCool
10:44:16Araqwe should infer the new sfAlwaysReturn for destructors/procs
10:44:34clyybberIs it manual for now?
10:44:35Araqto produce better code for ARC
10:45:23Araqit's not exposed, there is no pragma because there is an unresolved conflict between trusting vs ensuring the annotation
10:45:36clyybberYeah
10:46:02clyybberWith better code you mean doing try: finally: without checking for exceptions?
10:46:15Araqyes
10:46:53clyybbersfAlwaysReturn is the same as "sfCantRaise" right?
10:47:08Araqright
10:47:52*s4mu3lbk joined #nim
10:53:01FromGitter<timotheecour> isnt’ `sfAlwaysReturn` a misnomer, eg for `quit` which really can’t return (calls C exit!) => shouldn’t that be called sfCantRaise ?
10:53:42clyybberSince quit terminates the whole program it doesn't matter
10:53:52Araqit's a good point though
10:54:11FromGitter<timotheecour> it also reads better
10:54:14clyybberBut I also kinda prefer sfCantRaise
10:54:49Araqproblem is that 'raise' is ambiguous but ok
10:55:13AraqsfNoRaiseNoPanic
10:55:41clyybberAraq: But when we don't have catchable panics enabled then sfNoRaise will also get applied to those, won't it?
10:55:48clyybberto those procs who can panic
10:56:00clyybberIf that is so, then I think sfNoRaise is a better name
10:56:30FromGitter<timotheecour> right
10:59:25clyybbertimotheecour: Made a PR; https://github.com/nim-lang/Nim/pull/13637
10:59:27disbotChange order of forwarded koch boot command line options
11:04:49*neceve joined #nim
11:06:10Araqdoes anybody have rayman22201's async snippets ready?
11:06:41clyybberrayman22201: ping
11:09:17clyybberAraq: Btw, is `except:` now equivalent to `except: CatchableError` or still to `except: Exception`?
11:09:37clyybbers/CatchableError/WhateverIsTheSuperclassForNonDefects
11:09:41Araqstill not 'except CatchableError'
11:09:49clyybberok
11:10:29FromGitter<timotheecour> that’s this: https://github.com/nim-lang/RFCs/issues/89
11:10:32disbot`except:` should map to the more conservative`except CatchableError:` instead of `except Exception:` ; snippet at 12https://play.nim-lang.org/#ix=2e20
11:10:42clyybberYeah
11:13:17clyybberAraq: Whoo, your branch is getting green \o/
11:13:48*hoijui joined #nim
11:16:28*neceve quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
11:19:07*hoijui quit (Ping timeout: 272 seconds)
11:21:08Araqhardly, travis only checks for the docs these days
11:28:58*rockcavera joined #nim
11:29:00*neceve_ joined #nim
11:30:43*solitudesf quit (Remote host closed the connection)
11:30:58*neceve_ quit (Client Quit)
11:35:42*neceve joined #nim
11:39:43*theelous3 quit (Ping timeout: 255 seconds)
11:45:25*dddddd joined #nim
11:47:00AraqCI is stuck, yay
11:52:06*neceve quit (Remote host closed the connection)
11:54:04*okcc joined #nim
11:58:35FromDiscord<djazz> if i want to have a proc that returns a DateTime or nil, is it possible? I don't want to return unix time 0
11:59:03AraqOption[DateTime]
12:04:28*s4mu3lbk quit (Ping timeout: 255 seconds)
12:08:46FromDiscord<djazz> hmm, not very pretty
12:12:05clyybberwhat?
12:12:14FromDiscord<djazz> template/generic instantiation of `some` from here
12:12:32FromDiscord<djazz> options.nim(117, 5) Warning: Cannot prove that 'result' is initialized. This will become a compile time error in the future.
12:14:48Araqyeah, known issue
12:14:59Araqkinda hard to fix though
12:15:51FromDiscord<djazz> alright...
12:16:32*s4mu3lbk joined #nim
12:18:08FromDiscord<djazz> when should I use DateTime and when should I use Time? To handle a http Last-Modified timestamp
12:19:13*cgfuh joined #nim
12:20:03Araqtimestamps are better with a date
12:22:45FromDiscord<djazz> there is a toTime function, but no toDateTime?
12:23:09FromDiscord<djazz> and toUnix only works on Time
12:23:11FromDiscord<djazz> hmm
12:23:48lqdev[m]leorize: apart from the usual nimsuggest crashes, experience was much better
12:32:36*solitudesf joined #nim
12:32:42*jholland__ joined #nim
12:36:56PMunchJust use Time djazz
12:37:31PMunchAnd why do you think Option[Time] isn't pretty?
12:37:49PMunchThat is exactly what you're trying to express
12:41:05FromDiscord<djazz> having to use import options in user code, isNone/isSome and get()
12:42:14clyybberdjazz: If you really want to avoid options you can use ptr DateTime
12:45:56PMunchdjazz, use the optionsutils module
12:53:27PMunchSome examples of what it can do with options: https://play.nim-lang.org/#ix=2e2w
12:54:47PMunchUpdated with another example of the existensial operator: https://play.nim-lang.org/#ix=2e2x
12:59:14*hax-scramper quit (Ping timeout: 240 seconds)
12:59:44*hax-scramper joined #nim
13:03:07FromGitter<kaushalmodi> PMunch: Looking at https://nimble.directory/docs/optionsutils/optionsutils.html
13:03:33FromGitter<kaushalmodi> minor note.. do you want to add a link in there that links to your GitHub repo and then also add a one liner installation instruction?
13:05:01PMunchIs that really neccessary? Installation instructions is the same as every other package `nimble install optionsutils` and the GitHub repo is named the same, and linked to from nimble.directory..
13:05:13*nsf quit (Quit: WeeChat 2.7)
13:05:26*marmotini_ joined #nim
13:06:25FromGitter<kaushalmodi> I needed to google "optionutils nim" to get a link to your repo.. the docs don't link to it
13:06:41FromGitter<kaushalmodi> I was curious to see what you had in README on its repo
13:06:55PMunchIf you hit "Doc files for optionsutils" and then "Project website" you'll be linked to the repo
13:07:32PMunchThe README in the repo is really bare-bones..
13:08:38FromDiscord<djazz> hmm, the docs are autogenerated? no source links like nim's doscs?
13:09:35FromGitter<kaushalmodi> djazz: those docs seem to be generated using nimble.directory
13:10:02FromGitter<kaushalmodi> I believe generating source links needs an extra option in the nim doc command
13:12:34FromDiscord<flywind> you can generate docs links with github account
13:12:38FromDiscord<flywind> # docs
13:12:38PMunchYeah, it requires a URL to add the path segments to.
13:12:38FromDiscord<flywind> task docs, "Generate docs":
13:12:38FromDiscord<flywind>
13:12:38FromDiscord<flywind> exec "nim doc2 " &
13:12:39FromDiscord<flywind> "--git.commit:master " &
13:12:39FromDiscord<flywind> "--index:on " &
13:12:39FromDiscord<flywind> "--git.devel:master " &
13:12:41FromDiscord<flywind> "--git.url:https://github.com/yourgithub/example " &
13:12:43FromDiscord<flywind> "-o:docs/example.html " &
13:12:44FromDiscord<flywind> "src/xlsx/example.nim"
13:12:50PMunchflywind, please don't paste code into Discord..
13:12:52*marmotini_ quit (Ping timeout: 258 seconds)
13:13:27PMunchfederico3, could this be added to the directory?
13:14:31FromGitter<kaushalmodi> PMunch: Another minor note .. your README links to https://nimble.directory/docs/optionsutils//optionsutils.html (see that extra slash)
13:14:47*xace quit (Ping timeout: 240 seconds)
13:14:50*s4mu3lbk quit (Ping timeout: 240 seconds)
13:21:49*xace joined #nim
13:27:11disruptek!last livcd
13:27:11PMunchOh, that's right
13:27:12disbotlivcd never seen.
13:27:23disrupteklivcd: you okay, buddy?
13:27:43*hax-scramper quit (Ping timeout: 260 seconds)
13:31:11*marmotini_ joined #nim
13:31:42alexander92!last disruptek
13:31:43disbotdisruptek spoke in 12#nim 4 minutes ago
13:31:56alexander92wow is that an irc thing
13:31:58PMunch!last PMunch
13:31:59disbotPMunch spoke in 12#nim 4 minutes ago
13:32:02alexander92ok not , its disbot
13:32:06alexander92!last disbot
13:32:07disbotdisbot joined 12#nimsec 47 minutes ago and last spoke 733 hours ago
13:32:24PMunchHaha, still not 100%
13:32:31alexander92oh man whats this channel
13:32:52disruptekdisbot will never monitor disbot.
13:33:28alexander92!last alexander92
13:33:29disbotalexander92 left 12#nimsec 27 seconds ago and last spoke 730 seconds ago
13:36:13*theelous3 joined #nim
13:36:53disrupteklivcd was quarantined.
13:37:10disruptek!last rika
13:37:11disbotRika spoke in 12#nim 2 hours ago
13:37:34alexander92!last
13:37:35disbotTry `!last SomeHandle`".
13:37:37disruptekjust checking on my fam. 😘
13:40:21*neceve joined #nim
13:44:22PMunchHmm, how do I pass two trees of NimNodes, one by a variable, and one as a block to a macro?
13:44:59FromGitter<kaushalmodi> !last kaushalmodi
13:45:00disbotkaushalmodi spoke in 12#nim 30 minutes ago
13:45:12FromGitter<kaushalmodi> doesn't look right
13:45:25disruptekhow do you figure?
13:45:26FromGitter<kaushalmodi> the reported times are all 7xx
13:45:37disruptekget a real irc client. 🤣
13:45:42PMunchHaha
13:45:50*ftsf quit (Ping timeout: 258 seconds)
13:45:57FromGitter<kaushalmodi> ah! that's that color encoding number?
13:46:02disruptekyep.
13:46:07FromGitter<kaushalmodi> may be not encode numbers?
13:46:11FromGitter<kaushalmodi> :)
13:46:20disruptekthis isn't the web.
13:46:23FromGitter<kaushalmodi> I literally see " 9kaushalmodi spoke in #nim 730 minutes ago"
13:46:33disrupteki don't support "progressive enhancement".
13:46:58FromGitter<kaushalmodi> no worries, there are better Nim things to work on :)
13:47:20disruptekit's a philosophical problem, since i had to write color support myself, obviously.
13:47:42PMunchThe gitter bot is really to blame IMO
13:47:45disrupteka bridge should bridge such features.
13:50:08FromGitter<mratsim> Discord doesn’t display anything
13:52:48*hax-scramper joined #nim
13:54:09disruptekif it cannot support it, the bridge should set its mode to strip color/style.
13:59:02PMunchHmm, how can I pass anything to the `op` parameter of `quote`?
14:00:36*aeverr quit (Quit: Konversation terminated!)
14:03:15alexander92can i
14:03:21alexander92return a future which is like completed
14:03:41alexander92like i just want to immitate something returns Future
14:03:46alexander92but keeping it sync
14:05:30alexander92nvm i just putted an await and another call in when else
14:06:04alexander92dont discard your cbackend futures guys
14:07:01FromDiscord<Rika> xd
14:07:49*aeverr joined #nim
14:09:03disruptekyou okay, rika?
14:09:40PMunchHmm, no one can answer either of my two previous questions?
14:10:09disrupteki dunno anything about quote. i am off to find coffee.
14:10:22*letto quit (Ping timeout: 258 seconds)
14:12:19FromDiscord<Rika> i've never figured out how to pass anything to op in quote
14:12:26*neceve quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
14:12:43FromGitter<kaushalmodi> PMunch: You can ping krux02 for quote/macro questions
14:12:53FromGitter<kaushalmodi> Also @Vindaar
14:13:30*letto joined #nim
14:18:49federico3PMunch: what exactly?
14:19:48PMunch"Source" links
14:19:54PMunchLike the official docs have
14:21:36*nullwarp quit (Read error: Connection reset by peer)
14:23:17*nullwarp joined #nim
14:45:56*shadowbane quit (Quit: Konversation terminated!)
14:47:09*shadowbane joined #nim
14:53:06PMunchUgh, is there seriously no way to pass a NimNode tree to a macro?
14:54:38FromGitter<rohitpaulk> If I wanted to run `chroot`/`pivot_root` using Nim, how would I go about that? I checked the `posix` module and couldn't find any functions by those names..
14:55:11disruptekexpose it use the same mechanisms you see there.
14:55:44*PMunch quit (Quit: Leaving)
14:55:44disruptekthen submit a PR to posix with your changes. 😉
14:55:52FromGitter<rohitpaulk> Thanks disruptex, will try!
14:56:01disrupteksweet.
15:04:48*clyybber quit (Ping timeout: 256 seconds)
15:05:39AraqPMunch: you can do that via getAst iirc
15:05:55disruptek!last pmunch
15:05:56disbotPMunch quit 710 minutes ago and last spoke 12 minutes ago
15:10:55*clyybber joined #nim
15:12:01clyybberAraq: Can I merge #13637 ? The testfailure on freebsd is the flaky async test
15:12:02disbothttps://github.com/nim-lang/Nim/pull/13637 -- 3Change order of forwarded koch boot command line options
15:16:46clyybberAraq: Hmm, one way to try to debug the stuck CI would be to ssh into the CI, this is possible on sr.ht
15:17:03clyybberwhich is the one that didn't cancel itself yet, but instead keeps running still
15:17:21rayman22201Araq: pong. Just waking up. What do you need?
15:17:46Araqrayman22201, your async snippets that replicate the closure setup
15:19:47rayman22201ah. ok. await while I find it again :-P
15:21:40Araqwe have a new weapon
15:21:45AraqI called it 'thinout'
15:22:04Araqit could work with async without destroying deterministic destruction
15:24:28rayman22201sounds like a fad diet lol.
15:24:51clyybberIt makes you less cyclic
15:24:54clyybberso it fits
15:27:17FromGitter<kaushalmodi> I am debugging a crash that happens when the systemverilog simulator is calling an exported proc in Nim compiled .so.. I have built the .so with --debugger:native, but still I don't see a proper stacktrace. All I see is: http://ix.io/2e3e/text
15:27:30FromGitter<kaushalmodi> Is there a way for me to see those "don't know"s?
15:28:00FromGitter<kaushalmodi> In that stacktrace, libprj_64.so is what I have built using Nim
15:31:01leorizewell don't strip the .so :P
15:36:30FromGitter<dumjyl> PMunch: custom quote ops work, it is just a doc bug. op is the first parameter.
15:36:46FromGitter<kaushalmodi> leorize: I am not..
15:39:05FromGitter<kaushalmodi> hmm, I just check the nim command my makefile generates: `nim cpp --out:libprj.so --app:lib --nimcache:./.nimcache -d:release --styleCheck:off --hint[Processing]:off --opt:none --debugger:native --gcc.options.debug="-O0 -g3 -ggdb3" --gc:none libprj.nim`
15:39:20FromGitter<kaushalmodi> may be the -d:release supercedes --debugger:native?
15:40:19*okcc quit (Remote host closed the connection)
15:40:24FromGitter<kaushalmodi> leorize: Do you think there's anything else wrong in the command that can strip off the symbols?
15:40:34*okcc joined #nim
15:41:20disruptek~stream
15:41:22disbotstream: 11https://twitch.tv/disruptek (live video/audio) and mumble://uberalles.mumbl.io/ (live voice chat) -- disruptek
15:49:42rayman22201I can't find the original snippet :-/ I have the version that uses my "Disposable Future" fork...
15:50:11rayman22201this is what I get for not making a gist
15:50:50rayman22201I reconstructed this version, which is bare bones, but it has the segv when reading the closure: https://play.nim-lang.org/#ix=2e3m
15:52:03rayman22201@disruptek, would happen to have any version of the async minimal repo we were working on?
15:52:34disrupteki was using the test from nim i think.
15:52:39*watzon quit (Quit: watzon)
15:52:54disruptekdo you know a date that i could search for?
15:53:00rayman22201I thought I convinced you to switch to my garbage :-P
15:55:06rayman22201January 18 - 20 approx. ?
15:55:39FromGitter<Vindaar> @kaushalmodi ah sorry, didn't see the ping, cause my gitter tab was dead :)
15:55:49disruptekrayman22201: http://ix.io/27RJ/nim
15:57:25rayman22201close but no cigar. I want the one with the async macro already expanded.
15:57:30FromGitter<kaushalmodi> @Vindaar No worries, that ping was for PMunch, but looks like he figured out the macro issue
15:57:58FromGitter<Vindaar> :)
15:58:14disruptekrayman22201: http://ix.io/2e3o/nim
15:58:33leorize[m]@kaushalmodi: maybe try to add `-f` and `--listCmds` to the compiler flags to see how gcc was called?
15:58:37*watzon joined #nim
15:58:51*watzon quit (Client Quit)
15:59:43FromGitter<kaushalmodi> leorize: you mean add those to the nim cmd.. trying it out
16:02:32FromGitter<kaushalmodi> hmm.. ⏎ ⏎ > g++ -c -w -w -fpermissive -DDPI_COMPATIBILITY_VERSION_1800v2012 -g3 -Og -fPIC -I/prjroot/tools/apps/nim/1.0.2/lib -I/prjroot/dv/scripts/nim/libdpi -o /prjroot/dv/scripts/nim/libdpi/.nimcache/stdlib_strformat.nim.cpp.o /prjroot/dv/scripts/nim/libdpi/.nimcache/stdlib_strformat.nim.cpp
16:03:06FromGitter<kaushalmodi> gcc.options. apparently don't work for g++ ?
16:03:48rayman22201disruptek: That looks close. let me check it
16:07:42rayman22201yup. Thanks @disruptek. Here it is cleaned up (got rid of all the comments): http://ix.io/2e3p/nim
16:07:48rayman22201@araq ^
16:08:46*floppydh quit (Quit: WeeChat 2.7.1)
16:11:35FromGitter<kaushalmodi> leorize: huh.. it should `--gcc.cpp.options.debug="-O0 -g3 -ggdb3"` for g++
16:11:39FromGitter<kaushalmodi> thanks for that listCmd hint
16:12:59*marmotini_ quit (Remote host closed the connection)
16:13:32*marmotini_ joined #nim
16:14:31FromGitter<kaushalmodi> leorize: now I get `g++ -c -w -w -fpermissive -DDPI_COMPATIBILITY_VERSION_1800v2012 -O0 -g3 -ggdb3 -fPIC ..`
16:14:40FromGitter<kaushalmodi> just that something is adding `-w` twice
16:16:30*Hideki_ joined #nim
16:18:03*marmotini_ quit (Ping timeout: 260 seconds)
16:20:34*Trustable joined #nim
16:24:57*marmotini_ joined #nim
16:25:10Araqrayman22201, can I get that without the line numbers somehow?
16:25:22*xet7 quit (Quit: Leaving)
16:26:23*xet7 joined #nim
16:27:39FromGitter<kaushalmodi> leorize: btw still no luck even with -O0 pass to g++.. stack trace still has "don't know"
16:29:16rayman22201Araq remove /Nim from the url
16:29:44rayman22201http://ix.io/2e3p
16:30:19*xet7 quit (Client Quit)
16:32:24*a_chou joined #nim
16:32:34*a_chou quit (Remote host closed the connection)
16:33:01*a_chou joined #nim
16:34:43*xet7 joined #nim
16:40:30*Hideki_ quit (Remote host closed the connection)
16:41:13*Hideki_ joined #nim
16:41:56*a_chou quit (Remote host closed the connection)
16:45:35*Hideki_ quit (Ping timeout: 260 seconds)
16:49:00*abm quit (Read error: Connection reset by peer)
16:49:27*abm joined #nim
16:50:22*tane joined #nim
16:53:51*lqdev joined #nim
17:01:13*lqdev quit (Quit: Leaving)
17:02:28Araqrayman22201, so what's the state of your work?
17:02:43Araqhow to apply 'dispose'?
17:04:06*s4mu3lbk joined #nim
17:04:44rayman22201Does that mean 'thinout' is not working?
17:05:31rayman22201We added .cursor annotations and the closureRef pointer to the Future. It leaked less, but still leaks.
17:06:23Araqyeah and now I know why
17:06:32Araq.cursor doesn't break up the correct cycle
17:08:39Araqrayman22201, I dunno yet if thinout works, I'm unfornately fighting with the CIs
17:16:17disruptekyou're missing the dancing on stream.
17:19:48*Hideki_ joined #nim
17:32:42*Hideki_ quit (Ping timeout: 256 seconds)
17:42:45disruptekAraq: your side-effects in this codegen are killing me.
17:45:36*rockcavera quit (Remote host closed the connection)
17:47:02clyybberWhat sideeffects?
17:47:13clyybberOh, you mean in the backends?
17:47:18disruptekyeah.
17:47:20disruptek~stream
17:47:20disbotstream: 11https://twitch.tv/disruptek (live video/audio) and mumble://uberalles.mumbl.io/ (live voice chat) -- disruptek
17:48:42disrupteka simple proc defines nimFrame which means that later procs that load that proc from cache necessarily define it, too.
17:52:14disruptekshould i just rewrite this?
17:57:24Araqyeah nimFrame is buggy
18:00:46*hoijui joined #nim
18:02:28*narimiran_ joined #nim
18:02:35*narimiran quit (Ping timeout: 260 seconds)
18:35:07*thelarry joined #nim
18:36:49thelarryHi!
18:38:10thelarryin the tutorial part II, what das the
18:38:13thelarrymethod collide(a, b: Thing) {.inline.} = quit "to override!"
18:38:32thelarrywhat does the {.inline.} o?
18:38:42thelarrydo?
18:39:56thelarrydoes it make the compiler inline the method? so the inlining by compiler optimization?
18:41:47axionit's an annotation that the compiler backend is free to make use of to inline the function directly at the call site rather than the overhead of a call. it's just an annotation and may be ignored by the backend though
18:42:56thelarryok thanks!
18:43:18*marmotini_ quit (Remote host closed the connection)
18:43:54*marmotini_ joined #nim
18:44:32*narimiran_ is now known as narimiran
18:47:46*clyybber quit (Quit: WeeChat 2.7.1)
18:48:27*Trustable quit (Remote host closed the connection)
18:48:28*marmotini_ quit (Ping timeout: 265 seconds)
18:56:12FromDiscord<mratsim> in practice, I never met a case where nim {.inline.} was not respected by the C compiler
18:57:05FromDiscord<mratsim> also @narimiran, tut2 might have to be revisited if there is a collide example since we are removing multimethods
19:05:23Araqhttps://github.com/nim-lang/Nim/pull/13626
19:05:25disbotcatchable defects
19:12:59disruptek!last clyybber
19:13:00disbotclyybber quit 725 minutes ago and last spoke 85 minutes ago
19:13:22disruptekanyone else know how to ssh into sourcehut?
19:13:57FromGitter<kaushalmodi> Araq: In layman terms, does catchable defects now fail on bound checks even with -d:release?
19:14:24FromDiscord<Varriount> kaushalmodi: Yes
19:14:34FromGitter<kaushalmodi> yay!
19:16:32FromDiscord<Varriount> kaushalmodi: currently the default is that defects (IndexError, etc) can be caught. This has been the case.
19:17:24FromGitter<kaushalmodi> I vaguely remember that indexerror etc caused crash when run with -d:release
19:17:34FromDiscord<Varriount> The "new" feature is introducing panics, where such errors cannot be caught and cause the program to abort
19:17:42FromGitter<kaushalmodi> I am hoping that panics:on will make this happen a bit more gracefully
19:18:08FromDiscord<Varriount> Release mode used to turn bounds checks off. I don't believe this is the case anymore
19:18:39FromGitter<kaushalmodi> Ah ok.. I missed reading about that update then
19:19:12FromDiscord<Varriount> Obviously if bounds checks are turned off, panicking on bounds checks can't occur
19:19:56FromGitter<kaushalmodi> I can correlate the panic mode with "fatal" category of error in systemverilog
19:20:16FromGitter<kaushalmodi> "errors" throw.. errors, but "fatals" end the program right then and there
19:22:22alexander92mratsim again, i am reading a comment on HN and i think
19:22:28alexander92it sounds like mamy .. and of course its you
19:22:38alexander92very easy to recognize :P
19:25:38*FromGitter quit (Remote host closed the connection)
19:25:48*okcc quit (Quit: Leaving)
19:26:14alexander92so now btw what about catching some cases of index errors on compile time, e.g. letting one use [i] only after checks for length / as part of a for loop / range
19:30:20Araqthat's a job for the Z3 integration
19:34:00*rockcavera joined #nim
19:38:14*thelarry quit (Remote host closed the connection)
19:43:33FromDiscord<exelotl> hey I was asked to build the compiler with --stacktrace:on
19:43:49FromDiscord<exelotl> how would I go about doing that?
19:44:51disruptek--stacktrace:on
19:45:18disruptek./koch boot --stacktrace:on -d:release
19:45:30disrupteki don't think -d:release will impinge upon stacktraces.
19:45:59FromDiscord<exelotl> ah ok thanks, I wasn't sure of koch boot was the appropriate thing
19:46:07FromDiscord<exelotl> *if
19:56:02*letto quit (Ping timeout: 240 seconds)
20:02:19FromDiscord<Recruit_main70007> how did you generate documentation of your code?
20:02:50FromDiscord<Elegant Beef> nim has a html gen for docs
20:02:56FromDiscord<Elegant Beef> nim html ./module
20:03:07FromDiscord<Recruit_main70007> cool, im gonna try
20:03:21*letto joined #nim
20:06:12leorize[m]it's nim doc
20:06:21leorize[m]not nim html
20:07:22FromDiscord<Elegant Beef> ah mb
20:09:40*MightyJoe joined #nim
20:11:51*cyraxjoe quit (Ping timeout: 260 seconds)
20:17:53*hoijui quit (Ping timeout: 268 seconds)
20:18:47*nsf joined #nim
20:19:48*ng0_ joined #nim
20:20:05*ng0_ quit (Client Quit)
20:21:35FromDiscord<Recruit_main70007> hmm, it would be nice if it showed the body of functions but its very cool
20:23:07*Vladar quit (Quit: Leaving)
20:28:14*hoijui joined #nim
20:33:21*hoijui quit (Ping timeout: 265 seconds)
20:35:15*nsf quit (Quit: WeeChat 2.7)
20:38:50*filcuc joined #nim
20:38:57*shadowbane quit (Quit: Konversation terminated!)
20:39:48*shadowbane joined #nim
20:40:38*shadowbane quit (Client Quit)
20:43:26*marmotini_ joined #nim
20:43:26*filcuc_ joined #nim
20:43:59*filcuc quit (Ping timeout: 265 seconds)
20:44:14*shadowbane joined #nim
20:46:39*shadowbane quit (Client Quit)
20:47:34*shadowbane joined #nim
20:55:21*shadowbane quit (Remote host closed the connection)
20:57:42*shadowbane joined #nim
21:00:46*shadowbane quit (Remote host closed the connection)
21:06:46*shadowbane joined #nim
21:12:22*shadowbane quit (Quit: Konversation terminated!)
21:12:49*shadowbane joined #nim
21:12:52*shadowbane quit (Client Quit)
21:13:48*shadowbane joined #nim
21:14:00*shadowbane quit (Client Quit)
21:15:27*shadowbane joined #nim
21:15:37*shadowbane quit (Client Quit)
21:18:10*shadowbane joined #nim
21:18:17*shadowbane quit (Client Quit)
21:19:40*shadowbane joined #nim
21:22:28*tdc quit (Ping timeout: 255 seconds)
21:29:55*marmotini_ quit (Remote host closed the connection)
21:30:27*marmotini_ joined #nim
21:31:57rayman22201@disruptek found a video that does a good job of explaining the async model I want to steal from Rust: https://youtu.be/NNwK5ZPAJCk?t=1324
21:33:53disruptekthat's not so different from what we have.
21:34:02shashlickarnetheduck: you here?
21:35:14*marmotini_ quit (Ping timeout: 256 seconds)
21:35:43rayman22201watch until around 25:41, he describes the state machine
21:35:44*al_ joined #nim
21:35:44*al_ is now known as Guest94576
21:35:48rayman22201we don't do that
21:36:01rayman22201we do the naive thing, aka make closures everywhere
21:36:10shashlicki'm testing `nim cpp` and importing a proc from a c file
21:36:20disruptekwhat do you think our closures are?
21:36:31shashlickit doesn't work if I just do `{.importc.}` but works if I include `{.header.}` as well
21:36:48shashlickthe proc is missing at link time
21:36:51disruptekshashlick: i'm getting that nimterop bug in golden now. :-/
21:37:23rayman22201obviously they are equivalent. Rust, computes the states at compile time, so the allocation and ownership is all known up front.
21:37:45rayman22201as opposed to our closures which is dynamic and full of cycles
21:37:47disrupteki think you should build a new async on arc.
21:37:56disrupteknothing else is really worth pursuit.
21:38:51rayman22201yeah. I agree
21:40:14federico3recommended postgresql library?
21:41:21Araqshashlick, you need the compiler to produce 'extern "C" '
21:41:39Araqfederico3, the stdlib's one is ok but sync
21:42:00federico3oh there's one in stdlib? TIL
21:42:19shashlickAraq: so if header is specified, it does it automatically?
21:42:40federico3thanks Araq
21:42:42*shadowbane quit (Quit: Konversation terminated!)
21:43:38*filcuc_ quit (Ping timeout: 240 seconds)
21:46:04*solitudesf quit (Ping timeout: 268 seconds)
21:46:07*marmotini_ joined #nim
21:47:37*letto quit (Quit: Konversation terminated!)
21:48:48*sekao joined #nim
21:50:27sekaois there a programmatic way to get the install path of a nimble library? i want to make a library that loads a prebuilt dynamic lib (.dll, .so, etc) which is installed with it, but to load it the library must know its own install path
21:50:40disruptek`nimble path`
21:50:47*marmotini_ quit (Ping timeout: 260 seconds)
21:50:53disruptekbut, running nimble from within nimble is a terrible idea.
21:51:04sekaoyeah i was thinking of shelling out with that command but that seems icky
21:51:18disruptekit's a constant source of irritation with nimterop, unfortunately.
21:51:36*letto joined #nim
21:52:17sekaomaybe i could just copy whatever code nimble uses to execute that command? i'm guessing it just reads the json config file to find the current install version, and then builds the path
21:52:26disrupteklol
21:52:41shashlicksekao: you can use currentSourcePath.parentDir() / .. / xyz
21:54:01sekaonice i havent come across that, ill check it out
21:55:11Araqshashlick, no, what really happens is that .header uses the header and the header seems to have extern "C"
21:55:34shashlickwell, actually the header was a test.hpp and it didn't have the extern "C"
21:55:44shashlickbut it worked if you did {.header.}
21:55:51shashlicki added that extern "C" and it started working
21:56:06shashlicki'm basically working on https://github.com/nimterop/nimterop/issues/169 for arnetheduck
21:56:07disbotSkip `{.header.}` generation
21:56:22*letto quit (Client Quit)
21:56:44shashlickno matter how much time I spend on c wrappers, I feel like a noob
21:57:06disruptekyou look like adonis, though.
21:57:09disruptekso, there's that.
21:58:06*letto joined #nim
21:59:48*filcuc_ joined #nim
22:00:13*krux02 joined #nim
22:00:20Araqdisruptek, still streaming?
22:00:27disruptekyeah.
22:00:33disrupteky'know, i couldn't make peek work.
22:00:38disrupteki told you. 😉
22:00:47disruptek!repo disruptek/asyncproc
22:00:49disbothttps://github.com/disruptek/asyncproc -- 9asyncproc: 11an async process monitor 15 0⭐ 0🍴
22:01:14*sekao quit (Remote host closed the connection)
22:02:14Araqwhat do you mean "I couldn't get it to work"?
22:02:23disruptekit blocks or excepts.
22:02:24Araqall you had to do is to add an integer counter
22:02:37disruptekto count exceptions?
22:03:09Araqnever mind, I think I misread the code
22:03:13disruptekyou're going to waste a core spinning?
22:03:22disrupteki mean, we /can/ do that...
22:04:46FromDiscord<Varriount> Hm, sometimes I wish we could do a big reorganization of the standard library
22:05:37FromDiscord<Varriount> Put all the system-binding modules (like Windows) under a dedicated folder.
22:06:12FromDiscord<Kiloneie> https://youtu.be/vfWxJH8Futo
22:06:12FromDiscord<Kiloneie>
22:06:12FromDiscord<Kiloneie> I have been using a noise gate since probably #1 video and it hasn't been a problem... in #19 it cut off slightly at very few places but in this video it's a bit much, i did my best when editing to make it clearer... D:
22:07:03disruptekAraq: it's an infinite loop in the compiler that we have to catch, anyway, right?
22:07:06FromDiscord<Varriount> @Kiloneie nice work!
22:07:19FromDiscord<Kiloneie> Thank you
22:07:22Araqdisruptek, right
22:08:05AraqVarriount: instead of the current way were we have both windows AND posix?
22:09:58FromDiscord<Varriount> Araq: No, just, more organization.
22:10:33FromDiscord<Varriount> Instead of lib/windows and lib/posix, do lib/platform/windows and lib/platform/posix
22:11:23FromDiscord<Varriount> Currently there's platform specific modules for genode, nintendoswitch, windows, posix, and js
22:11:50FromDiscord<Varriount> (although, I guess it might be possible to use js with the other modules if the nim program is running on node)
22:12:44FromDiscord<Varriount> I know that you dislike nesting folders, but I find it helps discoverability (in addition to the standard library documentation)
22:14:24FromDiscord<Varriount> Plus, if we wanted to, we could leverage Github's ability to display README files, and put a readme in each directory, describing the modules there.
22:15:02*clyybber joined #nim
22:15:20*filcuc_ quit (Ping timeout: 265 seconds)
22:16:50disruptekc'mon the stream and explain this madness.
22:17:20clyybberme?
22:17:24*shadowbane joined #nim
22:17:33disruptekand varriount
22:17:36clyybberdisbot you are broken
22:18:10clyybber!last clyybber
22:18:10disbotclyybber spoke in 12#nim 33 seconds ago
22:19:39clyybberdisruptek: can't talk here, what madness is it?
22:19:49disrupteksomething about paths.
22:19:54disrupteknesting folders?
22:19:59disruptekwhat does the path do for us?
22:20:01clyybberaight, imma head out
22:20:14disruptekit sounds like you want docs in README.md instead of index.html.
22:20:25disruptekaight.
22:20:31*narimiran quit (Ping timeout: 255 seconds)
22:20:37*rockcavera quit (Remote host closed the connection)
22:20:53clyybberdisruptek: Are you working on md docs?
22:20:57disruptekno.
22:21:03disrupteki'm responding to varriount.
22:21:05clyybberI can't discern the stream
22:21:14disruptekoh, this is testament.
22:21:21disruptektrying to work around possible compiler infinite loops.
22:21:25disruptekand those of tests, i guess.
22:21:54clyybbertestament works around compiler infinite loops?
22:22:26*s4mu3lbk quit (Ping timeout: 240 seconds)
22:22:41disruptekyeah, like the one that locked up the whole evening today.
22:22:47*lritter quit (Quit: Leaving)
22:24:37disruptekie. CI
22:27:16clyybberwheres the workaround
22:27:18clyybber?
22:27:27disruptek!repo disruptek/asyncproc
22:27:28disbothttps://github.com/disruptek/asyncproc -- 9asyncproc: 11an async process monitor 15 0⭐ 0🍴
22:28:43*filcuc_ joined #nim
22:29:25clyybberI think I'm in the wrong movie
22:29:43disrupteki think this doesn't work.
22:29:52disrupteknot sure when it could have broken, though.
22:30:11clyybbershow me those testament workarounds
22:30:23disruptek~stream
22:30:24disbotstream: 11https://twitch.tv/disruptek (live video/audio) and mumble://uberalles.mumbl.io/ (live voice chat) -- disruptek
22:30:29disrupteki'm not going to upload them.
22:30:41clyybberoh, so they aren't actually in testament yet
22:30:46disrupteknot yet.
22:30:47clyybberthats what I wanted to know
22:30:51disrupteki'm trying to make them work.
22:30:57clyybberk
22:34:48*Guest94576 quit (Quit: Guest94576)
22:36:26*gangstacat quit (Quit: Ĝis!)
22:40:01*gangstacat joined #nim
22:59:28*tane quit (Quit: Leaving)
23:00:47*clyybber quit (Quit: WeeChat 2.7.1)
23:01:19*abm quit (Quit: Leaving)
23:11:34*filcuc_ quit (Ping timeout: 256 seconds)
23:35:10*shadowbane quit (Remote host closed the connection)
23:39:21*shadowbane joined #nim
23:49:12*shadowbane quit (Quit: Konversation terminated!)