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