<< 02-04-2020 >>

00:00:06Araqmy bugfixes break some Nimble package you really want to use.
00:00:51*silvernode quit (Ping timeout: 260 seconds)
00:01:42FromDiscord<ksandvik> Rust runs nightly compilation tests across all packages/crates it knows about in the git depot.
00:01:57FromDiscord<ksandvik> I mean github/gitlab.
00:01:59Araqwe test our "Important packages"
00:02:08Araqwe can always test more ofc
00:02:23Araqbut testing isn't free, it's time consuming.
00:02:38axionGiven the compilation speed of Rust for some even small crates, that build fleet must be expensive to finish in a night
00:03:50leorizethat's a problem that mozilla can solve with more money thrown on the table :P
00:05:15rayman22201I forget whether it was AWS or MS, but they gave mozilla a crap ton of free server infrastructure recently... Advantages to deep pockets....
00:05:20rayman22201for Rust specifically that is
00:06:25clyybberRe: concepts/generics bugfixes, seems to me like zah's working on a few of them \o/
00:06:47FromDiscord<ksandvik> I think it was MS.
00:07:24FromDiscord<ksandvik> And yes, cloud services cost money so if someone is sponsoring that helps a lot.
00:07:57Araqit's not about the money unless you use the money to pay a fulltime dev to deal with the fallouts
00:08:19Araqyou need to keep every test green all the time.
00:08:35Araqthe more tests you have the harder it becomes.
00:09:33FromDiscord<ksandvik> Sorry to compare with Rust but are new features behind feature flags so they are only activated for specific releases when everything is stable?
00:09:47leorizeyes, we have `{.experimental.}`
00:09:51Araqyes. see --gc:arc
00:10:04clyybberAraq: https://github.com/nim-lang/Nim/issues/13828 is a valid bug no?
00:10:54Araqnow that I read it again I notice that I misread it
00:11:03Araq:D
00:11:05clyybberYeah, I thought so :D
00:14:11Araqgah, I should sleep
00:14:15Araqgood night
00:14:19clyybbersame, good night!
00:14:24*clyybber quit (Quit: WeeChat 2.8)
00:15:28rayman22201gn
00:16:16Araqaxion: and if you were to write an RFC about how templates should simply work as in Lisp, I would appreciate it
00:17:31AraqI suppose at some point we took wrong turns
00:17:36Araqbye
00:18:00axionI'll think about what to do
00:18:35axionBut just to make this clear, I think your roadmap is great and you are doing a great job.
00:19:39shashlickReally good progress today on nimterop - ast2 is close
00:20:41*lritter joined #nim
00:22:25FromDiscord<Rika> anyone with extensive arraymancer knowledge? because i cant seem to find the equivalent of "numpy.linspace" in arraymancer, or is it not there?
00:22:59*leorize quit (Remote host closed the connection)
00:23:25*silvernode joined #nim
00:23:51*leorize joined #nim
00:26:08*dwdv quit (Ping timeout: 256 seconds)
00:29:34*NimBot joined #nim
00:29:57FromGitter<zetashift> @Rika you might be able to use this: https://github.com/HugoGranstrom/numericalnim#linspace--arange
00:31:14FromDiscord<Rika> i wrote my own already ;;
00:32:41axionAnyway. I'm on mumble if anyone wants to talk to me about sticking with Nim :)
00:33:45FromDiscord<Rika> what's the server?
00:34:28axionuberalles.mumbl.io
00:36:08shashlickWhere's disruptek these days
00:41:48leorizewriting a macro to let me borrow proc just by their identifier is hard
00:42:02leorizebecause I can't resolve generics in macros...
00:45:00*couven92 quit (Ping timeout: 258 seconds)
00:45:59*krux02_ quit (Remote host closed the connection)
00:47:01*silvernode quit (Ping timeout: 250 seconds)
01:02:45*silvernode joined #nim
01:21:07*silvernode quit (Ping timeout: 260 seconds)
01:25:31*chemist69 quit (Ping timeout: 252 seconds)
01:27:32*chemist69 joined #nim
01:48:13*zacharycarter quit (Ping timeout: 264 seconds)
01:52:14*lritter quit (Ping timeout: 240 seconds)
01:53:10*lritter joined #nim
01:56:25*rnrwashere joined #nim
02:00:43*rnrwashere quit (Remote host closed the connection)
02:01:09FromDiscord<Varriount> leorize: Why? Is that a limitation of macros?
02:01:22leorizeyep, no apis for that
02:01:46leorizeso I guess I will have to wing it myself
02:02:13leorizestill annoying though, as I can't even check if typeclasses match
02:02:34*rnrwashere joined #nim
02:37:37*rnrwashere quit (Remote host closed the connection)
02:38:07*muffindrake quit (Ping timeout: 252 seconds)
02:40:10*muffindrake joined #nim
02:59:14*rnrwashere joined #nim
03:04:05*silvernode joined #nim
03:04:31*endragor joined #nim
03:19:54*silvernode quit (Ping timeout: 240 seconds)
03:39:24*rnrwashere quit (Remote host closed the connection)
03:41:31*lritter quit (Quit: Leaving)
03:43:54*zacharycarter joined #nim
03:47:09*waleee-cl quit (Quit: Connection closed for inactivity)
03:48:35*zacharycarter quit (Ping timeout: 260 seconds)
03:52:57*rnrwashere joined #nim
03:55:55FromGitter<gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e85624be26a9452ed3dd1d4]
03:56:30FromGitter<gogolxdong> tested online the regexp works , but here doesn't match anything.
03:59:56Yardanicowhat syntax did you test with?
03:59:58Yardaniconim uses PCRE
04:00:30rayman22201https://play.nim-lang.org/#ix=2gjl
04:00:39rayman22201You have to escape the `[` character
04:01:00rayman22201and you must use parenthesis to get capture groups
04:03:36FromGitter<gogolxdong> https://play.nim-lang.org/#ix=2gjm
04:04:13FromGitter<gogolxdong> gitter eats escape characters.
04:05:05FromGitter<gogolxdong> oh, yes, need paranthesis to capture. Thanks.
04:06:37*Guest5205 quit (Ping timeout: 265 seconds)
04:07:24*rockcavera quit (Remote host closed the connection)
04:12:23*dadada joined #nim
04:12:46*dadada is now known as Guest11637
04:36:36*Guest11637 quit (Ping timeout: 256 seconds)
04:39:35FromDiscord<Varriount> @Rika I'll be back on Mumble in a bit
04:42:26*dadada_ joined #nim
04:45:47*narimiran joined #nim
04:46:00*rnrwashere quit (Remote host closed the connection)
04:46:58*sz0 quit (Quit: Connection closed for inactivity)
05:05:35*dddddd quit (Ping timeout: 265 seconds)
05:05:51*sleepyqt_ joined #nim
05:06:09*dadada_ quit (Ping timeout: 250 seconds)
05:10:29*clemens3 quit (Ping timeout: 250 seconds)
05:12:28*dadada joined #nim
05:12:51*dadada is now known as Guest61356
05:15:45FromDiscord<Rika> axion: did you leave mumble?
05:17:05*clemens3 joined #nim
05:27:49*thomasross quit (Ping timeout: 264 seconds)
05:36:31*Guest61356 quit (Ping timeout: 265 seconds)
05:42:28*dadada_ joined #nim
05:44:09*zacharycarter joined #nim
05:45:49*kenran joined #nim
05:48:14*zacharycarter quit (Ping timeout: 240 seconds)
06:01:43*solitudesf joined #nim
06:06:29*dadada_ quit (Ping timeout: 265 seconds)
06:06:38*clemens3 quit (Ping timeout: 256 seconds)
06:12:22*dadada joined #nim
06:12:45*dadada is now known as Guest18456
06:14:24Zevvleorize: what was the npeg problem and was it solved?
06:20:45*clemens3 joined #nim
06:24:44leorize[m]Zevv: https://irclogs.nim-lang.org/01-04-2020.html#22:23:20
06:25:04leorize[m]just bad error message
06:25:10Zevvyeah, but that's just his error not what he tried to put in
06:25:17Zevvpatt("frame=") is perfectly ok
06:27:07Zevvnya, nevermind
06:36:17*Guest18456 quit (Ping timeout: 250 seconds)
06:38:27*oculux quit (Ping timeout: 250 seconds)
06:40:37*oculux joined #nim
06:42:28*dadada_ joined #nim
06:47:58*hax-scramper quit (Read error: Connection reset by peer)
06:48:15*hax-scramper joined #nim
06:52:53*hax-scramper quit (Ping timeout: 265 seconds)
06:53:40*hax-scramper joined #nim
07:00:00*gmpreussner quit (Quit: kthxbye)
07:00:08*hax-scramper quit (Ping timeout: 256 seconds)
07:00:48*hax-scramper joined #nim
07:04:48*gmpreussner joined #nim
07:06:25*dadada_ quit (Ping timeout: 265 seconds)
07:08:15*sz0 joined #nim
07:12:29*dadada joined #nim
07:12:54*dadada is now known as Guest91564
07:27:22*Esexe joined #nim
07:29:17*BitPuffin quit (Quit: killed)
07:29:18*GitterIntegratio quit (Quit: killed)
07:29:21*reversem3 quit (Quit: killed)
07:29:22*leorize[m] quit (Quit: killed)
07:29:23*k0mpjut0r quit (Quit: killed)
07:29:23*Demos[m] quit (Quit: killed)
07:29:24*unclechu quit (Quit: killed)
07:29:24*khanate[m]0 quit (Quit: killed)
07:29:25*salotz[m] quit (Quit: killed)
07:29:32*planetis[m] quit (Quit: killed)
07:29:32*lqdev[m] quit (Quit: killed)
07:29:34*vycb[m] quit (Quit: killed)
07:29:45*watzon quit (Quit: killed)
07:29:46*skrylar[m] quit (Quit: killed)
07:29:47*sendell[m] quit (Quit: killed)
07:36:19*Guest91564 quit (Ping timeout: 260 seconds)
07:37:38*Vladar joined #nim
07:38:19*ajaivioqa joined #nim
07:38:21ajaivioqa _____ ____ _ _ _____ _____ opal
07:38:22ajaivioqa | __ \ / __ \| \ | |/ ____|/ ____|
07:38:24ajaivioqa | | | | | | | \| | | __| (___
07:38:25ajaivioqa | | | | | | | . ` | | |_ |\___ \
07:38:27Yardanicooh no
07:38:27ajaivioqa | |__| | |__| | |\ | |__| |____) |
07:38:28ajaivioqa |_____/ \____/|_| \_|\_____|_____/
07:38:30*ajaivioqa left #nim (#nim)
07:38:35Yardanicothat was fast
07:41:31FromDiscord<Rika> wha is that
07:41:34FromDiscord<Rika> supposed to be
07:41:47FromDiscord<Rika> tfw discord's not monospace
07:42:30livcdRika: can you highlight me please
07:42:41*dadada_ joined #nim
07:42:47livcdis it bad that I have beer for breakfast?
07:43:24FromDiscord<Benumbed> In these screwed up times? No, you should actually switch to something harder
07:44:03livcdI dislike liquor
07:44:22*zacharycarter joined #nim
07:44:25livcdthe alcohol in the beer is just an icing
07:44:58FromDiscord<Rika> livcd highlight you? for what?
07:45:26*Otoneesk joined #nim
07:47:25livcdRika: to see if irssi highlights me
07:47:32livcdthrough that bridge
07:47:35Yardanicolivcd: hi
07:47:40Yardanico@livcd hi
07:48:37livcdYardanico: irc->irc works
07:48:57*zacharycarter quit (Ping timeout: 265 seconds)
07:54:52*PMunch joined #nim
07:56:19Otoneesk _____ ____ _ _ _____ _____ opal
07:56:21Otoneesk | __ \ / __ \| \ | |/ ____|/ ____|
07:56:22Otoneesk | | | | | | | \| | | __| (___
07:56:23Otoneesk | | | | | | | . ` | | |_ |\___ \
07:56:25Otoneesk | |__| | |__| | |\ | |__| |____) |
07:56:26Otoneesk |_____/ \____/|_| \_|\_____|_____/
07:56:28Otoneesklstanley Dingsbums subline qaisjp stratus siinus` bezwzgledny psymin cyphase ghoti pavlushka gardar jlu5 EpicKitty bashNinja WaveHusky Gopa mva PeGaSuS Otoneesk opal foamz petteri Nikky tugrik wim Furai yar Guest31560 hexa- hook54321 illu fredcy cwchristerw Thomas_Wolf matterbridger
07:56:29*Otoneesk left #nim (#nim)
07:57:18YardanicoI'm in 15+ channels on freenode (some of them are quite big) but #nim is the only one getting spammed rn, so the spammer is targeting nim specifically :O
07:57:20*salotz[m] joined #nim
07:57:27narimiranYardanico: not true
07:57:38livcdYardanico: maybe the other chans you need to be auth @ freenode
07:57:39narimiranit is in #neovim too
07:57:41Yardaniconarimiran: well, sorry, maybe it just spams in channels i'm not in
07:57:59livcdis this the internet version of graffiti?
07:58:35leorizeset +S and it should prevent clients without ssl from connecting
07:59:16leorizesee https://freenode.net/kb/answer/channelmodes
08:02:28FromDiscord<Rika> what does the opal part mean?
08:03:24leorizeit's just spam usernames to highlight them
08:04:10FromDiscord<Rika> discord users are immune!
08:05:47solitudesfyou cant see cool DONGS ascii art tho
08:06:02*dadada_ quit (Ping timeout: 246 seconds)
08:07:18leorizegiven how freenode now have a proper server-side spam filter, the spammer should be quieted soon
08:07:42FromDiscord<Rika> damn, i do wanna see the DONGS
08:12:33*dadada joined #nim
08:12:57*dadada is now known as Guest71447
08:14:02axionHmm. I just spent hours and hours trying to find the cause of very slow performance for one of my math libraries functions.
08:14:30axion@Rika, it wasn't []=
08:14:51axionnimprof only sees things from the perspective of Nim
08:15:15axionThe math module's tan function is calling out to a shared library instead of being inlined, and it slows things down A LOT
08:17:11axionSo much so that my Lisp version of the same function is about 4x faster...even with --gc:none
08:18:01*Demos[m] joined #nim
08:18:01*leorize[m] joined #nim
08:18:01*watzon joined #nim
08:18:01*khanate[m]0 joined #nim
08:18:01*GitterIntegratio joined #nim
08:18:01*unclechu joined #nim
08:18:01*reversem3 joined #nim
08:18:01*lqdev[m] joined #nim
08:18:01*BitPuffin joined #nim
08:18:01*k0mpjut0r joined #nim
08:18:07*vycb[m] joined #nim
08:18:09*skrylar[m] joined #nim
08:18:10*planetis[m] joined #nim
08:18:11*sendell[m] joined #nim
08:18:38leorizeaxion: you can help us by freeing Nim from using libc math :)
08:20:10axionI won't be much help there :)
08:20:16axionI don't think I can help. I gave up after months of trying to write vectorized instructions for them in Lisp
08:20:20*tane_ joined #nim
08:20:25axionmratsim would be your best bet me thinks
08:23:25FromDiscord<Rika> `The math module's tan function is calling out to a shared library instead of being inlined` | inlined to what?
08:24:01*Igraa joined #nim
08:24:24Igraa _____ ____ _ _ _____ _____ opal
08:24:26Igraa | __ \ / __ \| \ | |/ ____|/ ____|
08:24:27*Igraa quit (K-Lined)
08:24:39FromDiscord<Rika> oh no another one
08:24:39*ekreat joined #nim
08:24:41ekreat _____ ____ _ _ _____ _____ opal
08:24:42ekreat | __ \ / __ \| \ | |/ ____|/ ____|
08:24:43ekreat | | | | | | | \| | | __| (___
08:24:43leorizeyep, freenode mods enabled the ban hammer :P
08:24:45ekreat | | | | | | | . ` | | |_ |\___ \
08:24:49ekreat | |__| | |__| | |\ | |__| |____) |
08:24:50ekreat |_____/ \____/|_| \_|\_____|_____/
08:24:50ekreatmadprops EvergreenTree NimBot sepples ljoonal jxy tane_ idxu crem surma Zevv nisstyre stefantalpalaru_ dom96 Kaivo nickster rayman22201 BitPuffin Lord_Nightmare gangstacat kenran SunDwarf blackbeard420 sentreen_ Hotbees hsh go|dfish def- hpyc9 d10n-work l1x Cthalupa tribly npgm mwbrown dv^_^ mjsir911 r4vi sknebel FromGitter pbb jken snowolf arecaceae LyndsySimon evanj lain muffindrake qbradley revere uvegbot Araq deepend nuxdie disbot yumaikas Guest71447
08:24:51ekreatbozaloshtsh_ Igraa kitech1 kungtotte d10n njoseph wgetch FromDiscord lbart oz oprypin PMunch matti cornfeedhobo Ekho Esexe Yardanico Ckat sacredfrog vegai xace Cadey gsingh93 pydsigner unclechu Jesin endragor golechwi1 casaca federico3 sendell[m] skrylar[m] Jjp137 opal drewr jwm224 aEverr zama acidx jholland__ EastByte livcd leorize[m] chemist69 zedeus JStoker matlock sz0 sleepyqt_ Vladar skelett so disruptek khanate[m]0 watzon vycb[m] rmt nekits
08:24:53leorizemaybe not that effective yet
08:24:53ekreatgmpreussner reversem3 leorize clemens3 Amun_Ra literal Mister_Magister xet7 WilhelmVonWeiner solitudesf joshbaptiste planetis[m] beatmox cyraxjoe GaveUp vesper nikita` letto salotz[m] blueberrypie hax-scramper ldlework ehmry qwertfisch narimiran uu91 Demos[m] hoffentlichja koltrast zielmicha__ oculux k0mpjut0r shodan45 mal`` GitterIntegratio vqrs msmorgan CcxWrk euantor sagax junland lmariscal0641 lqdev[m] axion onionhammer shashlick
08:24:54*ekreat left #nim (#nim)
08:24:55Yardanicooh no
08:24:57FromDiscord<Rika> F to madprops
08:25:05Ckatrude
08:25:07FromDiscord<Rika> LUL tried to ping me
08:25:16narimirandom96: can you do something about the above stuff?
08:25:36*ekreat joined #nim
08:25:39ekreat _____ ____ _ _ _____ _____ opal
08:25:39ekreat | __ \ / __ \| \ | |/ ____|/ ____|
08:25:41ekreat | | | | | | | \| | | __| (___
08:25:41leorizedom96: set +S for the channel and it should bar them long enough
08:25:43ekreat | | | | | | | . ` | | |_ |\___ \
08:25:45ekreat | |__| | |__| | |\ | |__| |____) |
08:25:47ekreat |_____/ \____/|_| \_|\_____|_____/
08:25:47ekreathsh surma evanj clemens3 Esexe lmariscal0641 onionhammer cornfeedhobo crem hoffentlichja nekits gsingh93 nuxdie revere blackbeard420 Jesin kitech1 opal Yardanico muffindrake l1x sepples zedeus hax-scramper Mister_Magister oprypin jxy sz0 go|dfish livcd qbradley Hotbees blueberrypie gangstacat disruptek matti vqrs lain zielmicha__ xace acidx cyraxjoe kenran jwm224 so uvegbot def- JStoker jken Araq vycb[m] khanate[m]0 dom96 euantor axion msmorgan NimBot
08:25:48ekreatljoonal sentreen_ EvergreenTree bozaloshtsh_ Jjp137 k0mpjut0r LyndsySimon disbot nickster sknebel xet7 EastByte chemist69 salotz[m] SunDwarf gmpreussner sendell[m] shashlick ehmry beatmox snowolf sacredfrog nikita` Lord_Nightmare leorize leorize[m] lbart PMunch FromGitter mwbrown Igraa GitterIntegratio endragor golechwi1 kungtotte njoseph tribly hpyc9 qwertfisch aEverr Demos[m] solitudesf drewr Cadey GaveUp Amun_Ra watzon rayman22201 sleepyqt_ Zevv
08:25:50ekreatshodan45 rmt npgm d10n-work idxu casaca federico3 literal Ekho Kaivo nisstyre vesper Ckat matlock d10n oz stefantalpalaru_ mal`` planetis[m] BitPuffin yumaikas pydsigner junland Guest71447 deepend dv^_^ FromDiscord r4vi ldlework skrylar[m] mjsir911 reversem3 unclechu WilhelmVonWeiner letto uu91 sagax arecaceae pbb lqdev[m] joshbaptiste jholland__ narimiran vegai CcxWrk zama koltrast madprops skelett tane_ Cthalupa wgetch oculux Vladar
08:25:55*ekreat left #nim (#nim)
08:26:12axionThe only real solution is to set the +r channel mode
08:26:27axionBut it would cut off probably a fair chunk of our users
08:26:29leorize+S forces SSL
08:26:29mattiUh oh.
08:26:32mattiBugger.
08:26:35Zevvaw, the trolls are locked in their caves and are bored as well
08:26:37*supakeen joined #nim
08:26:48FromDiscord<Rika> > FromDiscord
08:26:51FromDiscord<Rika> LMAOOOOOO
08:26:54mattiI don't even... why would you do such thing?
08:27:13leorizesometimes people are just bored
08:27:14Zevvwhy not? it beats staring at the walls
08:27:16mattiaxion: Zevv: We can ask Freenode staffer for help, should there be no +o person available at the moment.
08:27:19axion+S is worse than +r. It cuts off a lot of clients, like those connecting through a web gateway
08:27:22supakeenHola, I've been looking for the terminology in Nim for a IFNDEF so I can define some compile time stuff with -d.
08:27:29axionAt least with +r anyone identified can connect
08:27:33*dwdv joined #nim
08:27:43FromDiscord<Rika> supakeen: have you seen when statements?
08:27:44tane_it's an elaborate effort by the slack and microsoft teams marketing teams to get you off irc.. :)
08:28:01PMunchWell, he won't be coming back..
08:28:09supakeenI have seen when statements, those I want to use. Can I use those on possibly undefined symbols?
08:28:15leorizeurgh, they spammed /query on me
08:28:17ZevvPMunch: you didn't hurt him *too* much, did you?
08:28:19FromDiscord<Rika> what do you mean?
08:28:33FromDiscord<Rika> for flags? `when defined(flagname):`
08:28:34ZevvHaha, now I'm getting spammed in 20 privmsg windows
08:28:37tane_leorize, you can set some option for your user to forbid private messages
08:28:41PMunchFFS..
08:28:57Yardanicooh jesus my PMs
08:28:58FromDiscord<Rika> whyre there spambots now?
08:29:03FromDiscord<Rika> what caused this to happen xd
08:29:05Yardanico@Rika they come to freenode from time to time
08:29:13*aEverr quit (Quit: Leaving)
08:29:13leorizetane_: yea just did
08:29:14supakeenRika, that seems to be the one I want. I'd like to compile my program with say `-d:RHOST:127.0.0.1` and if that wasn't passed use a default RHOST in my program. :)
08:29:28mattiI am getting spammed at the moment, LOL.
08:29:35matti:D
08:29:43FromDiscord<Rika> disconnected my irc client from freenode now lol
08:29:45mattiOn query by the same bots.
08:29:50Yardanicomatti: me2
08:29:54FromDiscord<Rika> not using it right now so it doesnt matter
08:29:56leorize /mode +R <your nick>
08:31:03PMunchHmm, since they have * in their nick I can't whois them..
08:31:54*ekreat joined #nim
08:31:59leorize+b won't work on these spammers
08:32:01PMunchOr that might be something HexChat shows to distinguish them
08:32:09leorizePMunch: prep your /kick :P
08:32:15*ekreat quit (Remote host closed the connection)
08:32:24mattiI did +R for the time being. I will remove it later so users using Freenode web chat can still ask questions (since I often help with some other projects and not everyone registers when they just pop in to ask a question or two).
08:32:26ehmrylate april fools
08:32:30PMunchStrange, he connected from the same IP but wasn't banned..
08:32:34axionPMunch: just temporarily +r the channel mode. It won't affect people already here.
08:32:48leorizeyea but new users won't be able to get in
08:32:50PMunchAnd Zevv you make it sound like I sent the mob to his house or something :P
08:33:03axionThey will if they are registered with services.
08:34:14*Zevv quit (Quit: leaving)
08:34:18leorizelooks like freenode armed Sigyn up
08:34:27leorizeit should take care of the spam, hopefully
08:34:28*Zevv joined #nim
08:34:44FromDiscord<Rika> what did they do?
08:35:08leorizea server bot that detects and k-line spammers
08:36:21*Guest71447 quit (Ping timeout: 252 seconds)
08:37:09*Ayaeroe joined #nim
08:38:31*Ayaeroe quit (Killed (Sigyn (Spam is off topic on freenode.)))
08:38:59leorizeyep, it's working
08:39:52PMunchWhat is Sigyn?
08:40:06Yardanicohttps://github.com/freenode/Sigyn
08:40:06leorizean utility bot
08:40:21axionPMunch: /invite Sigyn
08:40:25leorizeit just k-lined a spammer before they can even post :)
08:40:35axionif you want her to take this spam in this channel into consideration
08:40:50PMunchInto consideration?
08:40:54leorize(and yes I'm crazy enough to keep join/part messages on)
08:41:14axionThe bot klines detected spam. If the spammer spams in here and not a channel she is monitoring, it won't be detected :)
08:42:03PMunchleorize, so am I, loads of fun during netsplits and Matrix issues :P
08:42:27PMunchHmm, says that the invites are reviewed by staff
08:42:37*dadada_ joined #nim
08:42:39leorizeI have a filter for netsplits :)
08:42:48leorizeprobably should roll one for matrix too :P
08:42:49PMunchAh, clever
08:46:53*abm joined #nim
08:47:37PMunchUgh, it's such a nice day today, I think it would actually be considered cruel and unusual punishment to not let prisoners go for a hike in the mountains..
08:48:06Esexelots of them are being set free
08:48:13*emery[m] joined #nim
08:49:00PMunchYeah I heard about that, to not have the prisons so over-crowded right?
08:49:06Zevvyeah, and they go back to IRC trolling right away!
08:49:12Zevvthey got locked up for a reason, you know
08:49:14PMunchHaha :P
08:52:24*couven92 joined #nim
08:53:09Yardanicowow, just cross-compiled a binary with --gc:arc (does two simple http requests and some shell commands) with a musl cross-compiler and libressl statically linked to arm (EABI5) on the PC
08:54:03Yardanicoused kaushalmodi's musl nimscript for reference on how to build libressl, and https://github.com/richfelker/musl-cross-make for making the cross-compiler toolchain for "arm-linux-musleabi"
08:54:13*Otra joined #nim
08:54:14PMunchCool!
08:54:15Otra _____ ____ _ _ _____ _____
08:54:17Otra | __ \ / __ \| \ | |/ ____|/ ____|
08:54:20Otra | | | | | | | \| | | __| (___
08:54:21Otra | | | | | | | . ` | | |_ |\___ \
08:54:23Otra | |__| | |__| | |\ | |__| |____) |
08:54:23supakeenIn the documentation here: https://nim-lang.org/docs/nimc.html it describes `-d:SYMBOL(:VAL)` however in this section on the same page: https://nim-lang.org/docs/nimc.html#compiler-usage-compile-time-symbols it describes it as `-d:x=y`. Which one is the correct one or do they both work? :)
08:54:25Otra |_____/ \____/|_| \_|\_____|_____/
08:54:27*Otra left #nim (#nim)
08:57:17PMunchsupakeen, they both seem to work
08:57:40PMunchhttp://ix.io/2gkn
08:58:03supakeenAh, right :)
08:58:38*otreeplae joined #nim
08:58:50otreeplae _____ ____ _ _ _____ _____
08:58:51otreeplae | __ \ / __ \| \ | |/ ____|/ ____|
08:58:53otreeplae | | | | | | | \| | | __| (___
08:58:54otreeplae | | | | | | | . ` | | |_ |\___ \
08:58:56otreeplae | |__| | |__| | |\ | |__| |____) |
08:58:57otreeplae |_____/ \____/|_| \_|\_____|_____/
08:58:59otreeplaexace nisstyre BitPuffin WilhelmVonWeiner golechwi1 EvergreenTree rmt Zevv Esexe nekits sacredfrog casaca reversem3 SunDwarf muffindrake kitech1 solitudesf sz0 snowolf kungtotte go|dfish qwertfisch Ckat planetis[m] d10n-work dom96 uu91 Hotbees Araq vegai stefantalpalaru_ nickster dv^_^ Lord_Nightmare vqrs lain clemens3 tribly opal axion Cthalupa kenran def- euantor nikita` vycb[m] jwm224 sagax narimiran letto uvegbot mal`` salotz[m] skelett hsh yumaikas
08:59:00otreeplaeshashlick leorize[m] acidx junland couven92 mjsir911 evanj hax-scramper Ekho cornfeedhobo literal sepples pbb sendell[m] NimBot Vladar skrylar[m] CcxWrk qbradley zama pydsigner surma ldlework gangstacat sleepyqt_ blackbeard420 nuxdie hpyc9 dwdv Demos[m] onionhammer disbot dadada_ federico3 shodan45 Amun_Ra blueberrypie njoseph EastByte lqdev[m] livcd gsingh93 lbart vesper GaveUp matti endragor d10n LyndsySimon mwbrown FromGitter GitterIntegratio bozaloshtsh_
08:59:02otreeplaeljoonal disruptek cyraxjoe Kaivo joshbaptiste k0mpjut0r idxu Cadey supakeen tane_ deepend so khanate[m]0 npgm abm zedeus jxy drewr sknebel rayman22201 leorize ehmry oz Yardanico revere arecaceae JStoker oprypin zielmicha__ lmariscal0641 emery[m] msmorgan Jjp137 crem oculux hoffentlichja koltrast sentreen_ PMunch wgetch FromDiscord r4vi madprops Jesin xet7 beatmox jken matlock Mister_Magister l1x otreeplae jholland__ watzon unclechu gmpreussner chemist69
08:59:05*otreeplae left #nim (#nim)
08:59:09*sz0 quit ()
08:59:28couven92wtf?
08:59:53*sz0 joined #nim
08:59:53dom96DONGS. My new band name.
09:00:09PMunchcouven92, there are spammers abound on Freenode today..
09:00:27*Ckat left #nim (#nim)
09:00:37supakeenA small quick followup is, is the { .*define } pragma necessary to overwrite through passing symbals with -d? :)
09:00:54couven92PMunch, well after that dong, now I am fully awake :)
09:01:05PMunchdom96, pretty sure a band like hat already exists
09:01:29dom96<clyybber> dom96: So you want better parallellism/concurrency? But you don't want static analysis and gc:arc?
09:01:30dom96yes
09:01:53dom96It's not that I don't want it, I don't think it's necessary for better parallelism/concurrency
09:02:03PMunchsupakeen, well it's how you tell the compiler that a define should be able to take a value
09:02:27PMunchcouven92, nothing like a big dong to get you up in the morning?
09:03:05couven92Actually more like a pling from my Computer when I suddenly get an IRC message :O
09:03:10supakeenPMunch: Great, that put me on the path to solve my things yay.
09:03:21rmtSo, probably the best way to block the botnet spammers is to require nickserv registration first before being allowed to post here.. that should be a channel mode.
09:03:54PMunchsupakeen, what exactly are you trying to do?
09:03:54dom96https://github.com/nim-lang/Nim/wiki/IRC-guidelines
09:04:00dom96This is why I wrote this up
09:04:05PMunchcouven92, mhm, sure
09:04:05FromDiscord<Rika> rmt, many people suggested that
09:04:26FromDiscord<Rika> i think the ops said they dont want that because it inhibits the new people
09:04:34dom96the thing is, I bet lots of people here are unregistered
09:04:37PMunchYeah I could throw on the +r flag now
09:04:46supakeenPMunch: I have a tiny application that takes some data from a redis queue and then forwards it to another machine through a HTTP request. I'd like to define some settings for this program at compile time such as the remote host(s) involved.
09:04:50PMunchWell as long as they are in already it shouldn't be an issue
09:05:05PMunchBut I agree that it shouldn't be set normally
09:05:06*sleepyqt joined #nim
09:05:07dom96what does +r do?
09:05:07supakeenWhich I've got working now, the missing thing I couldn't find was the .*define pragma to allow supplying values.
09:05:19PMunchRequire registration AFAIK
09:05:32rmtHm .. only +r, not voiceless unless-registered?
09:05:35PMunchHmm, I wonder if there is a way to see how many are registered..
09:05:56supakeenThe application gets built before deployment and configuration won't (isn't allowed to even) to change after deployment hence compile time.
09:06:04dom96it's better to quiet unregistered users
09:06:05PMunchrmt, I haven't looked at the flags TBH, someone earlier suggested +r with that description (I would obviously check before I set anything)
09:06:16*dadada_ quit (Ping timeout: 256 seconds)
09:06:17dom96and then set +z so mods can see those messages
09:06:30dom96that way if someone joins who isn't a spammers but genuinely asking a question we can respond
09:06:31supakeenPMunch: For #python we use +r with a redirect to ##python-unregistered which has explanation in the /topic about how to register.
09:06:55dom96*spammer
09:06:55PMunchYeah I think the #manjaro channel does something similar
09:06:57supakeenBut it is a hurdle for users, we just couldn't deal with the amount of spam we'd receive otherwise.
09:07:05PMunchBut it's quite annoying
09:07:16supakeenAnd we do have people asking -ops every now and then if they can't figure it out.
09:07:24PMunchsupakeen, yeah that sounds exactly like what *define is for :)
09:07:27*andinus joined #nim
09:07:47supakeenPMunch: Yes, works a charm first Nim in production in an hour or so then!
09:08:16PMunchNice!
09:10:11dom96Someone needs to update the topic :P
09:10:44Yardanicotoo much "nim-lang.org" in the topic lol :P
09:11:51PMunchHaha, woops
09:12:27*dadada joined #nim
09:12:50*dadada is now known as Guest65169
09:14:33FromGitter<Vindaar> does anyone know what decides whether a generated html file from nim doc will include the `dochack.js` script line?
09:15:47*sagax quit (Read error: Connection reset by peer)
09:16:48*skex joined #nim
09:16:58skex _____ ____ _ _ _____ _____
09:17:00skex | __ \ / __ \| \ | |/ ____|/ ____|
09:17:01skex | | | | | | | \| | | __| (___
09:17:03skex | | | | | | | . ` | | |_ |\___ \
09:17:04skex | |__| | |__| | |\ | |__| |____) |
09:17:06skex |_____/ \____/|_| \_|\_____|_____/
09:17:07skexnjoseph letto ehmry gangstacat stefantalpalaru_ l1x vycb[m] andinus dv^_^ Cadey d10n-work Esexe abm blackbeard420 rmt lmariscal0641 salotz[m] CcxWrk endragor skrylar[m] NimBot EvergreenTree sepples euantor Yardanico clemens3 ldlework sleepyqt_ bozaloshtsh_ dom96 rayman22201 qbradley Hotbees narimiran kitech1 sentreen_ go|dfish Demos[m] GaveUp Araq khanate[m]0 EastByte leorize[m] casaca literal uvegbot gsingh93 Zevv Guest65169 d10n supakeen shash
09:17:09skexcrem def- r4vi oculux planetis[m] Mister_Magister nuxdie lain golechwi1 zielmicha__ msmorgan joshbaptiste uu91 arecaceae GitterIntegratio Jesin hoffentlichja qwertfisch nickster oprypin surma so LyndsySimon madprops revere koltrast blueberrypie FromDiscord nekits solitudesf matlock vqrs xace sknebel nisstyre sacredfrog mal`` chemist69 lqdev[m] WilhelmVonWeiner JStoker jholland__ mjsir911 vegai kenran leorize sz0 dwdv watzon zama gmpreussner jke
09:17:10skexmuffindrake evanj pydsigner BitPuffin deepend hpyc9 jwm224 npgm reversem3 axion hsh Kaivo oz vesper FromGitter ljoonal PMunch livcd skelett emery[m] mwbrown junland Cthalupa beatmox nikita` Amun_Ra tribly cornfeedhobo SunDwarf pbb disruptek sendell[m] wgetch k0mpjut0r couven92 zedeus drewr Lord_Nightmare federico3 yumaikas tane_ Vladar kungtotte lbart cyraxjoe sleepyqt jxy skex matti Ekho acidx unclechu xet7 Jjp137 shodan45 idxu hax-scramper sno
09:17:12skexdisbot opal onionhammer
09:17:13*skex left #nim (#nim)
09:17:34Lord_Nightmarewho the hell...
09:17:36euantorGot to wonder what people get out of spamming like this...
09:17:36couven92oh for fucks sake!
09:17:43dom96right
09:17:50dom96I'm enabling quiet mode for unregistered users
09:18:00couven92euantor, some perverse satisfaction no doubt :O
09:18:01ljoonal👍
09:18:42FromDiscord<Rika> i really feel bad for you irc folk
09:19:17ldleworkIn Discord they just spam you privately.
09:19:32FromDiscord<Rika> ¯\_(ツ)_/¯
09:19:56FromDiscord<Rika> i got DMs from server members disabled in all servers i dont trust
09:20:03dom96hrm, I don't know why but setting +z on this channel doesn't work
09:20:11FromDiscord<Rika> so i barely ever get spam messages
09:22:19PMunchI like IRC for its openness though, no registration, just choose a nick and log on
09:23:33clemens3well, it is not that every other message on irc wins the nobel price..
09:24:19clemens3probably someone 10 years old discovered bots or something, we used to have to walk from door to door to annoy people..
09:24:38ldleworkI'm not sure what server trust has to do with anything. Any server can have a spammer come in and start DM'ing people. Even the servers you like, or whatever.
09:24:58PMunchYeah! Back when I was young we used to go around and ring doorbells and run away to annoy people!
09:25:05PMunchKids these days have it far too easy..
09:27:36*sleepyqt quit (Quit: Leaving)
09:29:13couven92I remember when I started a broadcast message loop on all computer in our CS lab at uni once. Was really annoying, every 10 seconds you'd get sudden random output in all your terminals :O
09:35:16*Ven`` joined #nim
09:36:15*Guest65169 quit (Ping timeout: 265 seconds)
09:36:20*krux02 joined #nim
09:42:30*dadada_ joined #nim
09:44:37*zacharycarter joined #nim
09:49:07*zacharycarter quit (Ping timeout: 250 seconds)
10:06:00*dadada_ quit (Ping timeout: 256 seconds)
10:12:25*dadada_ joined #nim
10:23:03dom96So, what's everybody working on these days?
10:23:47FromDiscord<mratsim> sleep quality? 🙂
10:23:52supakeenI am replacing some small single use Python scripts that forward data from a redis to another endpoint with Nim to save some memory in our VMs and it seems to be going well :)
10:24:00Yardanico@mratsim quite the opposite :P
10:24:24narimiranYardanico: sleep inequality?? :D :D
10:24:40supakeenAnd trying to figure out if Nim is a good fit (so far it is) and in what aspects it should be used.
10:28:19PMunchRight now I'm doing work stuff, using Nim as a plug-in to a DNS server to add EDNS information to queries. But when I'm not working I've got macroutils that I'm fixing up
10:28:30Yardaniconarimiran: broken sleep schedule :D
10:28:59PMunchNext project is probably either finishing my article series on multi-tasking in Nim, or writing a web-server framework thingy
10:29:38FromDiscord<mratsim> multi-tasking? Is it related to multi-threading?
10:30:23*xet7 quit (Remote host closed the connection)
10:31:24*xet7 joined #nim
10:31:49FromGitter<Vindaar> I'm fighting nim's dogen :(
10:31:52FromGitter<Vindaar> *docgen
10:32:07PMunchmulti-tasking as in a common term for both async and multi-threading
10:32:17PMunchBasically doing more than one thing "at the same time"
10:32:34PMunchVindaar, what's troubling you about that?
10:32:58FromGitter<Vindaar> I can't figure out why the whole dochack script line isn't included in some project, but works in others
10:32:59dom96supakeen, ooh nice
10:33:26dom96I'm doing work stuff too, eager to continue working on my game after the work day is finished
10:33:47dom96Working in the same space on "real work" and hobby work is proving very tiring though
10:35:05supakeenI am switching from living room to study to keep things separate.
10:35:59*dadada_ quit (Ping timeout: 260 seconds)
10:36:51FromDiscord<flywind> We are writing http server and network facilities.
10:36:54FromGitter<Vindaar> @PMunch: ok, now I think I *did* figure it out
10:37:03FromGitter<Vindaar> feeling rather stupid now :)
10:37:25*dddddd joined #nim
10:40:24PMunchdom96, yeah it's strange being done "at work" just to close a tab or two and open a different project..
10:40:52PMunchEspecially when you've got a proper setup like mine so working in different parts of the house would just be weird
10:41:09PMunchVindaar, what was the issue
10:41:36dom96yeah, I can't really work in the living room for longer than an hour or so
10:41:45dom96not having an extra monitor with mouse/keyboard sucks
10:42:16*sagax joined #nim
10:42:35*dadada joined #nim
10:42:58*dadada is now known as Guest79141
10:43:12supakeenMrm for me I have two workstations side by side in my study but it just feels too weird to move 1 metre to the right for 'personal' so I currently do that on the couch with my laptop.
10:43:16FromGitter<Vindaar> @PMunch: my first issue was that I had no idea `nimdoc.cfg` was a thing. Once I figured that out, I didn't understand from which paths those files were loaded. So I changed the compiler to print the paths. Once I did that I realized that arraymancer provides its own `nimdoc.cfg`, which simply overrode the nimdoc.cfg I put into my `~/.config`. So yeah
10:45:02dom96Vindaar: sounds to me like Nim's messages should make that more obvious
10:45:03PMunchdom96, I feel you, this is my workstation: https://uploads.peterme.net/setup.jpg
10:45:13Yardanicowow nice
10:46:19FromGitter<Vindaar> @dom96 that's the thing though. The message is there, just like for `config.nims` files etc. I'm just so used to seing "loaded from bla" that I wasn't paying attention :/
10:47:49FromDiscord<Rika> wish i had more than one monitor
10:47:50FromDiscord<Rika> lmao
10:47:58Yardanicobuy a old cheap one
10:48:02FromDiscord<Rika> > buy
10:48:18YardanicoI have first fullhd with a second 1280x1024 with an VGA->HDMI adapter
10:48:22FromDiscord<Rika> is it even possible to buy anything currently
10:48:22Yardanicothey're really cheap
10:48:25ldleworkuse a tiling window manager and make it easy to switch between workspaces
10:48:30Yardanicoyes, that too
10:48:45FromDiscord<Rika> switching workspace aint hard w/o a tiling wm
10:48:55FromDiscord<Rika> its a button for me on windows
10:48:56dom96Vindaar: ahh, so I would be tempted to say that Nim's noisy output is to blame but I'm sure Araq will disagree
10:49:14ldleworkwithout a twm, then each workspace multiplies manual arrangement work
10:49:33FromDiscord<Rika> the 2nd monitor would help me not switch though, also would be useful for streaming
10:49:40FromDiscord<Rika> manual arrangement work? what work
10:49:45FromDiscord<Rika> i dont have much of that
10:49:49ldleworkk
10:49:53*s4mu3lbk joined #nim
10:50:12FromDiscord<Rika> moving a window from another workspace is just another keybind aint it
10:50:20FromGitter<Vindaar> @dom96 I think it's a difficult choice to make. Between too little and too much output by default I mean. Both has problems, which all come down to human nature imo
10:50:28FromDiscord<Rika> i dont see how a tiling wm would fix that
10:51:15FromGitter<alehander92> guys
10:51:41PMunchRika, that's what everyone says until they've gotten used to a tiling WM :P
10:51:45FromGitter<alehander92> how should i test
10:51:48FromGitter<alehander92> sourcemap support?
10:52:13PMunchNone of my screens are actually full HD.. But I've got two more in the basement that I should switch them out for..
10:52:16FromGitter<alehander92> i imagine only providing an example already produced by my code sourcemap that seems relatively correct and checking if it still produce it
10:52:31FromDiscord<Rika> pmunch: i like my fancy looking windows thanks, unless you can recommend me a wm that comes w/ that out of the box
10:52:51PMunchFancy looking windows?
10:52:53FromGitter<alehander92> because otherwise i need to start a debugger and visit locations and this might be harder
10:52:56FromGitter<alehander92> but maybe thats ok
10:53:03FromGitter<alehander92> Araq ^ (testing sourcemap)
10:54:00PMunchRika, just wait until I've finished my Nim based WM, it will be a bit more beauty focused than most tiling WMs
10:54:47krux02PMunch, I just took a look at your workstation. But what do you use a calculator for when you are at a desktop?
10:56:06PMunchAre you talking about my HP-41C? That thing is just beautiful to look at :)
10:56:15krux02ok
10:56:35krux02At first I thought there were two calculators, but I guess you just prefer the numpad on the left
10:56:36PMunchTo the left of my keyboard is my numpad, it moves around a bit
10:56:54PMunchWell, currently it's to my right. And my mouse is below it
10:57:03krux02on my desk there is a Gameboy Color.
10:57:11PMunchSometimes its in the centre below my keyboard
10:57:22PMunchOoh, mine is currently in the bedroom
10:57:22krux02not this black and white technology from yesterday ;)
10:57:27krux02:P
10:57:51PMunchThat calculator isn't even a proper screen, it's a segment display :P
10:59:02PMunchhttps://lh3.googleusercontent.com/proxy/6gMlwZp-61iosLKaxz7Tjn4AFqifkzzdORRVyFMY8VWpIPKcCJAZGPBM4pgKdPNBuljVaPU1TSsLBeHSc4idN-4GLk12TBVUiPj6GNE1
10:59:08krux02yea, I still have my TI Voyage 200 from School. But I tried to convert to maxima for symbolic calculations.
10:59:44PMunchOh wow, that thing actually looks pretty neat
11:00:37krux02Yea, I think it is the last symbolic 8 bit calculator.
11:00:51krux02after that they had the nspire
11:01:06krux02with colors and arm processor
11:01:11PMunchI've got a Casio fx-9860GII that I got for the couple classes at uni that required plotting
11:01:56krux02does it have backlighting?
11:02:00PMunchNowadays I just use stacklang for my calculating needs :)
11:02:05PMunchThe Casio or the HP?
11:02:54FromGitter<alehander92> i cant believe people use so much calculators still
11:02:57FromGitter<alehander92> but it makes sense
11:03:04FromDiscord<Rika> i dont see why not
11:03:12FromGitter<alehander92> i am not even sure i learned the M stuff
11:03:24krux02no it doesn't make sense, not if you work at a Desktop computer with 1000x more computing power.
11:03:26FromGitter<alehander92> it was popular in local calculators IIRC
11:03:28PMunchFun fact, I never learnt how to use that either
11:03:43krux02it does make sense though if you work on paper.
11:03:46FromGitter<alehander92> it was some kind of memorization
11:04:03PMunchMy first calculator was the 41C, so I've pretty much always been using RPN calculators :P
11:04:09FromDiscord<Rika> it's easier to manipulate than a virtual calculator from my experience
11:04:11Araqtest test
11:04:14krux02I learned how to use my calculator. It came with a relly comprehensive manual.
11:04:19FromGitter<alehander92> yea, i think the value is in limitedness: sometimes its useful to have something that does exactly X, Y and Z
11:04:49PMunchkrux02, I recently found the manual for my HP-41C and started reading it. That thing is seriously impressive
11:04:53PMunchFully programmable
11:05:04PMunchOne thing I carried over to stacklang (although it works completely differently)
11:05:18krux02But if you wait minutes for shitty 3D plots to be prepared, and that in front of a desktop computer, it really isn't appealing.
11:05:35PMunchAnd having the possibility to program my own little functions in the calculator is great!
11:05:46PMunchI really need to port it to Android though..
11:05:49krux02Then I prefer to learn the next best symbolic calculator program for desktop and get instant plotting instead with much better picture quality.
11:06:14PMunchI don't really make graphs and such all that much..
11:06:19krux02What I like about the voyage 200 is how nicely everything is integrated.
11:06:19*Guest79141 quit (Ping timeout: 260 seconds)
11:06:38krux02Modern desktop computers isolate everything for security reasons.
11:06:46krux02That it hurst usability.
11:06:49PMunchOnly thing I do is plots, and to create those I just have whatever program I'm writing spit out a dot file :P
11:06:50krux02hurts
11:07:28krux02well I used to solve mathematical equations.
11:08:11krux02some stuff I still do on pater, just to understand what I am actually doing.
11:08:21krux02a calculator doesn't replace thinking.
11:12:26*dadada_ joined #nim
11:13:18FromGitter<sealmove> guys, https://play.nim-lang.org/#ix=2gl6
11:13:54FromGitter<sealmove> I am generating such assignments so I need `x: int64 = -9223372036854775808` to work
11:14:27FromGitter<sealmove> but Nim sees it as `-(9223372036854775808)` which doesn't work because the name is out of range :(
11:14:36FromGitter<sealmove> any ideas?
11:14:59FromDiscord<Rika> big brain move -9223372036854775807 - 1
11:15:25FromGitter<sealmove> yeah but I generate them automatically, so need to get rid of special case
11:16:32krux02sealmove: I tried generating newLit(low(int64)) and it works without problems.
11:16:37krux02no tricks required.
11:17:02FromGitter<sealmove> but you have to test the number each time and see if it's the lowest possible value
11:17:23krux02are you generating text?
11:17:28FromGitter<sealmove> yes :(
11:17:31krux02Why, don't you use a macro?
11:17:40FromGitter<sealmove> because I am not doing the generating in Nim
11:17:54FromGitter<sealmove> (believe me, I wish I was)
11:18:36FromGitter<alehander92> hm, how are you doing it
11:19:12krux02sealmove: btw that literal doesn't work in C either
11:19:19PMunchHuh, that is an unfortunate limitation
11:19:52krux02The Nim compiler also had to do the workaround
11:20:06PMunchI mean you can throw a "when compiles: else: low(int64)" in there..
11:20:16PMunchAnd hope that you never generate anything else bad :P
11:20:30FromGitter<sealmove> haha, I see...
11:21:29krux02sealmove: Just test for for -9223372036854775808 and don't generate it as a literal.
11:22:35krux02if x == -9223372036854775808: write("(-9223372036854775807-1)") else: write(x)
11:22:48krux02that is how the Nim compiler works around the same limitation in C
11:23:15FromGitter<sealmove> krux02 thanks a lot
11:24:07krux02np
11:25:00PMunchHmm, trying to port stacklang to Android will probably just make me wish for my GUI framework again..
11:26:34krux02sealmove: but you are right, nim could emit negative integer literals in the parser.
11:28:23krux02Nim parses -1 as (Prefix (Ident "-") (IntLit 1))
11:28:34krux02but Nim has negative integer literals as well
11:28:54krux02so -1 could as well be parsed as (IntLit -1) and therefore overcome this limitation.
11:30:21PMunchZevv, have you done any more work on Nim on Arduino?
11:31:27FromGitter<alehander92> guys how far away is IC
11:33:16*waleee-cl joined #nim
11:33:44*Zevv quit (Quit: leaving)
11:33:57*Zevv joined #nim
11:34:02*Zevv left #nim (#nim)
11:34:02krux02alehander92: as far as I know, nobody is working on it.
11:34:17FromGitter<alehander92> ah, i'd love to see it
11:34:20krux02but there is something in the compiler that has bugs.
11:34:26FromGitter<alehander92> i admit not a top priority
11:35:04FromGitter<alehander92> you mean current IC has bugs?
11:38:26FromDiscord<clyybber> Its simply not finished yet
11:44:52*zacharycarter joined #nim
11:45:58*Esexe quit (K-Lined)
11:49:39*zacharycarter quit (Ping timeout: 265 seconds)
11:54:49Araqwhere in the spec are these "negative integer literals"
11:57:20*xet7 quit (Remote host closed the connection)
11:59:13krux02Araq, they are not in the spec. But they do exist in the language.
11:59:32krux02or maybe they are, didn't read it for quite a while.
12:00:15Araqthey are neither in the spec nor in the language
12:00:48Araqit's as you say, -10 is unary minus followed by 10
12:01:52Araqproducing the edge case for low(int64), I considered changing the spec and implementation but then -1 is not the same as - #[ ]# 1
12:02:46Araqthat might not be so bad but -9223372036854775808 is code obfuscation, instead use low(int64)
12:04:08*xet7 joined #nim
12:06:02*supakeen quit (Quit: WeeChat 1.9.1)
12:06:35krux02Araq: negative integer literals are in the language, did you ever look what the ``newLit(-1)`` produces?
12:06:48*supakeen joined #nim
12:06:55krux02it is a single literal node with a negative value.
12:07:57*rockcavera joined #nim
12:09:23Araqit produces a value.
12:09:31Araqnot a literal.
12:09:49Araqyou simply don't even know the proper terms
12:09:59krux02echo newLit(low(int64)).repr
12:10:05krux02-9223372036854775808'i64
12:10:10krux02which isn't valid Nim code.
12:10:49krux02(Int64Lit -9223372036854775808) if you prefer that representation
12:10:56*Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:11:27krux02sorry, I just assumed that if the node kind says "Lit" it stands for literal.
12:12:20Araqit does stand for 'Literal' but it's not a literal on the lexical level
12:12:44Araqso arguably I don't know the terms either and nkIntLit is misnamed
12:12:57krux02great
12:13:32Araqbut I was talking about the lexer and 'repr' doesn't always produce correct Nim code anyway
12:14:27krux02The lexer doesn't need to be changed.
12:14:32krux02I think
12:15:39krux02If the parser finds a - token followed by a literal token, it can join them to a single literal (sorry I continue to use that term)
12:16:22Araqthat's harder to implement though and not parsable with LL(1)
12:16:31FromDiscord<clyybber> IMO `-` being an operator is a lot 'cleaner'
12:16:41Araqit's much easier to change the lexer and the spec
12:17:20FromDiscord<clyybber> What problem are we trying to solve?
12:17:32krux02clyybber: Don't worry - will be a valid operator in the future as well.
12:18:09FromDiscord<clyybber> Oh, is it that -128 is a valid int but -(128) isn't because it only goes to 127?
12:18:16krux02clyybber: -9223372036854775808'i64 isn't valid nim code
12:19:15krux02well, with the proposed change, -9223372036854775808'i64 would be valid nim code, just -(9223372036854775808'i64) would stay invalid.
12:19:28krux02and the later one is what is currently parsed.
12:19:30FromDiscord<clyybber> Int literal is its own type right?
12:19:32AraqINCONSISTENT! special case! bugs!
12:19:52FromDiscord<clyybber> So we could simply lift range restrictions of literals
12:20:15FromDiscord<clyybber> And 'range check' when its actually 'converted' to an int
12:20:17krux02clyybber: well a bit more complicated, every integer literal is a different type.
12:20:31FromDiscord<clyybber> That way we could also enable int128 literals
12:20:54krux02Araq, ctf o.O
12:20:59krux02Araq, wtf o.O
12:21:22Araqkrux02, I'm not serious
12:22:14krux02And you should be aware this is just a discussion on how -9223372036854775808'i64 could become valid Nim code. Because this is something people have hit several times.
12:22:24krux02And yes C has the same limitation. I know.
12:22:34*Ven`` joined #nim
12:22:36krux02But that copying bad design isn't good design.
12:22:54*dadada_ quit (Ping timeout: 256 seconds)
12:23:12Araqkrux02, completely agree, so what's the good design
12:23:22AraqI would change the spec and the lexer
12:24:06Araqthen -1 is not the same as -(1) but so what
12:24:10*clyybber joined #nim
12:24:19krux02-1 and -(1) is already not the same
12:24:21FromDiscord<clyybber> What about my suggestion?
12:24:27krux02they produce different ASTs
12:24:28*dadada joined #nim
12:24:37krux02one has a nnkPar in it.
12:24:51*dadada is now known as Guest53797
12:24:58FromDiscord<clyybber> semantically the same, while not syntactically..
12:25:50Araqkrux02, yeah but many people use Nim without its macro system and so don't care about nkPar(...)
12:26:02FromDiscord<clyybber> So when you have IntLiteral as a type (we do, right?) that behaves like `static int` you could have a `-` defined on that.
12:26:27Araqclyybber, by the time you do this it's too late
12:26:41FromDiscord<clyybber> Why?
12:26:48Araqand the number was stored inside an int64 somewhere in the compiler
12:27:04clyybberWe could use Int128 no?
12:27:05Araqand the positive number doesn't fit in an int64
12:27:10krux02clyybber: the integer literal type is used for static bounds checking.
12:27:14Araqthat's true
12:27:51krux02is it possible to have overloads on integer literal types, I never tried to do that, never felt like doing it.
12:27:53clyybberkrux02: Exactly. And what I would do is delay static bounds checking until the conversion from IntLiteral to the respective int type
12:27:59clyybberThats already done I think
12:28:19AraqI don't see how you can do it unless you patch PNode to contain an int128
12:28:35clyybberYeah, PNode must be patched
12:28:50Araqwe could really just leave the literals as *strings* though
12:29:02clyybberYeah thats an option too
12:29:04Araqand evaluate them later. somehow
12:29:51krux02That would be a really disruptive change though.
12:30:00clyybberYou could make it transparent
12:31:25Araqparsing them in the lexer is a hack really, nimpretty needs to extract the numbers back from the original source code
12:31:49krux02why would you need to parse them in the lexter?
12:31:54Araqas 1000 loses information over 1_000'i32
12:32:20clyybberstrings really seem like the most sane option here.
12:32:42krux02sorry, but I am not a fan of string literals for integers.
12:32:50clyybberNot string literals
12:33:00clyybberJust that we store them as strings in the PNode
12:33:08krux02yea, exactly that
12:33:10krux02not a fan
12:33:12krux02not convinced
12:33:56krux02A lot of code is affected. Costs are unclear.
12:34:09krux02I have a feeling it is very expensive.
12:34:09Araqbefore we need to "convince" you, we need to figure out if it could actually work at all
12:34:11clyybbernimpretty, arbitrarily big custom int literals, fixing the -128 issue
12:35:03clyybberThe only real hurdle here would be backwards compatibility in macros
12:35:08Araqin the macro system we already have an 'intVal' accessor, we can do the parsing in there
12:35:20clyybberNice
12:35:33krux02what about the lexer, what if the lexer takes -1 as a sigle token?
12:35:39clyybberIt doesn't
12:35:59krux02that was a change proposal
12:36:06krux02so that it does take -1 as a single token
12:36:14Araqkrux02, the lexer change would work and is cheap
12:36:23krux02yes
12:36:26clyybberBut that doesn't solve as many "problems" as the string approach would
12:36:46Araqbut with "literals as strings" we could tackle the bignum problem
12:36:52clyybberexactly
12:37:04Araqcurrently you need to write "122332..." for bignum literals
12:37:16Araq(with the quotes)
12:38:05krux02I have a feeling that this string instead of int in the Node is a can of worms.
12:38:20krux02it changes too much
12:38:29clyybbereverything is a can of worms until you open the can and discover its a can of gems :p
12:38:55clyybberTheres always worms in the can if you can't look inside it.
12:39:00clyybberschroedingers worm
12:39:02Araqfwiw nkIntLit is used in the compiler 131 times, it's quite a change
12:39:14krux02ok I agree that bignum literals are a problem. But they are a different problem.
12:39:19clyybberNo
12:39:24clyybberThey are exactly the same problem
12:39:41clyybberOr at least they can be solved with the same solution
12:40:34krux02I don't think they can be solved with the same solution.
12:41:03clyybberCan you give actual arguments? I showed how it would solve it.
12:41:31Araqyeah ok, so what. can you complain about the solution when we have one? how exactly is "let's not even think about it" a healthy attitude towards anything
12:42:07Araqguess what, I too, can foresee lots of problems.
12:42:43krux02ok
12:44:48Araqhow about this:
12:45:19AraqnkStrLit..nkTripleStrLit # previously in Nim v1
12:45:32AraqnkStrLit..nkBigNumLit # Nim v1.x
12:45:55Araqthe lexer turns literals that are "too big" into a tkBigNum token
12:46:17Araqand the parser turns it into a nkBigNumLit node
12:46:21clyybberWhy not turn all literals into BigNum tokens then?
12:46:34Araqbackwards compatibility :-)
12:46:52Araqplus we don't have to patch the compiler code everywhere
12:47:04clyybberHmm
12:47:18clyybberI think I'm gonna try it
12:47:25Araqlol
12:47:33Araqwrite an RFC first ;-)
12:47:55clyybberI want to try doing it transparently
12:47:59FromGitter<sealmove> Supporting BigNum literals like that would be super awesome addition to the language :)
12:48:13clyybberI'm gonna hack a prototype up first, then write an RFC, deal?
12:49:24*zacharycarter joined #nim
12:50:06Araqclyybber, deal but without an accepted RFC it won't get merged
12:50:33Araqand beware of AST kind additions, they break bootstrapping, remember?
12:50:45clyybberyeah
12:50:54Araqunless you add the enum value at the end of the enum
12:58:15shashlickAraq: I had an interesting idea, since I already pull in the compiler code into nimterop, is it possible to map compiled procs within the binary to calls made in code that nimterop would compile
12:59:06*luis_ joined #nim
12:59:13*Vladar quit (Quit: Leaving)
12:59:45shashlickSo instead of running some operations at compile time and calling the toast binary in the vm using staticExec, everything would be compiled and run at runtime with toast as the front end
13:03:29*natrys joined #nim
13:04:33*ldlework left #nim ("WeeChat 2.5")
13:05:03*opal quit (Ping timeout: 240 seconds)
13:07:50FromGitter<alehander92> Araq
13:08:03shashlickThat might still require spawning gcc, so maybe toast should use compiler api to start a vm but instead of the vm spawning staticExec calls to toast, calls to nimterop procs would get mapped to stuff that was already compiled into the toast binary
13:08:47FromGitter<alehander92> should i use p.options or p.config.options
13:09:13FromGitter<alehander92> and should i include lineDir in conf.options or in both conf.options and globalOptions
13:09:29shashlickAraq: so the question is - can the vm compiled into toast be made to call code compiled into toast
13:09:39FromGitter<alehander92> ah ok i cant put it in global, so in this case
13:09:58FromGitter<alehander92> i say it because there was a bug in `lineDir`
13:10:09clyybbershashlick: Sounds like you want to use the registerCallback mechanism
13:10:37FromGitter<alehander92> because it checked p.options but for me it seems it worked only with p.config.options in some cases
13:10:50FromGitter<alehander92> but not sure if it's just a wrong setup of options
13:10:51Araqshashlick, yeah what clyybber said
13:10:58*liblq-dev joined #nim
13:12:09shashlickclyybber: yes but can I do that without editing Nim compiler code - i.e. the callbacks are still in my codebase
13:12:25clyybberYeah
13:13:19shashlickOk will be another big change but will avoid living on the edge with Nim compiler and static exec
13:13:22clyybbershashlick: Look at compiler/vmops.nim
13:13:46shashlickMaybe the wrapper gen code can eventually be made a part of Nim proper
13:13:49clyybberBe aware that you must not make mistakes, as its using UncheckedArray for passing the arguments around :p
13:14:10clyybberSo you have to check the arity of your callbacks yourself
13:14:21Araqnew in version 1.2 :P (but it was unchecked before I think)
13:14:30clyybberYeah :D
13:15:04shashlickOk I'll experiment with that, thanks
13:15:53shashlickBut do you think you'd be open to a tree-sitter dependency to add the ability to natively wrap code within the vm
13:16:06Araqhardly :-)
13:16:31Araqbut we can always extend the compiler API with yet more callbacks, see DrNim
13:16:58*tungki joined #nim
13:17:04shashlickBut it requires having to compile in the full compiler into these tools
13:17:56shashlickPerhaps having core Nim as a shared library that can be pulled in instead
13:18:22shashlickThat nim.exe also loads
13:18:27clyybberAraq: Do you think we should allow 123456789'i128 ? Or in general 'iX / 'uX suffixes?
13:19:02clyybberHmm, I guess we should
13:19:12clyybberWhen they are not parsed by us/the compiler
13:19:22Araqshashlick, don't worry about it
13:19:27Araqit's under 4MB
13:19:50*opal joined #nim
13:20:04AraqDrNim pulls in Z3, that's 30MB. the alternative is to use a DLL which only works on Windows
13:23:34FromDiscord<Varriount> I wonder why Z3 is 30 MB - surely that's not all machine code
13:24:31shashlickIt's not the size, it's time to compile all this but not something that needs solving immediately
13:25:16shashlickNim, nimfind, nimsuggest, nimgrep all build portions of the compiler
13:25:32FromGitter<alehander92> wow treesitter + treesitter-ruby dependency can mean we can compile ruby :D
13:25:32shashlickWhen I removed Nim from nimble, compilation was much faster
13:25:33*endragor quit (Read error: Connection reset by peer)
13:25:35*luis_ quit (Quit: luis_)
13:25:37FromGitter<alehander92> just kidding of course
13:25:50*andinus quit (Remote host closed the connection)
13:25:59*luis_ joined #nim
13:25:59FromGitter<muraray> am trying to return a map a postgres data, any idea?
13:26:04FromGitter<alehander92> but yeah depending on the compiler sometimes might slow down a compilation
13:26:34FromGitter<alehander92> @muraray like a dict? which module do you use
13:26:47FromGitter<muraray> tuples
13:27:07shashlickAnyway, if there's no interest to add wrapping directly into the vm, no real need to make it part of the repo
13:27:13FromGitter<alehander92> hm, what are you trying: i dont know that module well
13:27:42Araqshashlick, I don't understand
13:27:52FromGitter<muraray> me neither, lol am just start nim today
13:28:07Araqwhat we add to the compiler needs to be compiled if you import the compiler as a library
13:28:24FromDiscord<Rika> Muraray, can you elaborate more!
13:28:28Araqso do you propose to add feature X so that you can instead run nim.exe?
13:28:32FromDiscord<Rika> That's supposed to be a question marl
13:29:21shashlickAraq: if I can make nimterop do all wrapping in the vm, it could eventually be part of the nim compiler proper like in zig instead of a separate tool
13:30:07*luis_ quit (Client Quit)
13:30:21clyybberEh
13:30:24FromGitter<muraray> am using jester library to render this ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5e85e8f001c85847b2cf33b0]
13:30:36*luis_ joined #nim
13:30:58FromGitter<muraray> but no resp, seems like i may need to map/cast the data into a json object
13:31:15shashlickThe code today is generating an AST which could directly be consumed instead of requiring a text representation that's recompiled again
13:31:44clyybberSounds like you actually want macros..
13:31:54clyybberBecause those are the way to feed the compiler AST
13:31:59PMunchMacros!
13:32:00Araqclyybber, macros don't parse C code though
13:32:14clyybberBut they could call code that does
13:32:40*evanj quit (Quit: WeeChat 2.7.1)
13:32:58Araqshashlick, I don't like this at all, I want wrappers that are platform independent...
13:33:28FromDiscord<Recruit_main707> macros can use emit (if that has something to do with the issue)
13:33:31Araqwe discussed back and forth and in the end I long for wrappers that e.g. use 'ptr UncheckedArray[T]' instead of 'ptr T'
13:33:47Araqand we will never get there by automatic C code imports
13:34:23Araqwrappers are not just an annoying implementation detail that you want to avoid like the plague, wrappers can add value
13:34:31shashlickAraq: since we are "compiling" nim code when running nim.exe, why do the wrappers have to be platform independent - they are becoming dependent right there
13:35:00*andinus joined #nim
13:35:10shashlickthis is an old debate though
13:35:13clyybberBut why do it this way at all
13:35:14Araqwell previously you ran the C processor before looking at the C code. that's not what c2nim does and it's not what I like
13:35:25clyybberWhy not use c2nim and create wrappers that can be nimified
13:35:31FromGitter<alehander92> well isn't it possible to have both: quick and easy c imports
13:35:34FromGitter<alehander92> for prototyping
13:35:38FromGitter<alehander92> and then quality nim wrappers
13:35:53FromGitter<alehander92> the same way people can use jsffi more dynamically and later type well javascript libs
13:35:54clyybberYeah it is, but don't put it into the compiler I would say
13:36:07clyybbershashlick: Why can't you call nimterop from macros?
13:36:08shashlickit doesn't have to be, it works fine the way it is today
13:36:12shashlickbut this is a thought experiment
13:36:25FromGitter<alehander92> @murarray sorry, what is the problem with `resp` !
13:36:29shashlickclyybber: nimterop depends on tree-sitter which is a C library
13:36:31FromGitter<alehander92> does it lead to an error
13:36:35shashlickFFI sin't available at compile time
13:36:43FromGitter<alehander92> @muraray * ^
13:36:47shashlickso it is built into a separate tool that gets called via macros at compile time
13:36:51Araqalehander92: but who wants to actually *use* these quick&dirty wrappers.
13:36:52shashlicksee cimport.nim
13:37:15shashlickeveryone has to build on top of wrappers since the C API is a C API
13:37:21AraqI might as well use .emit: "foobar(&a, 20)" instead then
13:37:26FromGitter<alehander92> Araq well its useful in the javascript backend (its a bit different because there you can just do dynamic `.` though)
13:37:27clyybbershashlick: Ah, so you already do that? Call toast in macros?
13:37:29FromGitter<muraray> @alehander92 no problem with the resp method (works like a charm for normal), i don't know how to parse the db records into json
13:37:43shashlickclyybber - you can use toast on the CLI or via macros - i support both ways
13:37:43FromGitter<alehander92> ah you want to say to generate json!
13:38:29clyybbershashlick: How can I make nimterop generate a self contained platform independent wrapper file like c2nim does?
13:38:32Araqalehander92: nothing in nimterop mentions "it's for prototyping" either.
13:38:47shashlickpoint i'm making is that anyone who wants to use a C lib has to know how that C lib works
13:38:53shashlickyou cannot avoid that fact
13:38:57FromGitter<alehander92> Araq yeah sorry i thought we're talking about an automatic c file import on compile time
13:39:04Araqshashlick, but you can!
13:39:14FromGitter<alehander92> i mentioned that this seems ok sometimes, but yeah didnt mean nimterop
13:39:15Araqjust give them a high quality wrapper
13:39:17shashlickanyone who is making a Nim layer on top of it for end users will still need to interface with it
13:39:25clyybberYeah, but thats one person
13:39:29clyybbervs the many users
13:39:41FromGitter<alehander92> @muraray so you need to just use some json method to generate json
13:39:44Araqbut the Nim layer would be built on top of sand
13:40:01FromGitter<muraray> @alehander92 Thanks for the prompt response, seems like you guys busy. ⏎ let me figure out myself (so I can also get familiarize with nim docs)
13:40:05FromGitter<alehander92> e.g. you can import json and do pretty(%(variable))
13:40:07shashlickso why is there so much value in a raw C wrapper being checked into your code
13:40:19shashlickhow is it any different from the source C file
13:40:22FromGitter<muraray> @alehander92 noted
13:40:37*solitudesf- joined #nim
13:40:42clyybbershashlick: Its nimified
13:40:46FromGitter<alehander92> @muraray no, it's always ok to ask: so you do this ,you can also use https://github.com/status-im/nim-json-serialization if for some reason the stdlib json is limited for you
13:40:57*solitudesf quit (Ping timeout: 250 seconds)
13:40:58FromGitter<alehander92> but i think stdlib should be good for now
13:41:10shashlickclyybber: it isn't - that's the point - the layer that nimterop offers is the ability to call C from Nim
13:41:24clyybberYes, but manual wrappers will always beat it
13:41:25FromGitter<alehander92> `%` turns a expression to JsonNode, `pretty` turns json to string
13:41:34shashlickthe ability to make it easy for Nim users - using var X or other stuff has to be hand written (today)
13:41:42shashlickwhy do both things have to be one
13:41:53FromGitter<alehander92> you can also just use `$` which turns it into text on one line
13:42:09FromGitter<muraray> @alehander92 yeah i just found out, thanks for politeness will take a look at the library as well
13:42:13shashlickand it doesn't mean that 100% of the automated C wrapper is not useful
13:42:13clyybbershashlick: You only have to handwrite once.
13:42:21clyybberI understand the prupose of nimterop
13:42:27clyybberAutomating wrapper generating
13:42:34shashlickmaintenance is not cheap
13:42:35FromGitter<alehander92> but again, you can have both: in the javascrpt backend one can both import directly a lib and just use it directly and also write down annotations
13:42:42FromGitter<alehander92> we have a precedent
13:42:45shashlicklibcurl wrapper is missing many things for example
13:42:55FromGitter<alehander92> i agree that it might lead to less quality wrappers if we are a bit lazy tho
13:43:03*solitudesf- is now known as solitudesf
13:43:23FromGitter<alehander92> but quality wrappers require a lot of maintenance: they require good dsl-s
13:43:31FromGitter<alehander92> this is not something that can be fully automated anyway
13:43:37clyybberExactly
13:43:46clyybberIt can be helped by c2nim and nimterop
13:44:08clyybberBut I think the advantage of c2nim is that I can look at the generated code afterwards and tweak it to my liking
13:44:16FromGitter<alehander92> thats why those are two different things: you can have a quality wrapper helped by a tool X and also a way to just import a 70% quality version when you dont have time to do it
13:44:27shashlickthat's my point
13:44:38Araqshashlick, "maintenance is not cheap" for your way either, you simply pretend that the install will work on my Linux Power Distro 4K with MuslimC because there is zero chance of testing it for all combinations
13:45:31Araqin fact, that's exactly what happened to one user of the GTK3 wrapper which also uses your approach
13:45:44shashlickit is nothing different with a hand-written wrapper
13:45:56shashlickthere's no guarantee that it will work everywhere without actual testing
13:46:14Araqit's very different with a hand-written wrapper
13:46:34Araqfirst of all, it's Nim code that isn't fragile as it exists in source code form
13:46:53AraqI can read it, I can compare sizeof()s when it comes down to it
13:47:14AraqI can checkout Nim version 1.0 to see if the Nim code compiles with 1.0 if 1.2 fails
13:47:33clyybberI can also do fire and forget
13:47:38Araqwith your way I need to checkout nimterop version X, C code version Y and Nim compiler version Z
13:47:51Araqit's a much more complex setup
13:47:57Araqand it will bite back.
13:48:57shashlickit is just not scalable - there's thousands of libraries that are not accessible
13:49:17FromGitter<alehander92> @muraray no problem you're welcome
13:49:21clyybberof which thousands are not needed
13:49:24Araqit's the approach taken by Ruby, Python, Rust, ...
13:49:40Araqit scales well enough for them
13:49:52clyybberWith time we build our own ecosystem
13:50:14FromGitter<alehander92> but cant we do now
13:50:27shashlickwe barely have resources to manage the core ecosystem right now
13:50:28FromGitter<alehander92> c2nim on a randomlibrary and just try to use the output
13:50:42shashlickhaving a perfect hand-written solution for everything is not practical today
13:50:43FromGitter<alehander92> after all if there is tooling that can do it automatically
13:50:48FromGitter<alehander92> why cant it be just outside the compiler
13:50:53FromGitter<alehander92> if the core team doesnt want it in
13:51:10shashlickthat's not an issue - it exists today - i am not forcing it to be part of the compiler
13:51:27FromGitter<alehander92> well, what's the discussion about, sorry :D
13:51:59*s4mu3lbk quit (Ping timeout: 258 seconds)
13:52:02clyybberabout semi-manual wrapping ala c2nim vs fully automatic via nimterop
13:52:15shashlickbut expecting the community to hand write wrappers because they aren't fragile when nim compiler is moving so fast that no one cares about a build from 2 years ago doesn't add up
13:52:23clyybberI for one couldn't get nimph to build without nimble
13:52:27clyybberBecause of nimterop
13:52:46FromGitter<alehander92> i see, so its about if the community should use nimterop?
13:52:53Araqshashlick, that only means we need to add more stuff to "important packages"
13:53:06Araqand be better at not breaking wrapper code
13:53:48shashlickwrapper code isn't a big deal at all in my opinion - there's a million other things the compiler does
13:54:04Araqand I don't expect them to "hand write wrappers"
13:54:10AraqI expect them to use c2nim
13:54:25*s4mu3lbk joined #nim
13:54:25Araqand yeah c2nim sux, so let's improve it
13:54:37Araqor throw it away and use "nimterop" instead but
13:54:47shashlicksee that's a different debate - c2nim also generates a basic wrapper which is what nimterop does
13:54:49Araqnimterop should produce platform independent Nim code
13:55:02clyybbershashlick: The thing is I can't get nimterop to do what c2nim does
13:55:02AraqI'm not married to c2nim
13:55:04shashlickit doesn't generate a high-level wrapper
13:55:12shashlickthat's one part of the debate
13:55:27shashlickthe other one is about platform independent code which i don't get either
13:55:39clyybberWhat do you not get?
13:56:00clyybberIts far easier and simpler to have one wrapper file which works everywhere
13:56:07clyybberInstead of having nimterop as a dependency
13:56:12shashlickthe C code is already platform independent - why does the nim wrapper need to be platform independent
13:56:19Araqfor exmaple
13:56:32Araqso that 'nim --cpu:arm --os:linux' actually works
13:56:40shashlickwhen the wrapper is generated, just like the C Nim generates - at compile time
13:56:52Araqthe language is built upon the idea that Nim code is portable
13:57:05shashlickyou are on the target platform - what is this big value in seeing a Nim wrapper, versus looking at a C header
13:57:20FromGitter<alehander92> is this about cross compilation
13:57:31shashlickagain, don't mix the Nimified code versus a raw wrapper to call C
13:57:39clyybbershashlick: nimterop makes it impossible to tweak small stuff about the wrapper, because its generated at compile time and not before
13:58:00clyybberOr am I wrong?
13:58:03FromGitter<alehander92> cant one write `after` code blocks which do it
13:58:08shashlickclyybber - you have ways to override
13:58:09FromGitter<alehander92> or something like that
13:58:24shashlicki'll really suggest you try it and see
13:59:02Araqhttps://github.com/nim-lang/Nim/blob/devel/lib/wrappers/sqlite3.nim#L27
13:59:18Araqthis is stuff that I'm talking about, the Nim code is platform independent
13:59:46Araqnow you complain "but your sqlite wrapper is missing proc X so I cannot use it"
14:00:13Araqwell, here is the thing: your wrappers is even worse as it's a *platform specific* snapshot.
14:00:58*leorize quit (Remote host closed the connection)
14:01:34shashlickagain, it is the same argument - I want to see this wrapper, check it into source code and maintain it
14:01:40*andinus quit (Quit: ERC (IRC client for Emacs 26.3))
14:01:42*tungki quit (Remote host closed the connection)
14:01:51*leorize joined #nim
14:02:03clyybberYeah it is
14:02:09shashlickwhen the wrapper layer i'm talking about is just telling Nim about how to talk to raw C
14:02:23*andinus joined #nim
14:02:33clyybberBut you do it through so many indirections
14:02:45clyybberIt becomes more complex than a manual wrapper itself
14:04:44clyybberBut I'm sure its a breeze to work with when it works.
14:06:32Araqbut to turn this into a more fruitful discussion
14:06:47clyybbershashlick: If I could give a suggestion, can you make it possible/easier to use nimterop without nimble?
14:07:04Araqshashlick, I think most of your code/work/architecture can actually be kept as is, but the defaults need to be changed
14:07:08shashlickthere's nothing in nimterop that depends on nimble
14:07:23shashlicki have made it such that you can still use it like c2nim
14:07:29shashlickuse the toast command line
14:07:31Araqit should really default to producing Nim code we can check-in
14:07:44shashlickAraq: it already does that today
14:07:51Araqand it should try to remember #ifdef somehow
14:07:53shashlickbut neither of you have tried it
14:08:12Araqshashlick, I noticed it's not done when I ran 'nimble install nimph' fwiw
14:08:31clyybberYeah, I'm not qualified to judge it
14:08:37shashlickthat doesn't mean it is a nimerop issue
14:08:39clyybberBut I know I couldn't build nimph because of it :D
14:08:56shashlickif it is, i'd appreciate some issue i can work
14:08:56clyybbershashlick: It was in my case. I'm sure its fixed by now, I'm gonna try again
14:09:18shashlicknimph uses gitty which uses nimgit2 which uses nimterop
14:09:32shashlickand nimble has its own share of issues
14:10:57Araqyeah and in the end stuff breaks and we blame X when we should have blamed Y
14:11:18Araqyet it was broken
14:11:21shashlickanyway - there are 3 things that have been raised - platform specific, nimified vs. raw C wrapper and fragility
14:12:25shashlickfor first two, as I have said, there's no value in header.h with ifdefs being recreated exactly into header.nim to check into a repo (not talking about nimified)
14:13:09shashlickyou already have a C header which is (at considerable effort from author) been made as cross platform as they could themselves test
14:13:41shashlicka C library might not be as cross platform as Nim code, but a Nim wrapper is only as cross platform as the target lib
14:14:41shashlickas for nimified, there's no escape from hand-written Nim code since C is less featured than Nim, but we aren't talking about that when being able to call a proc from a C library
14:15:08shashlickglue code can live on top of a raw wrapper - both don't have to be the same exact thing
14:15:48shashlickfragility - yes there's more going on, but then folks can argue that Nim generating C is fragile versus direct assembly
14:16:21shashlickthere's a place for everything - but you have to fight the right battles, not aspire for the ideal situation and expect end users to figure it out
14:17:26*kungtotte quit (Read error: Connection reset by peer)
14:17:44shashlicki built nimterop because i want to make it easy for our users to use C from Nim because it has a huge ecosystem that is so easily accessible
14:18:19shashlickI cannot hand wrap every library out there, but i can make the process of raw wrapping faster so that these users can build cool things
14:18:26Araqspeaking of which, which one? honest question. most of the stuff I am interested in is in C++
14:18:51clyybber/home/clyybber/builds/nim/lib/system/fatal.nim(49, 5) Error: unhandled exception: /tmp/nimph/nimterop/nimterop/cimport.nim(131, 12) `fileExists(toastExe)` toast not compiled: /tmp/nimph/nimterop/nimterop/toast make sure 'nimble build' or 'nimble install' built it [AssertionError]
14:18:58clyybberLooks like I need nimble :)
14:19:32shashlickhow can you use a nimble package without nimble
14:19:44clyybberVia --path ing the dependencies
14:20:02shashlickthen hand build toast
14:20:34*kungtotte joined #nim
14:21:01shashlickAraq: libarchive, libgit2 are two for example
14:21:33Araqwell ok and sqlite, postgre, etc etc are more. I wrapped plenty of them on my own
14:21:35shashlickI used the scintilla wrapper
14:21:36clyybbershashlick: /home/clyybber/builds/nim/compiler/lexer.nim(1316, 25) Error: undeclared identifier: 'mode'
14:21:44shashlickhttps://github.com/nimterop/nimterop/wiki/Wrappers is the list of ones known to me
14:21:44clyybberAh
14:21:45clyybbernevermind
14:21:56clyybberthats cuz I'm working on the lexer right now :p
14:22:25shashlickplease use v0.4.4 of nimterop, not #head
14:22:45shashlickshouldn't matter but ya
14:23:17shashlickAraq: you shouldn't compare yourself to regular users
14:23:19FromGitter<alehander92> https://www.imageupload.net/image/TMdhE
14:23:25FromGitter<alehander92> ok, so sourcemaps seem almost fine now
14:23:31shashlicki've been wrapping for 2 years now and still ask you basic questions
14:23:36Araqbut I don't see it as a "huge ecosystem"
14:23:46FromGitter<alehander92> i couldnt find pretty printers in that kind of debuggers tho
14:23:51FromGitter<alehander92> like, custom printing of values
14:24:18clyybbershashlick: /home/clyybber/.cache/nim/nimterop/cPlugins/nimterop_1595835831.nim(1, 24) Error: cannot open file: nimterop/plugin
14:24:19clyybber [AssertionError] [AssertionError]
14:24:34shashlickyes because you don't use nimble
14:24:34clyybberAnd before that: /home/clyybber/builds/nim/lib/system/fatal.nim(49, 5) Error: unhandled exception: /tmp/nimph/nimterop/nimterop/cimport.nim(166, 12) `ret == 0`
14:24:42clyybberThats what I told you
14:24:48clyybberI can't use nimterop without nimble
14:24:53clyybberSo c2nim wins for me
14:24:56clyybberits easy and just works
14:25:18shashlickthat's why i pushed for https://github.com/nim-lang/Nim/pull/13584
14:25:19Araqmachine learning, Could Engine APIs, time handling, UIs, almost no C available code for it
14:25:42clyybbershashlick: And its merged
14:25:53shashlicka and i need to use it now
14:25:55clyybberCan I build it without nimble somehow?
14:25:59clyybberAh ok
14:26:21shashlickbasically you call nimterop with nim flags and nimterop has to build a plugin that it loads
14:26:28clyybberWell, see; I'd argue that nimterop is moving a lot faster than those semi-manual wrappers would
14:26:48shashlickto do that i run nim, but since i don't know all the flags, i cannot set the paths
14:27:02shashlickwhere is nimterop installed
14:27:12clyybber/tmp/nimph/nimterop
14:27:18shashlickAraq: I'll get to C++ some day, getting close with the new AST
14:27:27reversem3So using javascript to create a blockchain using prototypes, what would be similar to prototypes in nim?
14:27:39shashlickare you using nimph bootstrap
14:27:43clyybbershashlick: No
14:27:46clyybberRequires nimble
14:27:55clyybberSo I'm just doing nim c src/nimph
14:28:25clyybberWith --path:someDep arguments
14:28:39Araqshashlick, but what if C++ really does require manual tweaking like c2nim always requires
14:28:43shashlickok then create a nim.cfg or something with the paths
14:28:53shashlick+
14:29:05*chemist69 quit (Ping timeout: 252 seconds)
14:30:07*chemist69 joined #nim
14:30:32clyybberCan I not put --path:someFolder in the nim.cfg?
14:30:46Araqshashlick, I'm sorry but I'm looking at https://github.com/genotrance/nimgit2
14:31:01Araqfor example https://github.com/genotrance/nimgit2/blob/master/nimgit2.nim#L46
14:31:59Araqtwo points:
14:32:26Araq1. this is awesome stuff, really. 'cOverride' looks flexible
14:32:40clyybbershashlick: Ok, did that now I get: /home/clyybber/builds/nim/lib/system/fatal.nim(49, 5) Error: unhandled exception: /tmp/nimph/nimterop/nimterop/cimport.nim(615, 14) `false`
14:32:54clyybberAnd with a really big error coming after it
14:33:19clyybberWith that at the end: Nimterop codegen limitation or error - review 'nim check' output above generated for /home/clyybber/.cache/nim/nimterop/failed/nimterop_2849282564.nim [AssertionError]
14:33:20Araq2. there is no nimgit2_produced_code.nim file in the repo
14:33:42Araqas a backup or as code to "look at but don't touch"
14:34:13Araqand I'd be so much more relaxed if that code existed
14:34:41Araqnow I have to leave, see you later and sorry for the ranting
14:35:44clyybbershashlick: Oh, sorry, I also still get the errors from before
14:36:02clyybberSo putting the path="someDep" into nim.cfg didn't seem to have fixed it
14:39:47*hax-scramper quit (Ping timeout: 265 seconds)
14:41:26shashlickAraq: C++ might very well be impossible but I'm willing to see how far i can push this
14:41:31shashlicki have nothing better to do 🙂
14:41:53*hax-scramper joined #nim
14:42:57shashlickAraq: module documentation is generated and posted (linked from readme) https://genotrance.github.io/nimgit2/nimgit2.html
14:43:52clyybbershashlick: If you want to reproduce: https://hastebin.com/tadepahuwe.php
14:44:32PMunchI'm going to have another look at macroutils. Streaming it in a little while if anyone is interested over at: https://www.twitch.tv/pmunche
14:44:32clyybberThat last command can be replaced with nim c src/nimph if you put those paths in the nim.cfg as you suggested
14:44:37clyybberBut it doesn't fix the issue
14:50:11nekitsPmunch, I'll watch
14:50:22shashlickclyybber have a meeting in 10, will come back and debug this without nimble
14:50:54clyybberok
14:51:02clyybberthanks for looking into it
14:51:34*hax-scramper quit (Read error: Connection reset by peer)
14:51:40shashlickthanks for trying - yours is obviously not a supported use case (no nimble) but happy to enable things
14:51:53*hax-scramper joined #nim
14:53:30FromGitter<alehander92> PMunch love it
14:53:34FromGitter<alehander92> i will watch a bit
14:55:33krux02PMunch, I am watching your stream.
14:55:42krux02is this like ast pattern matching?
14:56:48krux02but how does it handle the unexpected nodes, like stmtList with just a single element
14:56:59krux02(not visible in the ast)
14:59:07krux02ok
14:59:11krux02understood
15:02:02FromGitter<alehander92> it is like a quot+pattern matching, very nice
15:02:25*luis_ quit (Remote host closed the connection)
15:02:51*hax-scramper quit (Ping timeout: 250 seconds)
15:02:53FromGitter<alehander92> it is because you provide a pattern and extract from it
15:03:01FromGitter<alehander92> even if it is in the form of source code
15:03:14FromGitter<alehander92> maybe i am wrong of course, i forgot the lisp equivalent :D
15:03:18*hax-scramper joined #nim
15:03:23krux02I would expect to get the RecList
15:03:55krux02`fields*
15:04:19krux02ok
15:04:20krux02yes
15:04:36krux02I just never use seq[NimNode] I always put them in a NimNode.
15:05:13krux02ok that was a lie
15:06:20krux02you can always iterate over a NimNode with children
15:06:58krux02kind of
15:08:03krux02What is ProcDef (with capital case)?
15:08:36krux02so it is a top level proc for every node kind?
15:09:15krux02not sure about that
15:09:16FromGitter<alehander92> hm, nice
15:09:31FromGitter<alehander92> well you can somehow import it conditionally
15:10:50*endragor joined #nim
15:10:59krux02not a fan of "make it appear like a type" when it isn't.
15:12:15krux02well newTree is verbose, that is true
15:12:45FromGitter<alehander92> it can be a `t(call(ident()))`
15:12:46krux02instead of newIdentNode you can just call ident"name"
15:12:53FromGitter<alehander92> where commands are defined just in `t` context
15:13:21FromGitter<alehander92> i think once i wanted to do something like that in jsgen rewrite and krux02 actually proposed at least a `t.name`
15:13:43krux02newCall(ident"testCmd", newLit(100))
15:14:21FromGitter<alehander92> i think `new` is still a bit repetitious
15:15:05FromGitter<alehander92> i dont want to repeat myself, but that's basically the idea behind the karax dsl(which i just copied for breeze, but it can be still improved)
15:15:51FromGitter<alehander92> buildHtml: short names => t/buildMacro: short names (but its very subjective sorry stopping with that offtopic)
15:19:03*leorize quit (Ping timeout: 240 seconds)
15:19:38*leorize joined #nim
15:21:04FromGitter<alehander92> ahh
15:21:13FromGitter<alehander92> matching into collections, hard one
15:21:28FromGitter<alehander92> doing it on base of types sounds smart
15:21:38FromGitter<alehander92> but the downside is if one looks at the extract only
15:21:57FromGitter<alehander92> i mean doing it based on the types of the extracted variables
15:22:19FromGitter<alehander92> but if one looks at the extraction he would need to know those types now to know what is it actually doing
15:23:06FromGitter<alehander92> yeah i get it
15:23:44*natrys quit (Ping timeout: 256 seconds)
15:24:51*kenran quit (Ping timeout: 260 seconds)
15:25:22*revere quit (Ping timeout: 256 seconds)
15:25:41*endragor quit (Remote host closed the connection)
15:26:35*revere joined #nim
15:27:54FromGitter<alehander92> i used `$` as a binary operator
15:27:59FromGitter<alehander92> man thats strange
15:28:12*Zevv joined #nim
15:28:14FromGitter<alehander92> yes but in the compiler its overriden
15:28:23FromGitter<alehander92> you can write c.config$n.info
15:28:42ZevvAraq: are you making use of my z3 nimble, or did you just copy the essentials?
15:30:23ZevvI got people with issues and pull requests, but not sure if and how to proceed with all that, especially if it is now somehow being used for drnim and all
15:35:14*thomasross joined #nim
15:36:49*solitudesf quit (Remote host closed the connection)
15:37:53*solitudesf joined #nim
15:44:11clyybberIt's not using the high level wrapper stuff
15:44:48*clyybber quit (Quit: WeeChat 2.8)
15:49:20*inv2004 joined #nim
15:53:05AraqZevv, I have your package as a depencency
15:53:13Araqbut I only use z3_api.nim
15:53:24AraqI used the high level wrapper for tinkering, it's awesome
15:53:35Araqbut in drnim I don't need it
15:54:23*lritter joined #nim
15:57:14FromGitter<alehander92> ugh sorry pushed by mistake a feature branch to upstream nim, deleted it now
15:58:21Araqyay... :-)
15:59:33FromGitter<alehander92> <3
16:01:43ZevvAraq: ok, I'll see what I will do with it then. I'm thinking about giving the package away as I currently don't have time nor motivation to work on it, but then I'd have to find a good new home for it.
16:02:07AraqI could take it over
16:02:25Araqbut I won't do much with it, for me it's complete and stable
16:05:37Araqactually
16:05:47AraqI should check out a specific commit
16:17:54*disruptek quit (Ping timeout: 240 seconds)
16:18:15*disbot quit (Ping timeout: 250 seconds)
16:25:25FromGitter<yglukhov> Hey @Clyybber, saw your ping, but lost the context. What's up?
16:25:41*NimBot joined #nim
16:27:24*abm quit (Quit: Leaving)
16:30:52shashlickAraq: were you able to see https://genotrance.github.io/nimgit2/nimgit2.html
16:31:52*disbot joined #nim
16:32:23*disruptek joined #nim
16:37:11*inv2004 quit (Ping timeout: 260 seconds)
16:37:54*inv2004 joined #nim
16:39:41*rnrwashere joined #nim
16:49:28*Trustable joined #nim
16:52:05*inv2004 quit (Quit: Leaving)
17:00:38ZevvAraq: please do that. Ill put it for offer on the forum I guess
17:00:59Zevvwas more of a toy for me then a serious project, and it deserves people who actually understand that stuff
17:06:57FromGitter<alehander92> Zevv i just look at it : it seems a great dsl the symbolic stuff
17:07:21FromGitter<alehander92> Araq, how should i lex "lazily"
17:07:40FromGitter<alehander92> i read your comment and lexer, and i guess i can just write an iterator
17:08:06FromGitter<alehander92> which returns a "token" (as my code consumes tokens only in one place)
17:22:19*kungtotte quit (Ping timeout: 256 seconds)
17:25:58*Ven`` quit (Quit: Textual IRC Client: www.textualapp.com)
17:34:54*defection joined #nim
17:41:01*Guest53797 quit (Ping timeout: 256 seconds)
17:48:41*Vladar joined #nim
17:50:21FromGitter<alehander92> Araq i benchmarked
17:50:26FromGitter<alehander92> http://ix.io/2gnF!
17:50:28FromGitter<alehander92> http://ix.io/2gnF *
17:50:59FromGitter<alehander92> seems ok , but if you want me to profile it more, tell
18:12:27*rockcavera quit (Ping timeout: 265 seconds)
18:12:32*endragor joined #nim
18:14:02*endragor quit (Remote host closed the connection)
18:14:12*rockcavera joined #nim
18:14:12*rockcavera quit (Changing host)
18:14:12*rockcavera joined #nim
18:20:46*defection quit (Quit: defection)
18:32:46*kenran joined #nim
18:34:39FromDiscord<clyybber> yglukhov: Hey, kayabaNerve discovered a bug and it seems similar to one you already fixed (related to closure iterators I think)
18:35:06FromGitter<Clyybber> @yglukhov It was this one: https://github.com/nim-lang/Nim/issues/13815
18:36:00*natrys joined #nim
18:36:44FromGitter<Clyybber> This was the one you fixed: https://github.com/nim-lang/Nim/issues/8243 which seems kind of similar, at least from the stacktrace
18:42:30FromGitter<yglukhov> Ah ok, I'll have a look.
18:50:36*sleepyqt joined #nim
18:54:15*sleepyqt_ quit (Ping timeout: 250 seconds)
19:13:22*PMunch quit (Quit: leaving)
19:14:34*kenran quit (Ping timeout: 240 seconds)
19:17:06FromDiscord<Recruit_main707> oh COME ON, so close!
19:17:06FromDiscord<Recruit_main707> https://cdn.discordapp.com/attachments/371759389889003532/695351117889929216/unknown.png
19:17:30FromDiscord<Recruit_main707> (wikipedia stats) D vs Nim
19:22:33FromGitter<zetashift> D is a great language tho, I don't think the vs stat should be emphasized
19:23:14*stefantalpalaru_ quit (Quit: ZNC 1.7.5 - https://znc.in)
19:23:17FromDiscord<Recruit_main707> numbers are numbers :p
19:23:30*stefantalpalaru joined #nim
19:23:36*stefantalpalaru quit (Changing host)
19:23:36*stefantalpalaru joined #nim
19:28:21*Asgaroth joined #nim
19:33:53*solitudesf quit (Quit: Leaving)
19:34:26*solitudesf joined #nim
19:34:59*Asgaroth quit (Ping timeout: 260 seconds)
19:35:20*rnrwashere quit (Remote host closed the connection)
19:35:53*rnrwashere joined #nim
19:37:11*sagax quit (Read error: Connection reset by peer)
19:40:26*rnrwashere quit (Ping timeout: 256 seconds)
19:44:21*sagax joined #nim
19:48:52*lritter quit (Ping timeout: 256 seconds)
19:53:34*lritter joined #nim
20:06:02*lritter quit (Ping timeout: 265 seconds)
20:08:53*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
20:11:00*pbb joined #nim
20:12:04*lritter joined #nim
20:17:12*narimiran quit (Ping timeout: 256 seconds)
20:20:13*andinus quit (Quit: ERC (IRC client for Emacs 26.3))
20:26:46*tefter joined #nim
20:36:05*moerm joined #nim
20:55:57krux02I tried to create a new Nim issue
20:56:09krux02github has server issues right now
20:56:22krux02so here is the code that doesn't work: http://ix.io/2gpv
20:56:40krux02it doesn't work on the c++ backend
20:56:49krux02it generates invalid Nim code.
20:59:19dom96Recruit_main707: looking at daily's huh, nice
20:59:53FromDiscord<Recruit_main707> Monthly doesn’t work with March yet
21:00:10dom96Nice to see my method of popularity comparisons is catching on :)
21:00:56dom96oh, github is down
21:04:40ozseems fine here.
21:06:02Yardanicooz: https://www.githubstatus.com/
21:06:11Yardanicoit's not fine :P
21:06:32*sleepyqt quit (Read error: Connection reset by peer)
21:07:22*sleepyqt joined #nim
21:10:21FromDiscord<Kitty> is there a way to send/stream large multi GB files with asynchttpserver without loading the entire file into RAM at once?
21:10:54moermI'm amused by the github problems, or more precisely by the fact that it won't lead to developers becoming less cloud-dependent
21:19:31dom96Kitty: yes, you should be able to read the file using asyncfile, read 1024 bytes, send them, read 1024 more, send, and so on
21:20:13dom96IIRC you just call sendHeaders and then req.client.send
21:21:50FromDiscord<Kitty> ah, so essentially i need my own streaming version of req.respond, thanks
21:23:57ozah well, I just got lucky when making API requests. :p
21:24:39*solitudesf quit (Ping timeout: 260 seconds)
21:41:30*natrys quit (Quit: natrys)
21:43:46*liblq-dev quit (Quit: WeeChat 2.7.1)
21:43:54*kungtotte joined #nim
21:48:00*couven92 quit (Read error: Connection reset by peer)
21:48:26*couven92 joined #nim
21:50:36*pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
21:52:09*pbb joined #nim
22:06:09moermNot a lot of action due to github problems?
22:06:11*oculux quit (Ping timeout: 260 seconds)
22:06:23*leorize quit (Ping timeout: 240 seconds)
22:06:26*oculux joined #nim
22:07:25*leorize joined #nim
22:08:20*couven92 quit (Read error: Connection reset by peer)
22:08:46*couven92 joined #nim
22:08:47moerm- afk -
22:13:39*kungtotte quit (Ping timeout: 260 seconds)
22:18:50*rnrwashere joined #nim
22:19:47*kungtotte joined #nim
22:21:19*Vladar quit (Quit: Leaving)
22:29:55*rnrwashere quit (Remote host closed the connection)
22:47:43*opal quit (Ping timeout: 240 seconds)
22:49:07*opal joined #nim
22:56:29*s4mu3lbk quit (Ping timeout: 250 seconds)
22:57:27FromDiscord<flywind> When I use `jester` to send stream response, I had some problems.I think maybe owe to asynchttpserver send
22:57:27FromDiscord<flywind> duplicated `content-length` headers?
22:58:56FromDiscord<flywind> https://github.com/dom96/jester/issues/241
23:08:49*s4mu3lbk joined #nim
23:09:21moermHave a good time, all - cu
23:09:27*moerm quit (Quit: Leaving)
23:12:34*tane_ quit (Remote host closed the connection)
23:47:32*krux02_ joined #nim
23:47:59*Trustable quit (Remote host closed the connection)
23:49:45*krux02 quit (Ping timeout: 240 seconds)
23:58:48*sleepyqt quit (Ping timeout: 258 seconds)