<< 06-10-2020 >>

00:01:15*D__ joined #nim
00:01:20*D_ quit (Quit: 💹)
00:57:28*NimBot joined #nim
01:19:28*ldlework quit (Ping timeout: 260 seconds)
01:30:19FromDiscord<juan_carlos> Any library to load YAML with unknown structure?, nimyaml requires an object as argument, and wont work with orc.
01:34:59*lmariscal quit (Quit: I'm Out!)
01:37:48*lmariscal joined #nim
01:42:47*apahl quit (Ping timeout: 244 seconds)
01:44:46*apahl joined #nim
01:52:58*Tanger joined #nim
01:54:45FromDiscord<flywind> I don't think there are
01:54:58FromDiscord<juan_carlos> :(
01:55:21disruptekyou might be able to use sealmove's stuff.
01:55:32disruptekhe had to impl yaml parsing in npeg iirc.
02:03:17FromDiscord<Avatarfighter> Disruptek are you planning on going live on twitch anytime soon?
02:03:42disrupteknot tonight.
02:04:01disruptekwhy?
02:04:12FromDiscord<Avatarfighter> To be honest I’m interested in watching
02:04:26disruptekweird.
02:04:34FromDiscord<Avatarfighter> 🙄
02:05:06disruptekwell, i have to mess with my mic. i guess something got screwed up during my last move.
02:05:19disruptekaraq says the audio is fucked up.
02:06:09disruptekit should be a pretty terrible stream 'cause i have very low bandwidth.
02:07:11FromDiscord<Avatarfighter> no worries if streaming is too much, you’re just the only person I know of who streams nim stuff lol
02:07:54disruptekyeah, i will probably get back to it. i think it was useful, it's just that i'm not in a good position at the moment.
02:08:56FromDiscord<Avatarfighter> Do what’s best for you, don’t feel forced, that’s the last thing I want
02:09:39disrupteknah, i've been planning on giving it a shot.
02:09:43disruptekwhat would you want to watch?
02:10:37FromDiscord<Avatarfighter> Anything you’re interested in, imo it’s super interesting watching someone work on something that interests them
02:11:17disruptekwell, lemme see...
02:12:30disruptekfirst i build my special wayland version of obs...
02:13:23FromDiscord<Avatarfighter> ahah
02:13:47FromDiscord<Avatarfighter> brb for a bit just ping me or something when you’re planning on going live in the future
02:18:28disruptekthe idea @avatarfighter is that you can help me fix my audio.
02:18:50*lritter joined #nim
02:19:25FromDiscord<Avatarfighter> can you give me 30 minutes while i consume nutrients
02:19:46disruptekwhatever.
02:25:08FromDiscord<shashlick> disruptek: any idea on this - https://travis-ci.org/github/genotrance/travister/jobs/733132922#L6574
02:26:25disruptekit's the jbb problem, right?
02:27:38disrupteki don't think it has ever worked.
02:27:51FromDiscord<shashlick> it has passed before - and passes on devel
02:28:53disruptekreally? i don't think it passes for me.
02:31:45disruptektravister just tests gittyup?
02:32:50disruptekmy github actions aren't working as well as your travis thing right now.
02:33:04disrupteki cannot get a 2.1.8 ref out of the repo.
02:39:41*rusua_ quit (Quit: Connection closed for inactivity)
02:43:12FromDiscord<Avatarfighter> 30 minutes on da dot
02:43:23FromDiscord<Avatarfighter> Minus 6 minutes
02:44:15FromDiscord<Avatarfighter> disruptek are you still down to test your audio?
02:45:20disruptekyeah.
02:45:28disrupteki guess my bot doesn't work.
02:47:53disruptekah, it says i'm offline.
02:49:31*vicfred joined #nim
02:53:41FromDiscord<Avatarfighter> disruptek: you're microphone level is lower than your music and the music is overpowering you
02:53:42FromDiscord<Avatarfighter> lol
02:58:00*lritter quit (Quit: Leaving)
03:09:16FromDiscord<shashlick> travister tests a bunch of things - nimterop, choosenim, nimarchive, nimgit2, gittyup, nimbass
03:09:30FromDiscord<shashlick> make sure I don't break stuff with my nimterop changes
03:09:31disruptekright, i got that eventually.
03:48:32*ldlework joined #nim
03:59:55*waleee-cl quit (Quit: Connection closed for inactivity)
04:06:01*supakeen quit (Quit: WeeChat 2.9)
04:06:33*supakeen joined #nim
04:09:10*a_chou quit (Quit: a_chou)
04:09:45*thomasross quit (Ping timeout: 240 seconds)
04:11:01*a_chou joined #nim
04:32:02*njoseph quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
04:32:09*njoseph joined #nim
04:32:58TangerHmmm, I'm confused why my call to open() fails for this code: https://play.nim-lang.org/#ix=2zRV It just spits out "cannot open: X" for each file it tries to write
04:34:02FromDiscord<hobbledehoy> which line is the open?
04:36:01TangerwriteFile
04:37:19TangerSame effect when I replace it with more standard open, write, close calls
04:37:40FromDiscord<hobbledehoy> shouldn't targetPath include parentPath?
04:38:15TangerOriginally, but I removed it (for now) just to look into why the files won't write
04:38:34FromDiscord<hobbledehoy> ah ok
04:39:07TangerWorked for one set of data, then stopped working, haha. It's probably something on my machine :S
04:57:35disruptekzzzz
05:03:57*snowolf quit (Quit: No Ping reply in 180 seconds.)
05:04:57*solitudesf joined #nim
05:05:16*snowolf joined #nim
05:16:08*snowolf quit (Quit: No Ping reply in 180 seconds.)
05:26:48*narimiran joined #nim
05:28:09*snowolf joined #nim
05:31:27*snowolf quit (Client Quit)
05:32:08*a_chou quit (Quit: a_chou)
05:45:53*PMunch joined #nim
05:51:23*leorize quit (Ping timeout: 240 seconds)
06:05:01*ormiret quit (*.net *.split)
06:05:01*stever quit (*.net *.split)
06:05:01*alehander92 quit (*.net *.split)
06:05:01*enthus1ast quit (*.net *.split)
06:05:01*Prestige quit (*.net *.split)
06:05:01*euantorano quit (*.net *.split)
06:05:01*vegai quit (*.net *.split)
06:05:10*vegai joined #nim
06:05:16*stever joined #nim
06:05:21*Prestige joined #nim
06:05:21*ormiret joined #nim
06:05:32*alehander92 joined #nim
06:05:36*euantorano joined #nim
06:07:42*snowolf joined #nim
06:10:10*enthus1ast joined #nim
06:15:49supakeenMrm, I have a function that takes a generic T (uint32, etc), now I need some literals in there that are 'u32 how would I get numbers in the correct width?
06:16:17supakeenT(int)?
06:22:25*narimiran quit (Ping timeout: 240 seconds)
06:22:57*narimiran joined #nim
06:29:15Tangersupakeen, Sorry, which numbers need to be in the correct with? If you need to constrain T to certain types, you can use this syntax: proc printFields[T: Ordinal | uint32]
06:29:23Tanger*width
06:30:09TangerSo maybe procname[T: uint32](myVar: T)
06:32:19supakeenTanger: Ah, specifically I have this: https://github.com/supakeen/simba/blob/master/src/simba/lcg.nim#L30
06:32:57supakeenSince T(int) works for me now, I'm just exploring the 'better' way to write this :)
06:34:41FromDiscord<Elegant Beef> I believe that using `T(int)` or `int.T` is the best way
06:35:20*vicfred quit (Remote host closed the connection)
06:35:26FromDiscord<Elegant Beef> I assume the output file will have multiple functions where those constants are just of type T, but i've been known to be wrong 😄
06:35:42*vicfred joined #nim
06:36:12supakeenYea, it probably has one for each T it's called with (as is the usual with generics).
06:36:13FromDiscord<Elegant Beef> You really should make it `LCG[T: SomeInteger]` though
06:36:33supakeenThanks.
06:37:06supakeenHow about if I want to constrain it just to uint32 and uint64 would it be T: uint32 | uint64?
06:37:14FromDiscord<Elegant Beef> Yea
06:37:49supakeenDone that, that is a bunch cleaner :)
06:38:24TangerCool project supakeen
06:38:36FromDiscord<Elegant Beef> https://nim-lang.org/docs/system.html#SomeSignedInt↔All the named generics are below here
06:38:44supakeenTanger: Thank you, LSFRs are next.
06:45:54FromDiscord<Elegant Beef> sent a code paste, see https://play.nim-lang.org/#ix=2zSe
06:46:09FromDiscord<Elegant Beef> whoops `!=` 😄
06:46:45FromDiscord<Elegant Beef> I dont like repeating myself. Like i said i dont like repeating myself
06:51:30supakeenExactly the type of thing I like haha.
06:52:25FromDiscord<Elegant Beef> lol i reopend the link and see "less repeating of myself"
06:52:57supakeenAlso rolled this line into one: ` var next: T = state.a * state.seed + state.c` ;)
06:55:19FromDiscord<Elegant Beef> The true question is do you do `next: T` or `= (mathsHere).T` 😛
06:58:12supakeenThat's something to think about another day or I'll just keep flip flopping.
07:02:20TangerCan Nim interface with Delphi?
07:09:11*Vladar joined #nim
07:09:52*fredrikhr quit (Read error: Connection reset by peer)
07:10:05*fredrikhr joined #nim
07:19:02*gmaggior joined #nim
07:21:21PMunchTanger, probably
07:22:28TangerI believe delphi can be converted to C++ at least. So maybe a long, roundabout trip
07:22:35TangerShame it's delphi
07:23:22PMunchYou can also compile your Nim code into a DLL and load it into Delphi
07:23:34PMunchDepends on which way you want to do the interaction
07:25:07AraqDelphi can link to the standard .obj/.o files
07:25:15Araqand Nim can produce these
07:25:30TangerOooh, thanks guys
07:26:34TangerI'm trying to replace an ancient delphi exe, so I was hoping to go decompile to delphi -> convert to C -> c2nim it up and *hopefully* get something that I can put back together so it's readable
07:29:45Araqsorry, but forget this idea
07:30:08Araqthere is no Delphi to C++ converter that I know of that would work well enough
07:30:42Araqit's also not the syntax, Delphi builds on the VCL, a large library that has no C++ equivalent
07:31:17Araqyou can translate the Delphi code to Nim directly via pas2nim
07:31:34Araqnah, I'm kidding, but even that is more realistic than converting it to C++
07:32:09FromDiscord<Elegant Beef> What are converting anywho?
07:32:26TangerHaha
07:33:08TangerSome dude wrote a kind of database interface for a POS system that I'm looking to replace because it has a bunch of memory leaks
07:33:24TangerCustomer has to restart their machine once a day or it locks up
07:33:48FromDiscord<Elegant Beef> Memory leaks are just bits trying to get their freedom!
07:34:03TangerI don't know what it does, but I reckon it's like an ad-hoc database connection pooling implementation for their POS database
07:34:05TangerHaha
07:34:13idfsounds fun
07:34:13TangerFly free!
07:37:01PMunchEvery time I read POS system my mind reads it as "piece of shit system" even though I used to work with creating one..
07:37:14FromDiscord<Elegant Beef> Lol, glad im not the only one
07:38:56Araqwhat does POS mean?
07:39:00PMunchPoint of sales
07:39:11FromDiscord<Elegant Beef> Point of service
07:39:13PMunchIt's like cash registers and such
07:39:20FromDiscord<Elegant Beef> Cmon it's not always about sales 😛
07:39:44PMunchSure, but that is literally what it's short for :P
07:39:46Araq"point of service system".
07:39:59Araqthe only clear word here is the "of"
07:40:25FromDiscord<Elegant Beef> I've honestly never heard it as point of sale
07:40:38Araqwhat is a "service system"? is it opposed to all the other systems that don't "serve"?
07:40:58Araqwhat is a "point"? it's most certainly not a dot on paper...
07:41:04PMunchA place
07:41:42PMunchPoint of sale - the point at which someone sells you something
07:41:48PMunchLike the till at a store
07:42:31Araqsoftware has no place
07:42:47PMunchNo, but the hardware it is installed on has a place
07:42:54PMunchPOS refers to the whole physical system
07:43:07PMunchPOS software would be the software part
07:43:13Araqaha
07:43:52Araqok, so it's a physical system and it runs software related to sells?
07:44:01FromDiscord<Elegant Beef> sales, yes
07:44:03PMunchPretty much
07:44:13Araqmy bad, yes, 'sales'
07:44:13PMunchTypically integrated with a receipt printer and a card terminal
07:44:14FromDiscord<Elegant Beef> It's just a computer that runs software that talks to their backend
07:44:37Araqoh wait
07:45:03Araqit's about tills?
07:45:16FromDiscord<Elegant Beef> Yea, store cashier's machines
07:45:17PMunchYeah, tills are a POS system
07:45:51Araqah ok
07:46:01FromDiscord<flywind> These cause problems with `threads:on` in windows([email protected] has installed).
07:46:09FromDiscord<flywind> sent a code paste, see https://play.nim-lang.org/#ix=2zSt
07:46:16FromDiscord<flywind> D:\QQPCmgr\Desktop\redis\test.nim(5, 6) Hint: Non-matching candidates for not true
07:46:54FromDiscord<flywind> https://play.nim-lang.org/#ix=2zSu
07:50:55*oculux quit (Ping timeout: 240 seconds)
07:51:00TangerPMunch, Yeah, I work pretty close with POS systems and it always tickles me when I think of it like piece of shit
07:51:14*oculux joined #nim
07:52:55*voltist quit (Ping timeout: 240 seconds)
07:53:15*voltist joined #nim
08:00:53Oddmongerdisruptek: hello, from your gitnim repo, what branch would you recommand for someone who wants news, but stability ? 1.0.9 or 1.2.7 ?
08:04:09FromDiscord<Elegant Beef> 1.2.7 is stable and 1.0.9 is LTS
08:05:28Oddmongerok, thank you
08:06:22Oddmongerbecause on the website of nim, there is «install 1.2.6» on the main page
08:11:19Araq1.2.6 is stable, 1.2.7 isn't
08:11:30Araqno stable version is ever odd
08:11:34Oddmongerok back to 1.2.6 then
08:11:50Araqall even numbers are stable :-)
08:12:03Oddmongernoted, thank you :)
08:20:47FromDiscord<Elegant Beef> Ah my bad, thought it was 1.2.x was stable and 1.0.x was LTS 😄
08:27:20*hnOsmium0001 quit (Quit: Connection closed for inactivity)
08:30:21Araqthat's true too :-)
08:30:52Araqit's more correct to phrase it this way: In reality there is no version 1.2.7
08:31:18Araq1.2.7 is 1.2.8 in "testing" state
08:38:04Oddmongerit's common numbering in software (at least for linux kernel ?)
08:39:23Oddmongeruhm i have 5.7.9 kernel installed, only odd numbers
 maybe archlinux installs dev kernels, or i'm wrong :)
08:40:45AraqI think it's pretty uncommon these days but it worked well for us so far and changing how versioning is done would only cause even more confusions
08:54:27*Trustable joined #nim
09:02:37FromDiscord<mratsim> GnuGO still uses the same versioning system 😉
09:02:43FromDiscord<mratsim> I was super confused at first
09:06:05FromDiscord<Rika> "but 1 is odd, does that mean version 1 is unstable?"
09:06:11FromDiscord<Rika> (i am joking)
09:06:15AraqBut I still dream of a Nim-2020 world where we use years instead of versions :-)
09:06:44FromDiscord<Rika> ~~maybe for nim 2?~~
09:08:52*Tanger quit (Quit: Leaving)
09:13:48FromDiscord<hugogranstrom> Year versioning ❀
09:19:38PMunchI kinda like Minecrafts versioning for their snapshots
09:20:38idfi remember i was so hyped for minecraft 2 when minecraft was around 1.8
09:20:43idfi thought at 1.10 it would become 2.0
09:20:46Oddmongerthere this gnu software (emacs ?) which version number is a better pi approximation at each new release
09:21:29Oddmongera nice way to say perfection is never reached :)
09:22:06*arecacea1 quit (Remote host closed the connection)
09:22:15FromDiscord<Vindaar> TeX
09:22:25*arecacea1 joined #nim
09:22:38FromDiscord<Vindaar> emacs is more sane that way, haha
09:23:13PMunchAlthough you end up with really long version numbers :P
09:23:42FromDiscord<Rika> until the last version
09:23:53FromDiscord<Rika> in which case itll just show as the pi symbol
09:23:57FromDiscord<Vindaar> well, at some point you can just do `versionNumber.len` to get a proper number 😅
09:24:30PMunchThe Minecraft system is two last characters of the year, a literal 'w', the week number, and then a letter (starting with 'a') to denote sub-version
09:24:55FromDiscord<Rika> thats only for snapshots
09:25:00PMunchI know
09:25:12idfmake every version a sum of the previous version and the total number of characters in all the commits combined
09:25:20FromDiscord<Rika> thats fun
09:25:31PMunchThat number quickly gets big :P
09:26:04idfdivide it by uhhhh the month of the update
09:27:00Oddmongerthe browser way: add 1 (more sophisticated calculus are hazardous with javacrypt)
09:27:30idfthe browser way: add by 1 everytime it gets worse
09:27:54Oddmongerthe user divides by 100 to get the real version
09:27:56*abm joined #nim
09:28:47idfnim browser when
09:29:11idfmake it support nimscript instead of javascript
09:35:17PMunchOkay, I've implemented the stream interface for sockets, should I PR it to Nim, or create a new library? http://ix.io/2zap
09:46:36idfi think i saw a Nim issue similar to what you achieved
09:47:11idfso you could try to PR it
09:48:29*leorize joined #nim
09:53:53idfspeaking of PRs, is there a way I can make the CI to use my new tests, I have a PR that adds a new hint in an already existing case, and one of the tests fails because it expects the old hint
09:54:05idfi changed that test and i did the koch test on my computer and it works
09:54:12idfdo i have to setup my own CI on my fork or
09:57:56*skrzyp quit (Ping timeout: 258 seconds)
09:59:52FromDiscord<mratsim> update the tests in the same PR
10:00:12idfI did and it still fails
10:01:23idfoh i got a comment on the PR
10:11:03*leorize quit (Ping timeout: 240 seconds)
10:15:56*sealmove joined #nim
10:16:17sealmovewhat's the meaning of "Warning: observable stores to 'x' [ObservableStores]"
10:17:03FromDiscord<mratsim> Go to Walmart now or all the food will be gone
10:17:07*luis joined #nim
10:17:34*narimiran quit (Ping timeout: 246 seconds)
10:19:51FromDiscord<mratsim> but TBH I don't know what they are for, partial initialization?
10:30:03FromDiscord<lqdev> sealmove: it's something about NRVO but i'd ask Araq to be sure
10:30:24FromDiscord<lqdev> i'm pretty sure nobody but him understands this warning :)
10:33:02sealmoveNRVO stands for?
10:33:12*luis quit (Remote host closed the connection)
10:33:13*ee7[m] quit (*.net *.split)
10:33:13*Prestige quit (*.net *.split)
10:33:13*stever quit (*.net *.split)
10:33:14*Jjp137 quit (*.net *.split)
10:33:14*hoek quit (*.net *.split)
10:33:14*JStoker quit (*.net *.split)
10:33:14*EastByte quit (*.net *.split)
10:33:14*silvernode[m] quit (*.net *.split)
10:33:14*OMGOMG quit (*.net *.split)
10:33:22*luis joined #nim
10:33:59AraqI wrote an RFC about it...
10:34:39Araqwe should disable the warning for 1.4 and be happy
10:34:40*Prestige joined #nim
10:34:41*stever joined #nim
10:34:41*Jjp137 joined #nim
10:34:41*hoek joined #nim
10:34:41*JStoker joined #nim
10:34:41*EastByte joined #nim
10:34:41*silvernode[m] joined #nim
10:34:41*OMGOMG joined #nim
10:38:27Araqsealmove, disable the warning
10:39:13*ee7[m] joined #nim
10:40:11sealmoveI don't mind it, just being curious
10:42:13Araqit's about a tranformation that is a leaky abstraction but cannot be gained easily otherwise
10:43:03Araqwe transform 'x = f()' into 'f(addr x)' and so depending on the 'f' the stores to 'result' are visible when 'f' raises an exception
10:45:39Araqso far we only found code that relies on this behaviour and no code where it introduced bugs. In an ideal world the code *inside* the f is optimized to use a side-channel for 'result' if it cannot prove exceptions can happen
10:46:30FromDiscord<JSGRANT> Evidently stands for 'Named Return Value Optimization' ; Reading a bit about it now -- but suspect I'm too tired to hold the concept very well lol
10:46:41Araq(but that solution only occured to me five minutes ago)
10:47:21sealmove:D
11:16:07*luis_ joined #nim
11:18:55idfok so I fixed my PR problem, my local repo and the repo on github were desynced
11:19:27*luis quit (Ping timeout: 240 seconds)
11:19:28*luis_ is now known as luis
11:19:30idfand on my disk I didn't have the part that would fail the CI
11:19:40idfnow all passed
11:22:25*sealmove quit (Ping timeout: 264 seconds)
11:23:51FromDiscord<Clyybber> idf: Left a review on your PR
11:38:17*jken quit (Quit: ZNC - https://znc.in)
11:38:54*jken joined #nim
11:40:52*luis quit (Quit: luis)
11:41:07*luis joined #nim
11:46:04*a_b_m joined #nim
11:49:28*abm quit (Ping timeout: 256 seconds)
11:50:03*a_b_m quit (Read error: Connection reset by peer)
12:06:02*supakeen quit (Quit: WeeChat 2.9)
12:06:33*supakeen joined #nim
12:07:44idfthanks
12:09:52*vegai left #nim ("=> matrix")
12:11:56*luis_ joined #nim
12:13:04*luis quit (Remote host closed the connection)
12:13:04*luis_ is now known as luis
12:17:05*leorize joined #nim
12:36:03PMunchIs this implemented anywhere in the stdlib? https://nim-lang.org/docs/manual.html#lexical-analysis-identifier-equality
12:37:29FromDiscord<lqdev> there's a thing in strutils on devel
12:38:52FromGitter<matrixbot> `matthias` I have a macro that generates a seq that I'd like to then pass to a proc. The AST looks correct but I'm getting "expression '@["someval", "someotherval"]' is of type 'seq[string]' and has to be discarded. Am I misunderstanding something about macros or do I probably just have some error that I'm missing?
12:39:09FromDiscord<lqdev> http://nim-lang.github.io/Nim/strutils.html#nimIdentNormalize%2Cstring
12:41:04FromDiscord<Rika> matthias, got a link to the code? or a paste?
12:41:23Araqdon't make your macro produce 'void'
12:41:34Araqmacro m(...) # bad
12:41:41Araqmacro m(...): untyped # good
12:42:25FromDiscord<Rika> oh i assume its the "no return type means typed" thing
12:43:06FromGitter<matrixbot> `matthias` 😳 that was it. I should have caught that. Thanks Araq!
12:43:11PMunchHmm, does anyone feel up for a parsing challenge? Basically write a parser (or an npeg grammar) to parse the docopt format on compile-time?
12:43:31*luis_ joined #nim
12:44:26*arecacea1 quit (Remote host closed the connection)
12:45:28*luis quit (Ping timeout: 260 seconds)
12:45:30*luis_ is now known as luis
12:45:37*arecacea1 joined #nim
12:47:40*gmaggior quit (Quit: Leaving)
12:49:06PMunchThis would allow us to write a compile-time docopt implementation that created an efficient parser and could create a (more) type-safe dispatcher.
12:54:47FromDiscord<mratsim> confutils already does that
13:02:25*luis quit (Ping timeout: 240 seconds)
13:03:16*narimiran joined #nim
13:05:02*luis joined #nim
13:13:30*luis quit (Quit: luis)
13:15:23*leorize quit (Ping timeout: 240 seconds)
13:20:37PMunch@mratsim, but confutils is much harder to set up..
13:21:17*luis joined #nim
13:22:02FromDiscord<mratsim> The minimal confutils setup is just this: https://github.com/status-im/nim-beacon-chain/blob/4b38619c4f51847fc591e85327ed226ad46d24ac/nbench/nbench_spec_scenarios.nim#L89-L93
13:22:15FromDiscord<mratsim> cli do(arg0, arg1)
13:23:11FromDiscord<mratsim> Otherwise the complete setup is basically a type declaration: https://github.com/status-im/nim-beacon-chain/blob/4b38619c4f51847fc591e85327ed226ad46d24ac/nbench/scenarios.nim#L23-L127
13:26:17*leorize joined #nim
13:33:21*luis quit (Quit: luis)
13:35:46FromGitter<gogolxdong> what's the roadmap of concept redesign?
13:35:57narimiran2021 :)
13:36:01*filcuc joined #nim
13:37:03ZevvPMunch: docopt?
13:37:09FromDiscord<mratsim> VTable are scheduled for 2018
13:37:36Zevvoh docopt. that should be trivial
13:37:54ZevvI see where you're going
13:37:55*Vladar quit (Quit: Leaving)
13:40:43*leorize quit (Ping timeout: 240 seconds)
13:44:14*luis joined #nim
13:47:37PMunchZevv, what about it?
13:47:53Zevvit'll cost you
13:48:14Zevvi write your parser. you order a sixpack at a local takeway and have it delivered to me
13:48:14PMunchHuh?
13:48:17Zevvfair deal, or what
13:48:22PMunchHmm, tempting
13:48:41PMunchWait, where do you live? Or more important, what does beer cost :P
13:48:54Zevvnot as expensive as a coffee for disruptek
13:48:57narimiranPMunch: wherever he is, it is cheaper than in norway
13:48:57PMunchI mean here you can't even get six-pack as a takeaway..
13:49:17supakeen16.99 for a 24-bottle crate.
13:50:30PMunchThat's the price of two pints here..
13:52:06*luis quit (Quit: luis)
13:52:13*luis joined #nim
14:19:59*luis quit (Read error: Connection reset by peer)
14:28:20FromDiscord<mratsim> btw is there a fix for push raises: [Defect] warning in devel? https://media.discordapp.net/attachments/371759389889003532/763044976862953472/unknown.png
14:32:24Araqonce that PR is merged, yes
14:33:44ZevvPMunch: https://github.com/docopt/docopt.nim !
14:33:48Zevvwhy am I doing this
14:34:01FromDiscord<shashlick> @dom96 - I got a static musl binary of choosenim built but even openssl will need to be statically linked
14:34:21FromDiscord<shashlick> of course this means the binary will be truly portable and this can be done on Win/OSX as well
14:34:36FromGitter<kamilchm> hi, I struggle to use a reference to tuple type, e.g. https://play.nim-lang.org/#ix=2zUd ⏎ IDK what to do with /usercode/in.nim(7, 12) Error: () must have a tuple type
14:42:19FromDiscord<slonik_az> Nim is back in TIOBE index between 51 and 100 position↔https://www.tiobe.com/tiobe-index/
14:43:01*idxu_ joined #nim
14:43:19*idxu quit (Read error: Connection reset by peer)
14:43:35FromDiscord<Rika> thats a big range
14:45:09*idxu_ is now known as idxu
14:45:11*tane joined #nim
14:51:46*leorize joined #nim
14:52:25*nixfreak quit (Ping timeout: 240 seconds)
14:52:36Yardanicobut the fact itself
14:52:40Yardanicotop 100 :)
14:53:37Araqso ... 1.4 is feature complete
14:53:43Araqbut I said that weeks ago too
14:53:57FromGitter<iffy> congrats!
14:53:58Yardanico1.4 is really a big-big release
14:54:06Yardanicotons of stuff
14:54:13Araqand maybe we want to add https://github.com/nim-lang/RFCs/issues/260
14:54:14disbot➄ File specific localpassC for wrapped C/C++/ASM/(JS?) {.compile.} files
14:54:16*a_chou joined #nim
14:55:06disruptekno, get it out while you can.
14:55:38leorize[m]1I think 1.4 is ready to ship now
14:55:40Yardanicodisruptek: well, if 1.4 gets out it means we won't get a new feature release in some months :P
14:55:57disruptekdon't care. 1.4 has no major feature to recommend it afaik.
14:56:08leorize[m]1maybe it means that we gotta stick to our schedule better :P
14:56:24FromDiscord<lqdev> Araq i think that issue is pretty important
14:56:24leorize[m]11.4 is delayed by a few months already afaik
14:56:38Araqdisruptek, it has --gc:orc, for the first time. and view types
14:56:48disruptekgc:orc is not the default, though.
14:57:18leorize[m]1and it has my ssl security fixes...
14:57:23Yardanicodisruptek: because we need wide testing :)
14:57:26disruptekwhen we ask someone what version they are using, "1.4" won't mean much to us.
14:57:35Araqyeah, we changed the plan, can't make the newest GC that we have the default
14:57:36Yardanicoand we will need to spam people about orc a lot so they actually test it :P
14:58:07leorize[m]1just flip the switch once 1.4 ships
14:58:09FromDiscord<shashlick> you don't need to solve world hunger to do a minor release
14:58:22leorize[m]1then we can use the next cycle figuring out what's left to be done for --gc:orc
14:58:24disrupteklook, my point is simply that 1.4 should ship.
14:58:34FromDiscord<shashlick> i agree too - i want to see the new nimble stuff tested
14:58:45FromDiscord<shashlick> since it has gotten almost no real world coverage
14:59:29FromDiscord<juan_carlos> I am using orc but cant make it crash, just some lib wont support it.
14:59:35Yardanicowhat lib?
14:59:49Yardanicoif you do --deepcopy:on everything should work except if a lib does GC-specific casts
14:59:53Yardanicolike status's chronicles
14:59:54FromDiscord<juan_carlos> eg. nimyaml
15:00:03*leorize quit (Ping timeout: 240 seconds)
15:00:25Yardanicohttps://github.com/flyx/NimYAML/issues/85
15:00:26disbot➄ NimYAML compatibility with ARC/ORC.
15:01:37Araqbbl
15:04:59leorize[m]1sink inference is off by default now iirc
15:05:04Yardanicofor user code
15:05:06Yardanicoit's on for the stdlib
15:05:15Yardanicobut even then NimYAML doesn't work without that patch
15:05:26leorize[m]1I kinda hoped that it can be on by default
15:05:38Yardanicothere still seem to be undiscovered issues with it AFAIK
15:05:48Yardanicoand I have a few more libs failing with orc in my backlog
15:06:08Yardanicosome examples in nigui and nimly - didn't find out the issue yet
15:06:12Yardanicoand macroutils - https://github.com/nim-lang/Nim/issues/15043
15:06:14disbot➄ [ARC] Compiler error with a closure proc in a macro ; snippet at 12https://play.nim-lang.org/#ix=2sKu
15:06:18disruptekit doesn't have to be the last 1.4 release.
15:06:20Yardanicothere's probably more, but I didn't test :P
15:07:44leorize[m]1disruptek: just talking about what to do for the future, I think we all pretty much agreed that 1.4 can be shipped now
15:13:15FromDiscord<Clyybber> https://dev.azure.com/nim-lang/Nim/_build/results?buildId=8425&view=logs&j=9ce34ca5-78e3-50eb-e582-5eabb51cd3ed&t=96a0fe61-4831-51a3-7585-5f390132c17a&l=1747
15:13:22FromDiscord<Clyybber> poor compiler was cut off
15:13:32FromDiscord<Clyybber> H
15:13:42YardanicoH
15:13:47Yardanicothat is meme quality stuff
15:15:02*arecacea1 quit (Remote host closed the connection)
15:15:25*arecacea1 joined #nim
15:16:51Yardanicobtw, it's still funny to me that GitHub does not have a minimum char limit for nicknames like most other services
15:16:52Yardanicohttps://github.com/a
15:17:13*leorize joined #nim
15:17:23idfh
15:23:23leorize[m]1I think minimum char limit is kinda dumb :p
15:24:02FromDiscord<Rika> just have no username ez
15:25:41Yardanicobtw, it still amazes me that Nim has CI working on 5 OSes :)
15:25:44FromDiscord<slonik_az> > thats a big range↔@Rika Everything from 51 to 100 is listed alphabetically. No way to tell exact ranking. But it is top 100 !
15:25:53YardanicoLinux, macOS, Windows, FreeBSD, OpenBSD
15:26:02Yardanicoand maybe if sourcehut adds NetBSD we're gonna have it too
15:26:10leorize[m]1euanator is working on netbsd too
15:26:16Yardanicoyeah that's what I meant
15:26:32leorize[m]1they are hosting their own ci server
15:26:40FromDiscord<shashlick> We need to expand to more c compilers
15:26:55FromDiscord<shashlick> Clang across all os, vcc, Intel etc
15:27:11leorize[m]1clang should work across all os
15:27:15FromDiscord<mratsim> I tried CI to get working on x86_64 x86_32, ARM64, PPC64LE and s390x but s"çàx is missing some config
15:27:20FromDiscord<shashlick> It isn't tested though
15:27:26Yardanicointeresting https://forum.nim-lang.org/t/6895
15:27:27leorize[m]1and I don't think there's any advantages to the intel compiler
15:27:42FromDiscord<Rika> mratsim, what is missing config?
15:27:52Yardanicoah that forum post is a easy one
15:27:54Yardanicoit fails because "const"
15:27:56FromDiscord<mratsim> s390x
15:28:15disruptekshow me a picture of your s390x.
15:28:22FromDiscord<Rika> how did that become `s"çàx`
15:28:23FromDiscord<shashlick> It's not a question of advantage, coverage increases confidence
15:28:44leorize[m]1I don't think we should be supporting too many compilers
15:28:58leorize[m]1just cover the major ones for each platform and we should be set
15:28:58Yardanicothat's why 4raq cleaned the list a bit
15:29:22Yardanicoicc needs to be separate, although I wonder if anyone is using it with Nim nowadays
15:29:31YardanicoI've tested it in 2017 iirc, and fixed one importc bug for it
15:29:32disruptekonly mratsim.
15:29:36leorize[m]1tell me how to setup nim + vcc and I will add it to CI
15:29:52leorize[m]1does he?
15:30:01Yardanicohe's on macos
15:30:10Yardanicooh nvm icc exists for macos too
15:30:12disruptekonly for research afaik.
15:30:42Yardanicogood old 2017 https://github.com/nim-lang/Nim/pull/5998
15:30:43disbot➄ Add intel compiler support to times module
15:31:53FromDiscord<mratsim> @disruptek: https://media.discordapp.net/attachments/371759389889003532/763060969927737374/unknown.png
15:32:06Yardanicolol
15:32:12FromDiscord<mratsim> s390x is BigEndian which is VERY interesting
15:32:12FromDiscord<shashlick> the point is that industry doesn't just use gcc
15:32:20FromDiscord<mratsim> it also includes elliptic curve builtin code
15:32:23Yardanicoyeah, I saw mratsim's posts about bigints in stint
15:32:26Yardanicoand that gcc is the worst
15:32:39Yardanicoits assembly output is the least performant in that case compared to others
15:32:52FromDiscord<shashlick> and if we can prove consistent support for proprietary compilers, it will expand Nim's reach
15:32:55idfuse HolyC compiler
15:33:00Yardanicoidf: won't work
15:33:03leorize[m]1wait, travis have native s390x support?
15:33:05Yardanicoit doesn't support C
15:33:13YardanicoHolyC isn't C
15:33:14idfmake nim compile to holyc
15:33:22Yardanicono
15:33:23leorize[m]1@shashlick we should only be concerned with vcc on windows
15:33:26idfi will
15:33:29leorize[m]1hardly anyone uses icc
15:33:44FromDiscord<shashlick> sure, just vcc is a big lift - i'm just pushing the issue
15:33:47FromDiscord<mratsim> I use ICC
15:33:52FromDiscord<Clyybber> idf: famous last words
15:34:09FromDiscord<mratsim> @leorize, yes Travis has PPC and s390x support
15:34:12leorize[m]1don't you have to pay if you use icc for commercial purposes?
15:34:14FromDiscord<mratsim> and they have beefy PPC machine
15:34:19disrupteki don't care about s390x.
15:34:23disruptekand neither should you.
15:34:25Yardanicohah lol HolyC has no-parens function call syntax
15:34:26Yardanicohttps://harrisontotty.github.io/p/a-lang-design-analysis-of-holyc
15:34:37Yardanicox = Foo(); and x = Foo; mean the same in HolyC lol
15:34:40FromDiscord<mratsim> icc is free with Intel SYstem Studio, you only need to renew a community subscription every year now
15:34:40FromDiscord<shashlick> anyone who is optimizing to the processor specific extensions will use icc and similar compilers
15:34:43disruptekbut, i believe we will move towards an llvm backend, so most of this compiler talk is irrelevant.
15:34:46FromDiscord<shashlick> i know many in my industry
15:34:56Yardanicodisruptek: I don't think it will be the *only* one anyway
15:35:02Yardanicohaving C as one of the main backends is an advantage
15:35:10disruptekit will quickly subsume other methods of codegen.
15:35:11Yardanicofor more obscure platforms
15:35:26Yardanicolike I easily got nim programs to run on Kolibri OS because they provide a version of gcc with their own mini libc
15:35:30Yardanico--os:any --gc:arc go brr
15:35:34disruptekdon't care.
15:35:34FromDiscord<mratsim> IOT has a lot of custom (bad) compilers
15:35:38FromDiscord<mratsim> and no LLVM support
15:35:45disruptekdon't care.
15:35:46FromDiscord<mratsim> tht said, even Nvidia is using LLVM now
15:35:47Yardanicodisruptek: if you don't, it doesn't mean that others are the same
15:36:01disrupteki know, but i won't support it.
15:36:04Yardanico_you_
15:36:05disruptekwill you?
15:36:05Yardaniconot others
15:36:15Yardanicosorry, but we're not talking about you specifically now :)
15:36:17disruptekso, you don't care, either.
15:36:19*JustASlacker joined #nim
15:36:46FromDiscord<dom96> Yardanico++
15:36:53*thomasross joined #nim
15:36:54FromDiscord<dom96> Compilation to C is wonderful
15:36:59idfinc Yardanico
15:37:01Yardanicotime to create #nim-disruptek
15:37:05idfyes
15:37:14FromDiscord<Rika> with only disruptek
15:37:18FromDiscord<Rika> everyone else is not allowed to join
15:37:27idfme and him
15:37:27idf1v1
15:37:30Yardanicoalso zevv
15:37:37Yardanicozevv can decipher disruptek's messages
15:37:38FromDiscord<dom96> haha
15:37:49Yardanicosometimes
15:38:00disruptekoh, you can join, i'll just kick you immediately.
15:38:09FromDiscord<dom96> We can just bridge #nim in there, but only one way
15:38:23leorize[m]1lol
15:38:32Yardanicoalso it's nice that we got more people contributing
15:38:36Yardanicoprobably it's related to hacktoberfest
15:38:39disruptekyeah, great.
15:38:50YardanicoI've seen more PRs from unknown (to me) people over the last few days to the nim repo
15:39:12FromDiscord<Avatarfighter> what is good everyone
15:39:17Yardaniconim is good
15:39:48FromDiscord<mratsim> you don't knnow timotheecour?
15:40:03disrupteki wish i didn't.
15:40:17YardanicoHAHAHA
15:40:23Yardanicosorry
15:40:30leorize[m]1@mratsim do you plan to write any multithreading guide in the future?
15:40:42Yardanicowell, he did a FOSDEM talk about multithreading runtimes
15:40:48leorize[m]1multi threading is the hot new thing and I don't feel like I know enough to write multi threaded stuff
15:40:51Yardanicoand you know about it first-hand :P
15:41:05Yardanicobtw, https://dev.to/ seems like a nice new(ish) lightweight medium alternative
15:41:09FromDiscord<mratsim> It would start with "if you're here for multithreaded IO, turn left towards the cliff" :p
15:41:10Yardanicomaybe I should write a few posts there
15:41:16FromDiscord<dom96> hot new thing? lol
15:41:23*leorize quit (Ping timeout: 240 seconds)
15:41:29FromDiscord<mratsim> it certainly make my CPU hot
15:41:36FromDiscord<Avatarfighter> lmao
15:41:46Yardanicoit seems more similar to mostly-russian habr.com
15:41:48Yardanicoone main feed
15:41:48FromDiscord<Avatarfighter> Disruptek: when is Nim's most famous streamer going live 😛
15:41:53Yardanicoyou can subscribe to different topics
15:42:04FromDiscord<Clyybber> AVX is the other hot thing
15:42:05FromDiscord<dom96> I prefer to keep Core #0 hot and the rest cold as ice
15:42:06Yardanicohttps://habr.com
15:42:07FromDiscord<Rika> dev.to has been existing for a while now
15:42:39Yardanicohabr has stricter rules than dev.to or medium and is invite-only though
15:43:11Yardanico(you can only get an invite from other people directly or via writing an article into sandbox, and then some user or a moderator can give you an invite if they deem that article good enough)
15:43:20YardanicoI got my invite from a small nim article
15:43:25Yardanico"article"
15:43:32FromDiscord<dom96> guess I should brush up on my Russian
15:43:40FromDiscord<dom96> time to get that invite
15:43:40Yardanicohabr has english nowadays too
15:43:44FromDiscord<Avatarfighter> aha
15:43:48Yardanicoso yeah, you can make an english article
15:43:51disruptekoh yeah streaming, i forgot.
15:44:24*ldlework quit (Ping timeout: 272 seconds)
15:46:46*hnOsmium0001 joined #nim
15:48:31disrupteki guess i could fix the bot. i don't think anyone wants to watch me work on the compiler.
15:48:47FromDiscord<Avatarfighter> i enjoyed it ngl
15:49:15FromDiscord<Avatarfighter> its the type of hassle that is fun to watch but not participate in lol
15:49:21disrupteki'm talking about normal people.
15:49:47FromDiscord<Avatarfighter> wowww
15:49:59FromDiscord<Clyybber> ur special
15:50:15FromDiscord<shashlick> @dom96 - I got a static musl binary of choosenim built but even openssl will need to be statically linked↔of course this means the binary will be truly portable and this can be done on Win/OSX as well
15:54:28disrupteki, for one, welcome our 70mb choosenim overlords.
15:55:38*NimBot joined #nim
15:58:30*Vladar joined #nim
16:00:13disrupteklemme just rub one out and then i'll stream.
16:00:19disruptek~stream
16:00:20disbotstream: 11https://twitch.tv/disruptek (live video/audio) and mumble://uberalles.mumbl.io/ (live voice chat) -- disruptek
16:00:29YardanicoALARM ALARM
16:00:33YardanicoDISRUPTEK IS ABOUT TO START STREAMING
16:00:36YardanicoEVERYONE WAKE UP
16:00:45disruptekquiet down chucklhead.
16:00:51Yardanicoill join mumble
16:00:57FromDiscord<Avatarfighter> Oh my god
16:01:04FromDiscord<Avatarfighter> The HEAD OF STREAMING for Nim is Live
16:05:36FromDiscord<Rika> `@everyone`
16:06:02FromDiscord<Rika> ~~i oh so hope that didnt do a ping in gitter~~
16:09:02*leorize joined #nim
16:09:30*aenesidemus joined #nim
16:09:50FromDiscord<lqdev> i don't think ateveryone is a thing on gitter but lemme check
16:10:11FromDiscord<lqdev> _if it loads with my shiternet connection today_
16:10:23FromDiscord<lqdev> yeah that isn't a ping on gitter
16:10:28FromDiscord<lqdev> unless there's a person called everyon
16:10:29FromDiscord<lqdev> (edit) 'everyon' => 'everyone'
16:10:31FromDiscord<lqdev> in which case
16:10:32FromDiscord<lqdev> hi!
16:10:46Yardanicodisruptek won't be in mumble today :(
16:10:49Yardanicobut others can join guyss
16:10:54Yardanicoor maybe discord :think:
16:11:23FromDiscord<Avatarfighter> I will join laterâ„ąïž
16:11:30*JustASlacker quit (Ping timeout: 256 seconds)
16:11:31Yardanicodiscord or irc?
16:11:33Yardanicomumble*
16:11:46FromDiscord<Avatarfighter> Which is easiest for you
16:12:28*solitudesf quit (Read error: Connection reset by peer)
16:14:03*leorize quit (Ping timeout: 240 seconds)
16:14:24*ldlework joined #nim
16:28:07*thomasross quit (Quit: Leaving)
16:29:22*nature joined #nim
16:34:54Yardanico~mumble
16:34:54disbotno footnotes for `mumble`. 🙁
16:47:19*solitudesf joined #nim
17:07:21*luis_ joined #nim
17:07:56FromDiscord<shashlick> @dom96 - why does choosenim use curl on osx again - openssl related?
17:08:50FromDiscord<dom96> @shashlick yep. Statically linking openssl sounds annoying. Do we have to do it for musl?
17:09:13FromDiscord<shashlick> ya no choice since the openssl so files installed on the system will be glibc compiled
17:09:21FromDiscord<shashlick> so choosenim is not able to load it
17:10:14FromDiscord<shashlick> statically linking openssl is easy with nimterop / julia binary builder and will work across all OS
17:10:22*abm joined #nim
17:13:54disruptekshashlick: we can only run one nimterop build at a time?
17:14:15FromDiscord<shashlick> threads?
17:14:23disrupteknah.
17:14:51*leorize joined #nim
17:15:03*opal quit (Ping timeout: 240 seconds)
17:15:16FromDiscord<shashlick> should be able to run in parallel - toast is standalone, and compile time is single threaded no
17:17:27*opal joined #nim
17:18:05*luis_ quit (Remote host closed the connection)
17:19:13*D__ is now known as D_
17:20:03*leorize quit (Ping timeout: 240 seconds)
17:22:50FromDiscord<Clyybber> leorize @dom96 can you review https://github.com/nim-lang/Nim/pull/15275
17:22:50disbot➄ getPeerCertificates() for libressl and openssl10
17:23:16FromDiscord<iWonderAboutTuatara> @Yardanico I have an idea to make edited messages show up in IRC
17:23:24Yardanicothey're already showing up in IRC
17:23:27Yardanicowith edit diffing
17:23:29FromDiscord<Avatarfighter> yeah
17:23:29FromDiscord<iWonderAboutTuatara> oh are they?
17:23:30FromDiscord<iWonderAboutTuatara> nevermind
17:23:32Yardanico:D
17:23:41FromDiscord<iWonderAboutTuatara> didn't realize lmao
17:23:49FromDiscord<iWonderAboutTuatara> I kinda want to contribute PR to something nim related though
17:24:01FromDiscord<iWonderAboutTuatara> does Nim accept additions to modules?
17:24:13FromDiscord<iWonderAboutTuatara> like to algorithms, there are some I want to add
17:24:46Yardanicoyes but some of the stuff might go to fusion instead
17:26:07FromDiscord<iWonderAboutTuatara> !repo fusion
17:26:07disbothttps://github.com/nim-lang/fusion -- 9fusion: 11Fusion is for now an idea about how to grow Nim's ecosystem without the pain points of more traditional approaches. 15 62⭐ 4🍮 7& 1 more...
17:26:22FromDiscord<iWonderAboutTuatara> this one?
17:26:24Yardanicoyes
17:27:47FromDiscord<iWonderAboutTuatara> I don't want to contribute a whole module
17:27:52FromDiscord<iWonderAboutTuatara> just some functions to smaller modules
17:28:02disruptek!requires fusion
17:28:02disbotfusion: no results 😱
17:31:38FromDiscord<iWonderAboutTuatara> Should I submit the PR to !repo Nim or to !repo fusion?
17:31:51Yardanicoidk
17:32:05FromDiscord<iWonderAboutTuatara> or will they shift it for me if i get it on the wrong repo
17:32:18Yardanicoit won't get automatically shifted
17:34:21FromDiscord<iWonderAboutTuatara> They'll ask me to shift then, which is good enough
17:34:47FromDiscord<iWonderAboutTuatara> Araq: If there is a specific place it should go, please lmk
17:35:13*haxscramper joined #nim
17:38:29jkenI am trying to get some data from assimp, anyone have any idea how to cast array[ptr SomeType] to an UncheckedArray? Example: type
17:38:29jken SomeType: int
17:38:29jken
17:38:29jken Mesh:
17:38:29jken vertices: ptr SomeType
17:38:30jken normals: ptr SomeType
17:38:34jken texCoords: array[ptr SomeType]
17:38:36jken
17:38:38jken# Cast to an unchecked array of SomeTypes (Really Vec3s)
17:38:40jkenlet vertices = cast[ptr UncheckedArray[SomeType]](mesh.vertices)
17:38:42jkenlet normals = cast[ptr UncheckedArray[SomeType]](mesh.normals)
17:38:44jken# How do I do the same from array[ptr SomeType]?
17:38:46jkenlet textureCoordinates = #??
17:38:51jkensorry.. thought i had the URL on my clipboard.. https://play.nim-lang.org/#ix=2zVa
17:38:55FromDiscord<Rika> :MonkaS:
17:39:22FromDiscord<Clyybber> ` `
17:41:44FromDiscord<iWonderAboutTuatara> do I have to build nim from source to contribute to stdlib?
17:43:10FromDiscord<haxscramper> You might want to run full unit test suite on a freshly built compiler
17:44:04*waleee-cl joined #nim
17:44:29*haxscramper left #nim ("ERC (IRC client for Emacs 27.1)")
17:49:25*idf quit (Ping timeout: 240 seconds)
17:52:34*idf joined #nim
18:00:21*tiorock joined #nim
18:00:21*tiorock quit (Changing host)
18:00:21*tiorock joined #nim
18:00:21*rockcavera quit (Killed (orwell.freenode.net (Nickname regained by services)))
18:00:21*tiorock is now known as rockcavera
18:00:37FromDiscord<iWonderAboutTuatara> how do I do that?
18:00:42FromDiscord<iWonderAboutTuatara> Not contributing to compiler btw
18:03:16FromDiscord<demotomohiro> sent a code paste, see https://play.nim-lang.org/#ix=2zVj
18:03:53Yardanicoyou don't have to
18:06:53FromDiscord<iWonderAboutTuatara> oh ok solid
18:07:11Yardanicobut stdlib has tests too
18:07:14FromDiscord<iWonderAboutTuatara> what do I do instead, just clone the repo, add the thing to the module, submit that?
18:09:11Yardanicoas a PR, yes
18:09:18Yardanicosome tests can be done via runnableExamples
18:09:39*leorize joined #nim
18:12:08jkenHeres a better example of my question.. https://play.nim-lang.org/#ix=2zVl
18:27:03*leorize quit (Ping timeout: 240 seconds)
18:29:12*filcuc quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
18:31:24*leorize joined #nim
18:37:23*leorize quit (Ping timeout: 240 seconds)
18:41:50*leorize joined #nim
18:43:49FromDiscord<brainproxy> sent a code paste, see https://play.nim-lang.org/#ix=2zVz
18:44:22*aenesidemus quit (Read error: Connection reset by peer)
18:44:26FromDiscord<brainproxy> (edit) 'https://play.nim-lang.org/#ix=2zVz' => 'https://play.nim-lang.org/#ix=2zVA'
18:46:32*FromDiscord quit (Remote host closed the connection)
18:46:47*FromDiscord joined #nim
18:46:49FromDiscord<demotomohiro> I think declaring `cdefs` as const array would work
18:47:09FromDiscord<demotomohiro> Or put your loop under `static:`
18:47:16FromDiscord<brainproxy> the loop is in `static:`
18:47:56FromDiscord<brainproxy> > I think declaring cdefs as const array would work↔can you help me with syntax for trying that? It's not possible to know the length of the array in advance, unfortunately
18:48:10FromDiscord<brainproxy> which is why I am computing it as a seq
18:48:24jkenWhy is `m[i]` at line 10 giving me "cannot evaluate at compile time: i"? https://play.nim-lang.org/#ix=2zVD
18:50:03*leorize quit (Ping timeout: 240 seconds)
18:50:33FromDiscord<demotomohiro> But you need to determine the size of cdefs at compile time to pass items of it to `static[string]`.
18:50:54FromDiscord<demotomohiro> You can also use compile time pragma
18:50:55FromDiscord<demotomohiro> https://nim-lang.org/docs/manual.html#pragmas-compiletime-pragma
18:51:48YardanicoAraq: would it make sense to add an "ORC" label specifically for ORC? there's at least 1 open issue which is ORC-specific right now
18:52:59FromDiscord<Vindaar> @jken: Does the result of the `texCoords` call return a tuple?
18:53:41jkenVindar, That's what I am trying to find out honestly. The type def is: array[MAX_TEXTURE_COORDS - 1, ptr TVector3d]
18:53:43FromDiscord<brainproxy> so I can compute a seq of strings but I don't know their individual lengths or the the length of the seq in advance; but once I've computed that seq, in a loop can I cast each string to a static[string]?
18:53:57jkenTVector3d is a tuple of 3 cfloats
18:56:27FromDiscord<demotomohiro> At least, `cdefs` need to be created at compile time. If you can create it only at runtime, you cannot pass items of it to `static[string]`.
18:56:55FromDiscord<Vindaar> Then that's the reason the compilation fails there. Access to tuples via `[]` can only be done if the index is known at compile time
18:57:46jkenVindaar, any idea on how to move forward then? :/ Based on the type I know its a ptr to a tuple with 3 fields.
18:58:05jkenFrom here: https://github.com/barcharcraz/nim-assimp/blob/master/assimp.nim#L60
18:58:22FromDiscord<brainproxy> @demotomohiro none of this is at runtime, the only purpose of the `gen.nim` file is to dump out generated nim code
19:02:53FromDiscord<brainproxy> sent a code paste, see https://play.nim-lang.org/#ix=2zVJ
19:05:47FromDiscord<Vindaar> @jken oh that file clears it up a bit for me. So `texCoords` is a field, an array containing `ptr TVector3D`. So it's different from what I thought. That means `var m = mesh.texCoords[0]` is actually just a `ptr TVector3D`. ↔I'm not sure, but I think what might be going on now is that the Nim compiler realizes that `TVector3D` is a tuple, dereferences the `ptr` and tries to access the field at index `i` (which as I stated it can't)
19:06:16FromDiscord<Vindaar> does your `mesh.vertexCounts` only go from 0 to 2?
19:06:22FromDiscord<Vindaar> *your loop
19:06:37jkenno, there are thousands of vertices.. I am also confused about this.
19:06:45*leorize joined #nim
19:07:16jkenI am using this as a guide: https://github.com/jackmott/easygl/blob/master/src/easygl/model.nim#L67
19:07:23jkenAnother nim lib that uses assimp.
19:09:31FromDiscord<Vindaar> I'm confused. I would somewhat understand if what was contained in `texCoords` were pointers to some arrays. Then using `cast[ptr UncheckedArray[T]]` you could access the `i`th element just fine
19:11:35jkenVindaar, you are a genius.
19:11:49jkenThis works: https://play.nim-lang.org/#ix=2zVM
19:12:41FromDiscord<Vindaar> 👍
19:12:43FromDiscord<Vindaar> bbl
19:17:05*narimiran quit (Ping timeout: 240 seconds)
19:20:32disruptekso. you still think streaming is worth attempting?
19:21:04YardanicoXD
19:21:27FromDiscord<Clyybber> disruptek: Did you make mangling progress?
19:22:18disruptekproblem i have now is that i have redundant types between ansi_c and the rest of system and no way to connect the two conflict scopes.
19:22:59disruptekthis is a new issue due to disolving all types but enums and objects.
19:23:13FromDiscord<demotomohiro> @brainproxy, how about to make `cdefs` in a macro and call `cDefines` like this?↔https://play.nim-lang.org/#ix=2zVP
19:34:03*leorize quit (Ping timeout: 240 seconds)
19:35:20*leorize joined #nim
19:37:00FromGitter<Yardanico> 123
19:40:23*leorize quit (Ping timeout: 240 seconds)
19:41:10*leorize joined #nim
19:45:12*haxscramper joined #nim
19:46:23*leorize quit (Ping timeout: 240 seconds)
19:48:11*leorize joined #nim
19:52:31haxscramperalehander92: are you still working/planning to work on RFC for enum flow checking/typestate? https://irclogs.nim-lang.org/24-07-2020.html#13:05:36
19:58:45*solitudesf quit (Ping timeout: 240 seconds)
20:13:17*tane quit (Read error: Connection reset by peer)
20:22:33FromDiscord<shashlick> @disruptek @dom96 some competition - https://github.com/c-blake/nimp
20:23:28FromDiscord<shashlick> @brainproxy - you will need to write a macro for that
20:24:25FromDiscord<shashlick> https://github.com/nimterop/nimterop/blob/0c2ca16f7ad9b1798f1c28ca0a3268d98e845a8d/nimterop/cimport.nim#L216
20:38:28FromDiscord<Yardanico> Good night Nim people
20:38:59FromDiscord<Elegant Beef> gday
20:48:34FromDiscord<Avatarfighter> goodnight
20:50:30FromDiscord<brainproxy> @shashlick I couldn't get `macro cDefine*(values: static seq[string])` (from `nimterop` itself) to work even with a hand-written `static seq[string]`. It didn't result in an error but also didn't result in the expected `{.passC: "...".}` output; unlike calling `cDefine("ON_SOME_STRING`)` which does produce the expected output.
21:00:26FromDiscord<shashlick> Did you run it in a static block
21:00:36FromDiscord<shashlick> Also might need to define it as a const
21:00:44FromDiscord<shashlick> The seq
21:04:13FromDiscord<dom96> @shashlick cool
21:06:43FromDiscord<Clyybber> good night!
21:07:27FromDiscord<demotomohiro> good night!
21:07:31FromDiscord<Avatarfighter> good night!
21:07:52FromDiscord<demotomohiro> @brainproxy This code can pass a string from compile time seq[string] to macro with static[string] param inside macro.↔https://play.nim-lang.org/#ix=2zVP
21:08:32FromDiscord<brainproxy> @demotomohiro thanks for that, I've been trying to adapt it, can't get it to work
21:08:50FromDiscord<brainproxy> in that case "foo" and "bar" are static strings, right?
21:09:19FromDiscord<brainproxy> or maybe that's not at issue, but in any case `cDefine` complained about it in the same way
21:14:02FromDiscord<brainproxy> I take it back, it does work, I probably screwed something up in my first pass at adapting it. thanks @demotomohiro !!
21:18:24FromDiscord<demotomohiro> np
21:22:52*disruptek left #nim (#nim)
21:23:12*disruptek joined #nim
21:23:26*disruptek left #nim (#nim)
21:25:05*disruptek joined #nim
21:27:38*rockcavera is now known as Guest75406
21:27:38*Guest75406 quit (Killed (hitchcock.freenode.net (Nickname regained by services)))
21:27:39*rockcavera joined #nim
21:32:14FromDiscord<Avatarfighter> Can you reuse httpclient to make multiple requests back to back?
21:33:06FromDiscord<shashlick> should be
21:33:39FromDiscord<Avatarfighter> I can't remember what the issue with httpclient was where you couldn't do something with it
21:34:02FromDiscord<shashlick> https://github.com/nim-lang/Nim/blob/devel/lib/pure/httpclient.nim#L730
21:43:55FromDiscord<Avatarfighter> If I wrap an api should I present the user with objects they can interact with or should I let them mess with the raw responses themselves?
21:44:28*a_chou quit (Ping timeout: 260 seconds)
21:44:44FromDiscord<Avatarfighter> actually nvm
21:44:48FromDiscord<Avatarfighter> I'm going to do something really ugly
21:45:15*a_chou joined #nim
21:46:32*haxscramper quit (Remote host closed the connection)
21:51:31disruptekmake sure you get it on video.
21:51:54FromDiscord<shashlick> https://github.com/dom96/choosenim/pull/225
21:51:55disbot➄ Static build with musl
21:52:19disrupteki think mangling is going to kill me.
21:53:24FromDiscord<Avatarfighter> disruptek: what’s the new issue with mangling
21:53:24FromDiscord<Avatarfighter> disruptek: what’s the new issue with mangling
21:54:57disruptekssdd
21:56:00disruptekit's fucking hard, basically. hard to thread the needle.
21:56:26disruptekwe never had to choose names before.
21:56:29disrupteknow we do.
21:58:01PMunchZevv, sorry I had to leave. Basically what I want to do is to create a more type-safe compile-time evaluated version of docopt to flex the strengths of Nim
21:58:08PMunchBut right now I'm off to bed
21:58:09*PMunch quit (Quit: leaving)
21:58:33FromDiscord<Avatarfighter> goddamn the reddit api docs arz shit
21:58:52disruptekmaybe treeform can give you a better source.
22:06:19*a_chou quit (Remote host closed the connection)
22:06:37*a_chou joined #nim
22:07:03FromDiscord<Avatarfighter> Maybe i just dislike how the api docs dont even tell you the base url nor how you get submissions in a specific subreddit
22:07:19FromDiscord<Avatarfighter> Forgot a comma after "maybe"
22:10:57disrupteki could really go for a coma right about now.
22:17:46*Vladar quit (Quit: Leaving)
22:20:14FromDiscord<dom96> Taking bump to the next level https://twitter.com/theprincessxena/status/1313585993862311936?s=21
22:25:03disrupteknothing like taking software that shouldn't exist and making it even more complex.
22:29:01*a_chou quit (Ping timeout: 264 seconds)
22:51:56*abm quit (Quit: Leaving)
22:59:30FromDiscord<UNIcodeX> > Taking bump to the next level https://twitter.com/theprincessxena/status/1313585993862311936?s=21↔@dom96 what fresh hell is this...?
22:59:52FromDiscord<UNIcodeX> (edit) 'https://twitter.com/theprincessxena/status/1313585993862311936?s=21↔<@132595483838251008>' => '↔@dom96'
22:59:59disruptekmore bad ideas made worse by implementation.
23:00:26FromDiscord<UNIcodeX> Not gonna lie. I cracked up at the first few sentences and closed the article.
23:01:01disruptekhey, at least it's written in rust.
23:01:11FromDiscord<UNIcodeX> LMAO
23:06:52*Trustable quit (Remote host closed the connection)
23:09:41FromDiscord<Avatarfighter> well guys i just received a haircut and I wish it was a bowlcut
23:15:12FromDiscord<Rebel> congrats
23:45:09*a_chou joined #nim
23:56:18*NimBot joined #nim