00:02:23 | Prestige | oh it does, hmm |
00:13:29 | FromDiscord | <Elegant Beef> So did we clean it up any? |
00:14:12 | FromDiscord | <Elegant Beef> This sorta works but crashes, so yea i know what im doing :D↵https://play.nim-lang.org/#ix=2xVL |
00:15:26 | Prestige | Maybe if I call waitForExit startProcess(...) inside an async function? |
00:15:38 | * | gmaggior quit (Quit: Leaving) |
00:15:56 | Prestige | Well I'd need the process in a variable but you get the idea |
00:15:57 | FromDiscord | <Elegant Beef> No clue if that'll block the main thread |
00:16:03 | Prestige | I wonder the same |
00:16:15 | FromDiscord | <Elegant Beef> I think it will, but eh |
00:17:11 | FromDiscord | <Elegant Beef> Yea `sleep(1)` in an async does the same as that would |
00:17:18 | FromDiscord | <Elegant Beef> Which makes it blocking |
00:17:42 | Prestige | Yeah so, maybe just need to have an event loop check the processes periodically.. bleh |
00:18:06 | Prestige | I wonder why there's isn't a way to autoclose them |
00:20:19 | FromDiscord | <Elegant Beef> Weirdly using runforever crashes after async's are done |
00:59:08 | * | krux02 quit (Remote host closed the connection) |
01:11:35 | * | femtotones|notaw quit (Read error: Connection reset by peer) |
01:12:22 | * | femtotones|notaw joined #nim |
01:16:36 | * | lbart_ joined #nim |
01:18:01 | * | Araq_ joined #nim |
01:19:14 | * | lbart quit (Read error: Connection reset by peer) |
01:19:14 | * | Araq quit (Ping timeout: 240 seconds) |
01:19:15 | * | supakeen quit (Ping timeout: 240 seconds) |
01:19:50 | * | supakeen joined #nim |
01:25:10 | * | Tanger joined #nim |
01:34:23 | * | apahl quit (Ping timeout: 244 seconds) |
01:36:33 | * | apahl joined #nim |
01:42:49 | Tanger | Happy Friday y'all |
01:45:34 | * | kenran joined #nim |
01:49:34 | * | antranigv quit (Ping timeout: 260 seconds) |
01:49:55 | * | antranigv joined #nim |
01:50:25 | * | kenran quit (Ping timeout: 240 seconds) |
02:01:09 | * | rocx joined #nim |
02:23:06 | FromGitter | <gogolxdong> What's the mascot of Nim? |
02:23:21 | Prestige | disruptek I believe |
02:24:06 | FromDiscord | <Rika> lol |
02:30:52 | FromDiscord | <Elegant Beef> It was a hellish honey badger |
02:31:05 | FromDiscord | <Elegant Beef> Which yard uses as his pfp on github |
02:31:40 | FromDiscord | <Rika> the most aggressive fucker ive seen as a programming mascor |
02:31:41 | FromDiscord | <Rika> (edit) 'mascor' => 'mascot' |
02:31:47 | FromDiscord | <Rika> ngl i wish we took the cute one instead |
02:32:09 | FromDiscord | <Rika> i mean have you seen go and rust? no ones complaining about how cute their mascots are |
02:35:16 | FromDiscord | <Elegant Beef> I swear our mascot has a fridge full of the failed mascot concepts of other languages |
02:36:04 | FromGitter | <gogolxdong> Is there some candidate? |
02:36:42 | FromDiscord | <Elegant Beef> I dont think nim currently has one, but there was a rpc a while ago for one |
02:37:00 | FromDiscord | <Rika> the cute one works really well |
02:37:59 | * | femtotones|notaw quit (Quit: Default Quit Message) |
02:42:19 | * | muffindrake quit (Ping timeout: 272 seconds) |
02:44:06 | * | muffindrake joined #nim |
02:57:50 | FromDiscord | <iWonderAboutTuatara> https://github.com/nim-lang/RFCs/issues/104 |
02:57:51 | disbot | ➥ Nim's mascot proposal |
03:13:53 | * | waleee-cl quit (Quit: Connection closed for inactivity) |
03:20:43 | * | mipri joined #nim |
03:21:14 | OMGOMG | how about an anthropomorphized aircraft carrier? |
03:23:28 | OMGOMG | https://www.youtube.com/watch?v=dYP8cqkwT8I |
03:33:30 | * | lritter quit (Quit: Leaving) |
03:41:20 | * | arecacea1 quit (Remote host closed the connection) |
03:41:50 | * | arecacea1 joined #nim |
03:46:29 | * | kenran joined #nim |
03:51:05 | * | kenran quit (Ping timeout: 240 seconds) |
04:02:13 | * | vicfred joined #nim |
04:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
04:06:34 | * | supakeen joined #nim |
04:10:18 | FromDiscord | <PizzaFox> has anyone implemented quadsort in nim or should i try https://github.com/scandum/quadsort |
04:14:14 | FromDiscord | <shashlick> Just wrap no? |
04:14:26 | FromDiscord | <shashlick> Unless it's for fun |
04:16:42 | * | lbart_ is now known as lbart |
04:17:01 | FromDiscord | <Rika> Wrap if you just want to use it |
04:17:10 | FromDiscord | <Rika> Remake if you want to understand more |
04:18:35 | * | bung quit (Ping timeout: 256 seconds) |
04:19:51 | * | thomasross quit (Ping timeout: 272 seconds) |
04:20:17 | * | lbart quit (Changing host) |
04:20:17 | * | lbart joined #nim |
04:22:19 | * | kinkinkijkin quit (Remote host closed the connection) |
04:23:01 | * | kinkinkijkin joined #nim |
04:26:02 | * | rockcavera quit (Remote host closed the connection) |
04:30:36 | FromDiscord | <Avatarfighter> Prestige: I'm almost certain you'll need a custom loop |
04:30:46 | Prestige | unfortunate |
04:31:09 | FromDiscord | <Avatarfighter> naw |
04:31:12 | FromDiscord | <Avatarfighter> easy |
04:31:26 | Prestige | just wish I didn't have to handle it manually |
04:31:33 | FromDiscord | <Avatarfighter> Yeah of course |
04:31:58 | FromDiscord | <Avatarfighter> I think i spent a day debugging why my futures weren't executing the callback only to ask here and be told to poll manually lol |
04:33:44 | FromDiscord | <Rika> Wait what issues are you having |
04:35:39 | * | Tanger quit (Ping timeout: 260 seconds) |
04:43:34 | FromDiscord | <PizzaFox> if i perfectly rewrote the C code from above in nim would it emit anything different than just wrapping it |
04:54:19 | * | bung joined #nim |
04:54:42 | * | arecacea1 quit (Remote host closed the connection) |
04:55:17 | * | arecacea1 joined #nim |
04:56:29 | * | rocx left #nim ("👏 developers 👏 developers 👏 developers 👏 developers 👏 developers") |
04:58:07 | Prestige | it would look different, don't think there'd be much of a difference |
04:59:14 | * | bung quit (Ping timeout: 272 seconds) |
05:00:47 | * | narimiran joined #nim |
05:13:03 | Prestige | Someone just submitted a PR to fix the issue @Avatarfighter @Rika https://github.com/avahe-kellenberger/nimdow/pull/99 |
05:13:04 | disbot | ➥ count forked processes in threads and wait for there end, so no zombi… |
05:13:17 | FromDiscord | <Avatarfighter> yooo |
05:14:14 | FromDiscord | <Rika> congrats |
05:14:22 | Prestige | I think this just starts a thread per process, not sure of the implications |
05:14:26 | FromDiscord | <Rika> they used threads |
05:14:43 | FromDiscord | <Avatarfighter> o |
05:15:23 | Prestige | This could result in a ton of threads |
05:15:51 | Prestige | I think the solution I was contemplating earlier would be better |
05:16:15 | Prestige | Thoughts? |
05:21:50 | FromDiscord | <Rika> using a "polling thread" but async? |
05:22:20 | Prestige | That's another way to do it |
05:22:55 | FromDiscord | <Rika> which is |
05:23:05 | Prestige | I already have one event loop for x events, I was going to reuse it to check for finished processes |
05:23:16 | FromDiscord | <Rika> should be fine |
05:24:02 | Prestige | This PR create a thread per process, could end up with 100 threads each waiting for a process to die |
05:25:12 | FromDiscord | <Rika> yeah |
05:25:19 | FromDiscord | <Rika> not ideal |
05:25:35 | FromDiscord | <Rika> 64 threads already murdering my poor server's 2 core |
05:26:31 | FromDiscord | <Rika> well i guess it wont murder your system if you `sleep` often |
05:29:37 | * | narimiran quit (Ping timeout: 264 seconds) |
05:33:24 | * | narimiran joined #nim |
05:35:28 | * | bung joined #nim |
05:40:24 | * | bung quit (Ping timeout: 272 seconds) |
05:41:39 | * | kenran joined #nim |
05:50:39 | * | solitudesf joined #nim |
05:58:52 | Prestige | Got a simple fix added, seems fine |
05:59:05 | Prestige | https://github.com/avahe-kellenberger/nimdow/pull/100/files if curious. Gn all |
05:59:05 | disbot | ➥ Fixed #54 - requires testing. |
06:00:16 | FromDiscord | <Rika> sleep well |
06:02:11 | FromDiscord | <NickSeagull> sent a code paste, see https://play.nim-lang.org/#ix=2xX1 |
06:02:41 | FromDiscord | <NickSeagull> Doesn't have to be on the same file |
06:02:55 | FromDiscord | <Elegant Beef> there is `when defined` |
06:03:26 | FromDiscord | <Elegant Beef> It's how you handle crossplatform/crossbackend |
06:04:49 | FromDiscord | <Elegant Beef> https://nim-lang.org/docs/manual.html#statements-and-expressions-when-statement manual for when |
06:08:06 | FromDiscord | <NickSeagull> Yeah, but my usage for this is not cross platform but rather deployment on AWS Lambda or similar.↵↵Generally on compiled languages, deploying to these things require you to have one "project" per controller/handler/function so I was wondering if with Nim one could have only one project and make the compiler pack only the necessary stuff by generating multiple executables @Elegant Beef |
06:10:52 | FromDiscord | <Elegant Beef> You can use define statements to only compile parts you want for X thing, as such https://play.nim-lang.org/#ix=2xX2 |
06:12:35 | * | Tanger joined #nim |
06:16:07 | FromDiscord | <Elegant Beef> In that case you just `-d:heh` at compile time and it magically works |
06:16:49 | FromDiscord | <Elegant Beef> So generally what you do is make the basic api then have those api specific code |
06:17:32 | FromDiscord | <Elegant Beef> (edit) 'So generally what you do is make the basic api then have those api specific code ... ' => 'So generally what you do is make the basic api then have those api specific codecalled from a function that hides those api's away 😄' |
06:18:40 | * | PMunch joined #nim |
06:27:17 | * | kungtotte quit (Read error: Connection reset by peer) |
06:27:33 | FromDiscord | <Elegant Beef> @NickSeagull ^ and nim does have dead code elimination, so it does pack only the needed stuff 😄 |
06:28:10 | * | kungtotte joined #nim |
06:30:14 | FromDiscord | <NickSeagull> Oooooh, that's awesome 😄 thanks! |
06:31:31 | FromDiscord | <Elegant Beef> Also i guess you'd want to generate a task in a nimble file, or make a nimscript file to do all your building for each backend |
06:32:14 | FromDiscord | <Elegant Beef> That way you can do `nimble aws` or `nimble all` and have it just build all your binaries |
06:32:33 | FromDiscord | <Elegant Beef> (edit) 'That way you can do `nimble aws` ... or' => 'That way you can do `nimble aws`to build for your AWS' |
06:41:03 | * | vicfred quit (Quit: Leaving) |
06:50:23 | * | letto quit (Quit: Konversation terminated!) |
06:53:07 | * | npgm_ quit (Ping timeout: 240 seconds) |
06:53:10 | * | sirn quit (Ping timeout: 244 seconds) |
06:53:10 | * | jholland__ quit (Ping timeout: 244 seconds) |
06:53:10 | * | stever quit (Ping timeout: 244 seconds) |
06:53:18 | * | r4vi quit (Ping timeout: 260 seconds) |
06:53:22 | * | stever joined #nim |
06:53:24 | * | letto joined #nim |
06:53:53 | * | ormiret quit (Ping timeout: 260 seconds) |
06:53:53 | * | alehander92 quit (Ping timeout: 260 seconds) |
06:55:03 | * | sirn joined #nim |
06:55:24 | * | jholland__ joined #nim |
06:55:56 | * | alehander92 joined #nim |
06:56:02 | * | ormiret joined #nim |
06:57:00 | * | r4vi joined #nim |
06:57:27 | * | npgm_ joined #nim |
07:00:40 | * | Vladar joined #nim |
07:16:18 | FromDiscord | <PizzaFox> if something bad happens in an aync proc do i need to report it with `asyncfutures.fail`? or can i use regular raise statement |
07:17:18 | PMunch | I think a regular raise should work |
07:17:54 | PMunch | `nim-1.2.6/lib/system/dollars.nim(91, 12) Error: request to generate code for .compileTime proc: Lit` no idea why, but I'm really struggling with this error.. |
07:18:51 | PMunch | I have a macro that parses a DSL and creates a couple of things from it. But this error keeps pestering me |
07:21:24 | alehander92 | it gets called on runtime |
07:21:32 | alehander92 | like, it gets generated* |
07:21:44 | alehander92 | somehow? maybe |
07:22:02 | alehander92 | is it possible that you $ something recursively |
07:22:06 | alehander92 | on runtime |
07:25:11 | PMunch | Hmm |
07:25:19 | * | Vladar quit (Quit: Leaving) |
07:25:34 | PMunch | What I try to $ here was the last element of a sequence of objects with variants |
07:27:59 | alehander92 | hmm, is it possible |
07:28:06 | alehander92 | you somehow invoke the name of a proc |
07:28:09 | alehander92 | instead of local |
07:28:14 | alehander92 | probably not this error tho |
07:29:21 | PMunch | Hmm, what do you mean? |
07:30:03 | alehander92 | e.g. sometimes you can do `Lit` instead of `lit` |
07:30:21 | alehander92 | and get an unexpected error because it's still valid but a random symbol from a module |
07:30:27 | alehander92 | but it's usually a type error |
07:34:22 | PMunch | Hmm, well this is what the macro is generating: https://play.nim-lang.org/#ix=2xXn |
07:34:30 | PMunch | Line 13 is what throws the error |
07:36:37 | * | bung joined #nim |
07:36:54 | PMunch | And the `calc` object is defined (slightly simplified) as such: https://play.nim-lang.org/#ix=2xXo |
07:39:50 | alehander92 | what happens if you just echo |
07:39:57 | alehander92 | an Element object |
07:39:59 | alehander92 | in that place |
07:40:17 | Araq_ | found the bug! |
07:41:17 | Araq_ | was a terrible one... |
07:41:19 | alehander92 | what is the bug |
07:41:22 | * | bung quit (Ping timeout: 256 seconds) |
07:41:35 | alehander92 | PMunch no idea man |
07:41:38 | Araq_ | it really was the wild re-use of j.traceStack |
07:41:48 | alehander92 | it seems usually if you have some kind of NimNode inside this can happen |
07:42:14 | * | Araq_ is now known as Araq |
07:44:53 | * | bung joined #nim |
07:48:05 | FromDiscord | <minierolls> I get a type mismatch error <seq[string], string> when I try to call .add(myString) on a sequence of strings |
07:48:15 | FromDiscord | <minierolls> does anyone know why that might be happening? |
07:48:42 | FromDiscord | <Rika> can we have more of the error message |
07:48:45 | Araq | make your seq parameter mutable via 'var T' |
07:49:24 | FromDiscord | <Rika> araq being 200 iq as usual, lol |
07:50:00 | FromDiscord | <minierolls> oo, are sequences not mutable by default? |
07:50:19 | FromDiscord | <minierolls> I'm trying to call this directly on a `.getOrDefault` on a table, and I'm not sure how I'd mark that mutable |
07:51:02 | FromDiscord | <Rika> nothing is mutable by default |
07:51:13 | FromDiscord | <Rika> make the table mutable |
07:51:17 | FromDiscord | <minierolls> it is |
07:51:39 | FromDiscord | <minierolls> i mean i'm not sure how i'd provide the .getOrDefault function with a mutable empty sequence as default |
07:51:46 | FromDiscord | <Rika> use something out of place, add is inplace |
07:51:47 | FromDiscord | <minierolls> I tried `var @[]` to no avail |
07:51:49 | solitudesf | you cant add to return value of getOrDefault |
07:51:50 | FromDiscord | <minierolls> oh |
07:51:55 | FromDiscord | <Rika> import sugar and use `sugar.dup` |
07:52:06 | FromDiscord | <minierolls> oop had no idea add was inplace |
07:52:11 | FromDiscord | <minierolls> that explains why & works |
07:52:13 | FromDiscord | <minierolls> thank you! |
07:53:00 | Araq | Rika: well I was wrong ;-) |
07:54:29 | FromDiscord | <Rika> well you couldnt have known without the additional information 😛 |
08:03:34 | PMunch | By the way, why aren't literals mutable by default? So annoying that you have to store your values in a variables before passing it to a procedure that happens to take a var if you don't care about what it changes it into.. |
08:04:53 | Araq | because it catches many bugs |
08:05:13 | Araq | we discussed this before, a template 'varof' is very simple to write |
08:05:21 | Araq | maybe it should be added to sugar.nim |
08:06:36 | PMunch | Oh yeah, I wouldn't mind having to specify it explicitly |
08:06:41 | Araq | "I found a valid interpretation of 'X' so that your code compiles" is the C style of language design. |
08:06:48 | PMunch | But having to put it on two lines is a bit annoying |
08:08:27 | Araq | template varof(x): untyped = (var y = x; y) |
08:08:35 | alehander92 | ohh |
08:08:48 | alehander92 | btw a friend had a question yesterday |
08:09:27 | alehander92 | something similar to does proc dup(a: T): T = a ensure a copy |
08:09:39 | alehander92 | i guess no because nrvo |
08:09:40 | alehander92 | ? |
08:10:51 | Araq | no, your 'dup' would just work |
08:12:11 | alehander92 | so it's not possible to somehow get it inlined in some mode |
08:12:15 | alehander92 | ok |
08:12:41 | Araq | well optimizations shouldn't affect correctness |
08:12:58 | FromDiscord | <Clyybber> Araq: What bug is it this time? |
08:13:03 | alehander92 | so nrvo |
08:13:05 | PMunch | alehander92, figured it out, I was missing a $ for my `Element` type |
08:13:08 | alehander92 | is about constructing in place |
08:13:13 | PMunch | Not quite sure why that trigger this strange error though.. |
08:13:17 | Araq | clyybber: yet another terrible ORC bug |
08:13:29 | Araq | memory leak |
08:13:32 | alehander92 | and here you just construct a copy , so it doesn't really have anything to do with it |
08:13:34 | alehander92 | ok |
08:13:50 | alehander92 | PMunch i think objects have automatic $ |
08:13:55 | FromDiscord | <Clyybber> Araq: Nice! |
08:14:18 | alehander92 | but is it possible that you had a field |
08:14:18 | FromDiscord | <Clyybber> Are you going to reintroduce purple color? It should be faster right? |
08:14:22 | alehander92 | with compile time stuff |
08:14:43 | Araq | clyybber: no, maybe later |
08:15:01 | Araq | I also found a way to do without 'dispose' |
08:15:14 | Araq | so we can document the =trace hook with a straight face |
08:16:00 | FromDiscord | <Clyybber> Oh? |
08:16:43 | Araq | =trace needs to enumerate the address of the ref, we can nil it out before calling =destroy |
08:17:09 | Araq | we would get rid of the =dispose hook entirely |
08:19:01 | Araq | ah and the real leak remains, yay |
08:19:11 | FromDiscord | <Clyybber> Damn |
08:19:25 | FromDiscord | <Clyybber> Do you have a snippet that shows the leak? |
08:21:42 | Araq | the basic asynchttpserver hello world example |
08:22:03 | Araq | but I had plenty, maybe I can find one that is easier to run |
08:22:22 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
08:29:06 | * | Trustable joined #nim |
08:43:53 | PMunch | alehander92, yeah they do, but somehow it messes up and uses the wrong $ in this case it seems |
08:45:33 | * | krux02 joined #nim |
08:47:48 | Araq | clyybber: https://gist.github.com/Araq/3510824cb0207eb3ac4d197962ecef2d this also leaks |
08:50:19 | FromDiscord | <Clyybber> Ah, I see |
08:52:48 | * | unclechu quit (Quit: killed) |
08:52:48 | * | BitPuffin quit (Quit: killed) |
08:52:48 | * | k0mpjut0r quit (Quit: killed) |
08:52:48 | * | GitterIntegratio quit (Quit: killed) |
08:52:48 | * | reversem3 quit (Quit: killed) |
08:52:49 | * | leorize[m] quit (Quit: killed) |
08:52:54 | * | lnxw37d4 quit (Quit: killed) |
08:52:56 | * | hnOsmium0001[m] quit (Quit: killed) |
08:52:56 | * | planetis[m] quit (Quit: killed) |
08:52:56 | * | stisa[m] quit (Quit: killed) |
08:52:59 | * | guelosk[m] quit (Quit: killed) |
08:52:59 | * | silvernode[m] quit (Quit: killed) |
08:53:05 | * | rakgew[m] quit (Quit: killed) |
08:53:08 | * | brainbomb[m] quit (Quit: killed) |
08:53:08 | * | jaens[m] quit (Quit: killed) |
08:53:09 | * | einichi quit (Quit: killed) |
08:53:10 | * | MTRNord[m] quit (Quit: killed) |
08:53:11 | * | agentofuser[m] quit (Quit: killed) |
09:18:22 | * | stisa[m] joined #nim |
09:19:19 | * | stisa[m] quit (Remote host closed the connection) |
09:21:05 | * | PMunch quit (Remote host closed the connection) |
09:23:57 | * | PMunch joined #nim |
09:25:22 | FromDiscord | <jseb> sent a code paste, see https://play.nim-lang.org/#ix=2xXX |
09:26:31 | * | planetis[m] joined #nim |
09:26:44 | FromDiscord | <jseb> (edit) 'https://play.nim-lang.org/#ix=2xXX' => 'https://play.nim-lang.org/#ix=2xXY' |
09:28:09 | Araq | you can use a template and pass the *field name* as a parameter |
09:28:16 | FromDiscord | <haxscramper> You can make a template that will transform code like `{"CameraLeft" : (vMove.fY += vScrollSpeed.fY)}` into corresponding if statements, but I don't think it is worth the trouble unless you have a lot of checks |
09:29:40 | * | Tanger quit (Ping timeout: 272 seconds) |
09:30:24 | FromDiscord | <jseb> ah a template, so it's metaprogramming, is that ? |
09:31:26 | FromDiscord | <jseb> no, i have not so much test, it was for improving my Nim. Thank you for the answer |
09:31:33 | * | konkrrrrrr joined #nim |
09:32:05 | FromDiscord | <haxscramper> https://play.nim-lang.org/#ix=2xXZ |
09:32:33 | FromDiscord | <haxscramper> Simplified version but should be close enough |
09:33:51 | * | kinkinkijkin quit (Ping timeout: 244 seconds) |
09:34:12 | FromDiscord | <jseb> thank you |
09:35:09 | FromDiscord | <jseb> i have found template section in _Nim in action_, going to read it |
09:47:01 | FromDiscord | <himu> [SELF-PROMOTION] Hi everyone. If you guys are ever making some CLI utility app, do consider using https://github.com/Himujjal/asciitextNim which is my first library with Nim. It prints ascii letters with a huge size.↵↵Thanks to @juan_carlos for the awesome pull request and for introducing me to Nim! |
09:50:11 | FromDiscord | <himu> Only hoping for https://github.com/nim-lang/Nim/issues/6638 to be resolved someday! Nim is awesome. |
09:50:13 | disbot | ➥ Thinking about default "not nil" ; snippet at 12https://play.nim-lang.org/#ix=2xY1 |
09:53:25 | FromDiscord | <Clyybber> Araq: Ok to merge https://github.com/nim-lang/Nim/pull/15345 ? |
09:53:26 | disbot | ➥ added decodeQuery() to uri.nim |
09:53:31 | Araq | himu: alehander92 is working on this :-) |
09:54:44 | FromDiscord | <himu> @Araq[IRC]#0000 I had a conversation with him the other day. It will be something that will I guess attract more and more developers to Nim. |
09:55:17 | Araq | clyybber, nah, it needs a .since entry and the implementation needs to be more efficient |
09:57:13 | * | GitterIntegratio joined #nim |
09:57:13 | * | leorize[m] joined #nim |
09:57:13 | * | unclechu joined #nim |
09:57:13 | * | codic joined #nim |
09:57:13 | * | reversem3 joined #nim |
09:57:13 | * | einichi joined #nim |
09:57:14 | * | k0mpjut0r joined #nim |
09:57:14 | * | MTRNord[m] joined #nim |
09:57:14 | * | BitPuffin joined #nim |
09:57:14 | * | lnxw37d4 joined #nim |
09:57:14 | * | jaens[m] joined #nim |
09:57:14 | * | hnOsmium0001[m] joined #nim |
09:57:14 | * | brainbomb[m] joined #nim |
09:57:19 | * | silvernode[m] joined #nim |
09:57:19 | * | guelosk[m] joined #nim |
09:57:20 | * | agentofuser[m] joined #nim |
09:57:20 | * | rakgew[m] joined #nim |
09:57:21 | * | stisa[m] joined #nim |
10:01:34 | * | abm joined #nim |
10:10:47 | narimiran | @Clyybber i think you're missing "import std/private/since" |
10:12:36 | narimiran | @Clyybber and also see your telegram about needed 1.4 reverts ;) |
10:13:03 | FromDiscord | <Clyybber> Oh, thanks |
10:24:27 | FromDiscord | <Clyybber> Heh, the branch the PR was made from is so old that it doesn't have std/private/since |
10:28:29 | * | femtotones|notaw joined #nim |
10:29:23 | * | codic quit (Quit: Idle for 30+ days) |
10:41:38 | FromDiscord | <Recruit_main707> can you use a macro to parse a file? |
10:41:45 | FromDiscord | <Clyybber> Yes |
10:42:09 | FromDiscord | <Clyybber> Theres staticRead which can be used in a macro |
10:44:16 | FromDiscord | <Recruit_main707> but can i get the AST that nim would parse for the contents of that file? |
10:45:46 | * | Zectbumo quit (Remote host closed the connection) |
10:46:16 | FromDiscord | <Clyybber> sure, take a look at macros.parseStmt/parseExpr |
10:47:43 | FromDiscord | <Recruit_main707> thanks, thats what i was looking for |
11:03:27 | FromDiscord | <Recruit_main707> @Clyybber do those methods work for non nim code though? |
11:17:46 | * | idf left #nim ("ERC (IRC client for Emacs 27.1)") |
11:18:09 | FromDiscord | <Yardanico> @Recruit_main707 no one stops you from reading some text at compile time and using you own parsers and stuff :) but parseStmt/Expr is only for Nim code obviously |
11:18:27 | * | idf joined #nim |
11:18:47 | FromDiscord | <Yardanico> But it might be easier to call another program at compile time to parse your text |
11:19:14 | FromDiscord | <Recruit_main707> i heard that a tool parsed python code as nim code or some weird shit |
11:19:39 | FromDiscord | <Recruit_main707> does that mean that python code is technically compatible with nim syntax? but that it may not? |
11:19:57 | FromDiscord | <Recruit_main707> and thats why i cant parse this code? |
11:21:57 | FromDiscord | <Clyybber> no its not |
11:22:10 | FromDiscord | <Clyybber> theres py2nim afair |
11:23:12 | alehander92 | noo |
11:23:28 | FromDiscord | <Yardanico> @Recruit_main707 most Python syntax is also valid Nim syntax |
11:23:32 | alehander92 | you can parse your code |
11:23:35 | FromDiscord | <Yardanico> But that's as far as you can go |
11:23:37 | alehander92 | and then convert it to nim code |
11:23:47 | alehander92 | but please dont really assume anything more |
11:23:50 | FromDiscord | <Yardanico> You'll have to write a parser yourself |
11:23:52 | alehander92 | Python syntax != Nim syntax |
11:23:55 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
11:24:03 | alehander92 | they are similar |
11:24:05 | alehander92 | that's all |
11:24:19 | * | pbb joined #nim |
11:24:19 | FromDiscord | <Yardanico> well, as i said, almost all of the Python code is valid Nim syntax |
11:24:30 | FromDiscord | <Yardanico> Not code, but syntax |
11:24:40 | FromDiscord | <Yardanico> Of course it won't be as easy as you think |
11:25:01 | FromDiscord | <Yardanico> You can check nimpylib for some simple stuff exploiting this "feature" |
11:25:51 | FromDiscord | <Recruit_main707> yeah, ok |
11:26:35 | FromDiscord | <Yardanico> It's https://github.com/Yardanico/nimpylib/blob/master/src/pylib/tonim.nim |
11:27:17 | FromDiscord | <Recruit_main707> yeah this is what i meant |
11:35:23 | * | superbia1 joined #nim |
11:37:46 | * | superbia quit (Ping timeout: 246 seconds) |
11:53:36 | alehander92 | Yardanico i |
11:53:42 | alehander92 | don't like this |
11:53:58 | alehander92 | because it might misguide people that somehow python is a valid subset of nim or something |
11:54:27 | alehander92 | the similarities between nim and python end at design style imho |
11:54:38 | alehander92 | it's not as ruby and crystal |
11:54:58 | alehander92 | so it's better for people to not put *too* much stock into them being very close |
11:55:14 | alehander92 | othrwise the pylib dsl is pretty cool! |
11:55:32 | alehander92 | (i dont like the python code is valid nim statement) |
11:55:59 | FromDiscord | <Clyybber> @Yardanico The issue is pythons array slice syntax |
11:56:36 | FromDiscord | <Yardanico> @alehander92 not sure why, i didn't say that all of Python code is valid Nim or if Python code is valid Nim code |
11:56:51 | * | rockcavera joined #nim |
11:56:56 | FromDiscord | <Yardanico> I merely said that most of Python code is valid Nim syntax and nothing more |
11:58:04 | alehander92 | well i think this is misleading |
11:58:18 | FromDiscord | <Yardanico> why? |
11:58:22 | alehander92 | because it's very subjective |
11:58:29 | alehander92 | how much is "most" |
11:58:34 | FromDiscord | <Yardanico> Syntax is just syntax |
11:58:35 | FromDiscord | <Recruit_main707> the only way it was misleading for me is that i thought macros could parse any code |
11:58:38 | FromDiscord | <Yardanico> not the code |
11:58:48 | FromDiscord | <Recruit_main707> (which is pretty dumb now that i think it= |
11:58:48 | alehander92 | and because i think we dont make great difference between semantics and syntax |
11:58:52 | FromDiscord | <Yardanico> you can't execute that Python code as Nim code |
11:58:56 | alehander92 | so people would just assume(i did also) |
11:59:04 | alehander92 | ok man but this just doesnt work |
11:59:13 | alehander92 | if you pass 200 real world python files to nim |
11:59:22 | alehander92 | how many would be parsed with 0 errors |
11:59:35 | alehander92 | even if 90% of the syntax is somehow passable |
11:59:44 | alehander92 | people would stumble in the details |
12:00:01 | alehander92 | and even then, the same syntax often means something different |
12:00:11 | alehander92 | or it's not the idiomatic nim thing |
12:00:19 | FromDiscord | <Clyybber> we are talking syntax, not semantics |
12:00:22 | alehander92 | yes! |
12:00:30 | FromDiscord | <Clyybber> > and even then, the same syntax often means something different |
12:00:35 | alehander92 | but again, do the 200 real world files test |
12:00:57 | FromDiscord | <Clyybber> I think what would cause the most problems would be array slice syntax |
12:01:01 | alehander92 | sorry |
12:01:05 | alehander92 | my point is that |
12:01:15 | FromDiscord | <Yardanico> look, I'm not saying that it's easy or that the python code is parsed CORRECTLY |
12:01:15 | alehander92 | just being parsed doesn't really matter |
12:01:22 | FromDiscord | <Yardanico> It's just a nice fact |
12:01:27 | FromDiscord | <Clyybber> HMM actually! |
12:01:29 | alehander92 | but a misleading fact |
12:01:32 | FromDiscord | <Yardanico> An accident |
12:01:34 | FromDiscord | <Yardanico> It's not |
12:01:36 | FromDiscord | <Clyybber> all of python is valid nim syntax |
12:01:36 | alehander92 | because people easily jump to |
12:01:45 | alehander92 | oh i can just import this python file or analyze it easily |
12:01:47 | FromDiscord | <Clyybber> ALL of python |
12:01:53 | FromDiscord | <Clyybber> you know why? |
12:01:54 | FromDiscord | <Rika> thats a bad assumption |
12:01:59 | FromDiscord | <Clyybber> cuz source code filters :PPP |
12:02:00 | alehander92 | yes because all of PHP is as well :P |
12:02:02 | FromDiscord | <Rika> the fact is correct, the assumption is not |
12:02:05 | alehander92 | yeah haha |
12:02:12 | FromDiscord | <Yardanico> Well @alehander92 that's not the way to think about it |
12:02:18 | alehander92 | but yardanico |
12:02:26 | FromDiscord | <Yardanico> So you would not talk about other facts which done people might misinterpret? |
12:02:30 | alehander92 | i think you cant tell people how to think :D |
12:02:33 | alehander92 | well yeah |
12:02:46 | alehander92 | lang design is about limiting misinterpretation |
12:03:05 | alehander92 | my point is mostly that |
12:03:15 | FromDiscord | <Clyybber> if disruptek were here, he would add it to the list of famous quotes |
12:03:17 | alehander92 | people often have this compiled python idea |
12:03:30 | alehander92 | and i've heard it's not really helpful sometims |
12:03:52 | alehander92 | yeah sorry for nitpicking man |
12:03:59 | alehander92 | btw what happens with disruptek |
12:04:03 | alehander92 | ~last disruptke |
12:04:04 | disbot | no footnotes for `last`. 🙁 |
12:04:09 | alehander92 | !last disruptek |
12:04:10 | disbot | disruptek left 12#nim-offtopic 34 hours ago and last spoke 742 hours ago |
12:04:11 | * | idf left #nim ("ERC (IRC client for Emacs 27.1)") |
12:04:13 | FromDiscord | <Yardanico> I'm not even saying that this fact should be relied upon |
12:04:19 | FromDiscord | <Yardanico> It shouldn't |
12:04:54 | alehander92 | !seen disruptek |
12:04:55 | disbot | disruptek left 12#nim-offtopic 34 hours ago and last spoke 742 hours ago |
12:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
12:06:39 | * | supakeen joined #nim |
12:07:11 | * | waleee-cl joined #nim |
12:08:28 | * | PMunch quit (Remote host closed the connection) |
12:08:55 | FromDiscord | <Clyybber> @Yardanico is this server running the latest ircord? |
12:09:03 | FromDiscord | <Yardanico> No :( |
12:09:35 | FromDiscord | <Yardanico> I put the latest update a few weeks ago, but it stopped working after some time without any crashes, so i reverted |
12:09:41 | FromDiscord | <Yardanico> And didn't have time to test after that |
12:09:44 | FromDiscord | <Clyybber> wdym without crashes? |
12:09:50 | FromDiscord | <Yardanico> Well, it just hanged |
12:09:59 | FromDiscord | <Yardanico> No crashes, not relaying any messages |
12:10:59 | FromDiscord | <Clyybber> is it possible to run the new version only on <#456504845642235914> ? |
12:11:16 | FromDiscord | <Clyybber> and use the old one for all other channels? |
12:11:17 | alehander92 | Yardanico i know, i am just saying |
12:11:19 | * | PMunch joined #nim |
12:11:24 | alehander92 | it's better to use a python parser to parse python |
12:11:34 | alehander92 | because edge cases are too important |
12:12:01 | FromDiscord | <Clyybber> he didn't say it was a good idea |
12:12:02 | FromDiscord | <Yardanico> @Clyybber well i always run it in that channel when doing changes and testing them |
12:12:10 | FromDiscord | <Yardanico> But i don't run it 24/7 |
12:12:14 | FromDiscord | <Yardanico> Only when doing stuff |
12:12:16 | FromDiscord | <Clyybber> ah ok |
12:12:22 | alehander92 | i know: but people don't read "not relied upon" |
12:12:33 | alehander92 | they just go and remembr hey the syntax is valid anyway |
12:12:38 | alehander92 | that's all |
12:12:44 | FromDiscord | <Yardanico> I'll try to update it soon |
12:12:45 | alehander92 | gentle reminder |
12:12:51 | FromDiscord | <Clyybber> @Yardanico nice! |
12:13:56 | alehander92 | !last zevv |
12:13:56 | disbot | Zevv spoke in 12#nim 42 hours ago 12https://irclogs.nim-lang.org/16-09-2020.html#17:36:20 |
12:14:59 | FromDiscord | <exelotl> "All of PHP is valid Nim syntax" is not something I wanted to hear today xD |
12:15:02 | * | Vladar joined #nim |
12:15:05 | FromDiscord | <Clyybber> lol |
12:15:20 | FromDiscord | <Clyybber> All of everything is valid Nim syntax, discarding the semantics |
12:15:37 | FromDiscord | <Clyybber> just use a source code filter that replaces everything with one `discard` |
12:16:31 | FromDiscord | <exelotl> Yes! This sounds like the treatment that every PHP project really needs |
12:16:50 | FromDiscord | <Yardanico> *a grim reminder that Nim once had a PHP backend* |
12:17:06 | FromDiscord | <lqdev> what |
12:17:09 | FromDiscord | <exelotl> Nonononono |
12:17:11 | alehander92 | great quiz |
12:17:13 | alehander92 | question |
12:17:30 | FromDiscord | <Yardanico> @lqdev it was in the same file as the js backend |
12:17:36 | FromDiscord | <Yardanico> And was removed in ~2017 |
12:17:54 | FromDiscord | <Yardanico> 4raq said he was paid to make it a long time ago, iirc |
12:18:10 | alehander92 | php gets better now |
12:18:23 | FromDiscord | <Clyybber> disruptekImpersonation: I was paid to bath in shit once too |
12:18:33 | * | moerm joined #nim |
12:18:42 | FromDiscord | <Yardanico> That was believable |
12:18:52 | moerm | A friendly Hello from evil moerm ;) |
12:18:55 | FromDiscord | <exelotl> oh hi disruptek |
12:19:08 | FromDiscord | <exelotl> oh that was bad timing |
12:19:34 | FromDiscord | <exelotl> hi evil moerm who is now apparently disruptek |
12:19:52 | FromDiscord | <Clyybber> exolotl is thoroughly confused |
12:19:53 | FromDiscord | <Yardanico> wat |
12:20:02 | FromDiscord | <Yardanico> @exelotl you ok? |
12:20:06 | FromDiscord | <Yardanico> :nimrawr: |
12:20:30 | Oddmonger | this chan needs a who's who |
12:20:39 | moerm | exelots Nope. moerm is moerm and moerm only |
12:20:46 | FromDiscord | <Clyybber> Oddmonger: Nah, bro |
12:20:57 | FromDiscord | <exelotl> I was responding to clyybber but moerm popped in with a greeting at exactly the wrong time xD |
12:21:02 | FromDiscord | <Rika> what if someone renames themselves to mreom |
12:21:14 | FromDiscord | <Clyybber> akir |
12:21:16 | FromDiscord | <Yardanico> time to finally sit down to my pc in like 2 weeks |
12:21:31 | moerm | exelots at exactly the wrong time? Elaborate please |
12:22:12 | FromDiscord | <Clyybber> moerm: it reordered the messages, so it looked like he was callign you disruptek |
12:22:16 | FromDiscord | <Yardanico> Confusion - 100 |
12:22:47 | FromDiscord | <exelotl> moerm: clyybber did a disruptek impersonation. So I said hi disruptek. But you said hello like 0.1 seconds before I hit send. So it looked like I was calling you disruptek |
12:22:59 | moerm | Clyybber hmm ... I think we'll all survive that quite well |
12:23:56 | FromDiscord | <Clyybber> hopefully |
12:23:59 | * | Yardanico_ quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
12:24:19 | * | Yardanico joined #nim |
12:24:50 | moerm | wb Yardanico |
12:25:36 | moerm | Does anyone here know "Pawn", the tiny interpreter (C like lang.)? |
12:26:10 | Yardanico | hai |
12:26:32 | Yardanico | i heard about it |
12:26:36 | Yardanico | it's the one used for SAMP scripting? |
12:26:40 | Yardanico | (samp = san andreas multiplayer) |
12:26:57 | moerm | I LOVE it (for small scripting jobs) |
12:27:30 | moerm | Don't think so/don't know (SAMP). But enlightenment use it (and call it "Embryo") |
12:27:53 | moerm | It's tiny, it's fast, and it's quite well engineered |
12:28:47 | moerm | Only 1 drawback: No shebang line. I just changed that and use it for lots of OS housekeeping (instead of perverse shell scripts) |
12:29:09 | Yardanico | use nimscript instead :) |
12:29:21 | moerm | Too fat (for that purpose) |
12:29:30 | Yardanico | well I don't really think so :P |
12:29:31 | Yardanico | or just plain nim itself |
12:29:42 | Yardanico | compilation is only done once |
12:30:09 | moerm | That's what I use for somewhat bigger jobs (Nim) |
12:30:42 | moerm | Pawn ("compiled") code can run *everywhere*, unchanged |
12:31:26 | Yardanico | same for nimscript :) |
12:31:35 | moerm | Suppose you have 2 linux servers and a dozen FreeBSD servers. You do not want to produce 2 versions of a small thingy |
12:34:25 | moerm | Next step: I'll turn it into a "mini shell" so I can finally do shell jobs in a decent language (and not perverse shell code) |
12:35:47 | FromDiscord | <Rika> someone post that competing standards xkcd |
12:36:11 | * | rockcavera quit (Ping timeout: 240 seconds) |
12:36:39 | Zevv | alehander92: zup |
12:36:56 | alehander92 | i wondered what happened with ya |
12:37:01 | Zevv | life |
12:37:02 | alehander92 | atlantic coast people |
12:37:24 | alehander92 | NATO of netherlands and disruptekusa |
12:37:27 | alehander92 | ah |
12:37:29 | Yardanico | wat |
12:37:32 | alehander92 | time for weekend |
12:38:03 | alehander92 | Yardanico don't get nervous, no more cold war |
12:38:12 | Yardanico | yeah, we'll get a real ww3 in december |
12:38:16 | Yardanico | *inside news* |
12:38:42 | FromDiscord | <hobbledehoy> Hey, spoilers |
12:38:51 | moerm | We **need** nato. To protect us from the evil Russians! And the evil Chinese! |
12:38:53 | Yardanico | i'm russian so I'm allowed to post spoilers |
12:39:18 | moerm | hello Zevv & hobbledehoy |
12:39:30 | FromDiscord | <hobbledehoy> Hello |
12:40:01 | moerm | Yardanico, nato will keep you at bay, hehe |
12:40:03 | Zevv | I have been promoted from engineer to plumbing architect, so my new role is to mangle up with friggin' everyting, find out that friggin' everything is in utter state of rotten discombobulation, so I friggin' whine and cry to everyone and asking embarrising questions and make up stuff on how it should be done better |
12:40:16 | Yardanico | moerm: nothing can keep icbms at bay :P |
12:40:36 | moerm | Zevv see, that's why we need nato. |
12:40:46 | Zevv | i know, right |
12:41:01 | Yardanico | Revert "Revert "Revert "Fix #5691 (#15158)""" |
12:41:02 | disbot | https://github.com/nim-lang/Nim/pull/15158 -- 6Fix #5691 |
12:41:06 | Yardanico | ah yes, modern git workflow /s |
12:41:18 | moerm | Yardanico, Hey don't you make jokes about the supremacy superiority 8 inch floppy disk based nato icbms! |
12:41:53 | Yardanico | moerm: https://www.youtube.com/watch?v=Mqps4anhz0Q |
12:41:55 | Yardanico | 0:42 icbm |
12:42:00 | Yardanico | great song anyway |
12:42:07 | moerm | Yardanico, HAHAHA ... I just had a (not at all) funny discussion with git fans who don't want to accept that I don't use sh_tty git but prefer fossil |
12:42:23 | Yardanico | well, it's not really a git fault |
12:42:35 | Yardanico | also, on the topic of git, github finally released their official cli app |
12:42:44 | Yardanico | before that there was "hub" with a lot of similar functionality |
12:42:50 | Yardanico | like checking out PRs easily |
12:42:59 | Yardanico | https://cli.github.com/ |
12:43:08 | * | krux02 quit (Remote host closed the connection) |
12:43:21 | moerm | I don't care ... I won't use git, period. And why should I when there is a *good* scm? |
12:43:26 | alehander92 | yeah i tried it |
12:43:34 | alehander92 | `gh` is kinda cool if you use github a lot |
12:43:43 | alehander92 | but i just like cli tools |
12:43:51 | Yardanico | alehander92: well gh is a cli tool :) |
12:43:55 | alehander92 | yes! |
12:44:00 | alehander92 | but i also want similar for |
12:44:01 | Yardanico | and checking out a github PR isn't that simple without these tools |
12:44:02 | alehander92 | others |
12:44:04 | FromDiscord | <Clyybber> git is good IMO, its cli is a bit shite |
12:44:05 | alehander92 | yeah |
12:44:07 | moerm | Anyone had a look at the Huawei OS? (open source) |
12:44:14 | alehander92 | huh is it OS |
12:44:18 | alehander92 | open source* |
12:44:21 | Yardanico | yes of course |
12:44:34 | Yardanico | Harmony OS |
12:44:35 | alehander92 | how could NATO let this happen |
12:44:43 | alehander92 | a communist os |
12:44:46 | moerm | I got interested because it seems they have kind of verified it |
12:45:15 | Yardanico | "The underlying layer of HarmonyOS is composed of HarmonyOS microkernel, Linux kernel and Lite OS and it will become a complete HarmonyOS microkernel architecture in the future." |
12:45:37 | moerm | alehander92, that's because the Chinese are so cunning! Example: they developed Harmony in their own country. Cunning Chinese, cunning |
12:45:40 | Yardanico | maybe that's old info though |
12:45:52 | * | rockcavera joined #nim |
12:46:14 | moerm | If it really was based on linux I'd be very disappointed (and not use it) |
12:46:24 | alehander92 | i think not |
12:46:27 | Yardanico | moerm: this says that it uses linux partly |
12:46:30 | Yardanico | and that info is from 14 months ago |
12:46:40 | alehander92 | see ya guys, back to work .. should focus |
12:46:45 | Yardanico | also we have #nim-offtopic, yeah :P |
12:47:05 | moerm | Yardanico, Hmmm ... let's hope that's mistaken and they are not linux based |
12:47:08 | Zevv | #nim-offtopic is only for when #nim is busy |
12:47:42 | moerm | NOTHING is off topic for a language that is on its way to rule the world(TM) |
12:47:53 | Yardanico | then we should accept that the mascot should be that honey badger |
12:47:58 | FromDiscord | <Clyybber> YES |
12:47:59 | Yardanico | the only true nim mascot |
12:48:10 | moerm | I like honey badgers |
12:48:10 | FromDiscord | <Clyybber> never forget |
12:48:29 | Yardanico | also I saw a lot of fixes for arc and especially orc |
12:49:00 | FromDiscord | <Clyybber> moerm: Is there something like submodules for fossil? |
12:49:01 | moerm | Frankly, I find that whole mem/GC zoo confusing |
12:49:06 | Yardanico | ohh 4raq added an undocumented switch for turning off cursor inference in the end :P |
12:49:17 | Yardanico | moerm: that's one of the things on nim 2020 roadmap |
12:49:24 | moerm | Clyybber I don't know but I guess yes |
12:50:13 | FromDiscord | <Clyybber> because thats gits killer feature IMO |
12:50:17 | moerm | I want ONE reasonably good default plus an option to manually handle mem |
12:50:26 | Yardanico | moerm: that'll be orc in some time |
12:50:33 | Yardanico | not in 1.4 though I think |
12:50:34 | moerm | or arc? |
12:50:36 | Yardanico | not arc |
12:50:42 | Yardanico | arc doesn't deal with cycles, so it'll be orc |
12:50:53 | moerm | or foo? or bar? ... it got confusing and that's not good for uptake |
12:50:59 | Yardanico | it's not really confusing |
12:51:06 | Yardanico | most people only know the default GC which is orc |
12:51:08 | Yardanico | refc* |
12:51:12 | Yardanico | and the new default one will be orc |
12:51:20 | Yardanico | and most of people won't need to care about anything else |
12:51:24 | FromDiscord | <Clyybber> moerm: It doesn't matter. We will set the defaults |
12:51:26 | Yardanico | also 4raq apparently found a way to make marshal/deepCopy work with arc/orc |
12:51:29 | moerm | OK, sounds good. WHEN? |
12:51:35 | FromDiscord | <Clyybber> Soon TM |
12:51:47 | Yardanico | moerm: when it's considered stable and tested enough |
12:51:49 | FromDiscord | <Clyybber> If you find it confusing it shouldn't matter to you |
12:52:15 | moerm | Yardanico, Tsss .. what a meaningless response |
12:52:21 | Yardanico | moerm: except it's not :P |
12:52:33 | Yardanico | https://github.com/nim-lang/Nim/issues?q=is%3Aopen+is%3Aissue+label%3AARC |
12:53:35 | moerm | Actually those zoos (GC, traits, pragmas, ...) are the reason I often return to Ada currently. |
12:53:55 | Yardanico | these are not zoos |
12:54:29 | Yardanico | pragmas, in one form or another, exist in most languages |
12:54:34 | moerm | For me they are |
12:54:46 | Yardanico | even in ada |
12:55:15 | moerm | Don't you say ... you know I was born just 10 minutes ago and know nothing about languages ... |
12:55:36 | Yardanico | i know you're not that young, but saying things like that is a bit too much imo |
12:56:19 | Yardanico | all of these things exist to fine tune your programs |
12:56:23 | Yardanico | for your specific workloads |
12:56:46 | moerm | A smart man blindly defends "his" language". A wise man listens to criticism of it ... |
12:56:55 | FromDiscord | <Clyybber> eh? |
12:57:00 | FromDiscord | <Clyybber> whats the criticism here? |
12:57:06 | FromDiscord | <Clyybber> that we offer too many options? |
12:57:11 | moerm | I didn't say that there are no reasons for it. I said it's too many and too confusing |
12:57:20 | FromDiscord | <Clyybber> but how is it confusing? |
12:57:26 | FromDiscord | <Clyybber> its not like you have to choose a gc |
12:57:37 | moerm | Maybe the real problem behind it is lacking docu |
12:57:43 | FromDiscord | <Clyybber> yeah, I think so |
12:58:55 | FromDiscord | <Clyybber> moerm: For example, I think you mostly know about arc from IRC right? So a "normal" user who just reads the doc won't find out about arc, or at least not in a manner that should confuse him |
12:59:16 | FromDiscord | <shashlick> Everything is not knowable - these complaints will never go away |
12:59:58 | moerm | There is a reason I call myself "evil moerm" (evil laughter) |
13:00:47 | Zevv | i/c |
13:00:48 | moerm | Perfection is not when nothing can be added anymore but when nothing can be taken away anymore |
13:00:48 | Yardanico | you all should instead listen to https://www.youtube.com/watch?v=q_5ZgKg_ifg or its longer (and better) version - https://www.youtube.com/watch?v=C8fkSFIf3hY |
13:01:21 | FromDiscord | <Clyybber> moerm: Nah, perfection is when nothing can be added *and* nothing can be taken away |
13:01:26 | moerm | I use invidious and boycott youtube |
13:01:44 | Yardanico | moerm: well, you can always change the link from youtube.com to invidio.us |
13:01:45 | FromDiscord | <Clyybber> but arguably that also matches broken and stagnated projects |
13:02:10 | moerm | Clyybber that's not what saint-exupery said and it's not really true either IMO |
13:02:37 | FromDiscord | <Clyybber> yeah, I was jesting |
13:04:01 | * | arecacea1 quit (Remote host closed the connection) |
13:04:10 | FromDiscord | <shashlick> One person's powerful is another person's complicated |
13:04:15 | * | njoseph quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
13:04:21 | * | njoseph joined #nim |
13:04:30 | Yardanico | that's a good quote |
13:04:32 | moerm | We should avoid linking to sites that massively ad spam us and censor us - like youtube does |
13:04:40 | * | arecacea1 joined #nim |
13:04:48 | Yardanico | moerm: no :( |
13:04:48 | FromDiscord | <Clyybber> use an adblocker |
13:04:54 | Yardanico | there is still tons of good content on youtube |
13:05:04 | moerm | shashlick well, not everyone can be as smart as you are |
13:05:05 | Yardanico | and a lot of it is only possible because of youtube's popularity |
13:05:28 | moerm | Yardanico, And all of it is available elsewhere too |
13:05:33 | FromDiscord | <shashlick> Trust me, I'm far from it and I don't understand the majority of Nim |
13:05:35 | Yardanico | moerm: nah |
13:06:04 | FromDiscord | <shashlick> Especially after living in this community and watching 15 years olds who know more |
13:06:05 | moerm | Whatever AIAIC youtube should be boycotted but I respect that others are less stringent |
13:06:16 | * | narimiran quit (Ping timeout: 272 seconds) |
13:06:17 | Yardanico | moerm: to top it all off, I actually pay for youtube premium (it's only ~$3 in Russia anyway) |
13:06:28 | Yardanico | say anything, but yes, I've done that for more than a year already |
13:06:37 | FromDiscord | <Clyybber> what does AIAIC mean? |
13:06:45 | Yardanico | AIA-IC – A Component of the American Institute of Architects |
13:06:47 | moerm | The day when I pay those gangsters won't come |
13:06:47 | Yardanico | :D |
13:06:48 | FromDiscord | <Clyybber> Yardanico: Lol, that I don't get |
13:07:10 | FromDiscord | <Clyybber> Yardanico: Does the money go to the people you watch? |
13:07:11 | moerm | Sorry, typo. I meant AFAIC (as far as I'm concerned) |
13:07:20 | Yardanico | @clyybber well first of all, then I don't need to use youtube vanced or newpipe on mobile, and also the people whose content I watch get money |
13:07:26 | Yardanico | it's not a lot, but they get something :P |
13:07:38 | FromDiscord | <Clyybber> moerm: Ah gotcha |
13:07:39 | Yardanico | (so I don't get ads on mobile I mean) |
13:08:03 | FromDiscord | <Clyybber> Yardanico: Ah, fair. Newpipe is far better than youtube tho :P |
13:08:06 | FromDiscord | <Clyybber> (when it doesn't break) |
13:08:12 | FromDiscord | <Varriount> Yardanico: I pay for YouTube as well |
13:08:13 | moerm | If one needs to pay for not being ad spammed something is VERY wrong |
13:08:19 | Yardanico | it's not "ad spam" |
13:08:27 | Yardanico | people need a way to earn money off their content too |
13:08:38 | FromDiscord | <Clyybber> moerm: Spam is unsolicited, you have made the choice to go on youtube |
13:08:46 | FromDiscord | <Varriount> I'm paying the creators for making content, and Google for hosting |
13:08:50 | moerm | welcome "influeners" ... |
13:09:21 | Yardanico | I don't watch "influencers" |
13:09:27 | FromDiscord | <Clyybber> influencers is a whole different beast |
13:09:37 | Yardanico | and not really related to youtube too |
13:09:39 | Yardanico | they are everywhere |
13:09:43 | Yardanico | they can be in IRC too for all I know |
13:09:57 | moerm | Varriount That's decent but it just so happens that the creators only get crumbs and their channels may be vanished if the youtube censors don't like them |
13:10:14 | Yardanico | moerm: so what's the solution? |
13:10:22 | Yardanico | what's the better alternative to youtube that you use? |
13:10:32 | FromDiscord | <shashlick> There's also the category of the uninfluencible |
13:10:34 | FromDiscord | <Clyybber> dtube |
13:10:41 | moerm | Yardanico, How about honesty as a principle? Instead of euphemisms |
13:10:45 | * | krux02 joined #nim |
13:11:09 | FromDiscord | <Clyybber> what euphemisms? |
13:11:54 | moerm | Clyybber "freedom", "choice", etc blabla when in fact they are censoring and when "freedom" actually means "as long as WE like it" |
13:12:10 | Yardanico | well, you know that they also have to comply with laws of different countries? |
13:12:38 | FromDiscord | <Clyybber> freedom always means as long as we like it |
13:12:39 | moerm | Yardanico, Poor little youtube! |
13:13:03 | moerm | Except for wanton vanishing and censorship |
13:13:19 | Yardanico | moerm: it's just that I always see people talking "youtube is bad", "muh censorship" but there's no better alternative |
13:13:27 | Yardanico | because there are still country laws you have to follow |
13:13:39 | Yardanico | or otherwise will get your website blocked and will have to host/access it through tor |
13:13:47 | Yardanico | so it'll get much less people visiting it |
13:13:51 | FromDiscord | <Rika> call me when japanese people start using invidious or w/e its called, theyre always amongst the last to adopt anything |
13:14:08 | moerm | Yardanico, It's not the laws that are the main problem. It's youtubes own internal guidelines |
13:14:09 | solitudesf | invidious is just youtube frontend |
13:14:15 | Yardanico | yeah |
13:14:17 | Yardanico | like nitter |
13:14:17 | FromDiscord | <shashlick> When organizations become much bigger than any individual, they are bound to be robotic and regimented |
13:14:29 | FromDiscord | <shashlick> Every government operates that way |
13:14:37 | moerm | solitudesf, Yes but you don't get ad spammed |
13:14:37 | Yardanico | moerm: yeah, yeah, big websites always bad, I understand you |
13:14:49 | solitudesf | moerm, i dont get spammed on youtube either |
13:14:51 | Yardanico | moerm: and you don't help the creators or the platform itself either |
13:14:56 | moerm | No, not all big sites are always bad |
13:15:00 | Yardanico | hosting and fast CDN costs money |
13:15:22 | Yardanico | and google's CDN is one of the best in the world since they have stuff like youtube |
13:15:39 | moerm | Yardanico, ... and google is one of the richest corporations in the world ... |
13:15:41 | Yardanico | so you can saturate your link almost to 100% with 4k videos or something |
13:15:47 | Yardanico | moerm: that doesn't change anything |
13:15:56 | FromDiscord | <shashlick> It is inevitable - rules are added on a regular basis to handle all the crazy stuff |
13:16:23 | moerm | But I admit that the people are at least as guilty |
13:16:46 | FromDiscord | <shashlick> Anyone in that position will do the same |
13:16:47 | moerm | if they weren't that ignorant and stupid corporations couldn't act the way they do |
13:17:03 | FromDiscord | <shashlick> Cause everyone believes they are doing their best for the situation |
13:17:13 | FromDiscord | <shashlick> Us included |
13:17:25 | Yardanico | as long as 100% of people aren't perfect, honest, etc, we won't get better than this |
13:17:40 | FromDiscord | <shashlick> You can surely call it ignorance but it is practical |
13:17:44 | moerm | No. It's not about 100% honest, smart, etc |
13:18:02 | moerm | It's about not being totally ignorant and bland stupid and careless |
13:18:08 | Yardanico | I don't agree with that |
13:18:12 | FromDiscord | <shashlick> There's even a word for it - draconian |
13:18:13 | Yardanico | youtube is not totally ignorant |
13:18:17 | Yardanico | neither they are stupid or careless |
13:18:32 | moerm | Yardanico I'm speaking about the people |
13:19:01 | FromDiscord | <shashlick> People are less powerful than the machine |
13:19:22 | moerm | Well, whatever, I guess we've got too deep into politics ... let's return to tech/language |
13:21:11 | FromDiscord | <Clyybber> youtube is a platform, you don't have absolute freedom, now the marketing "freedom" is just marketing takl |
13:21:28 | FromDiscord | <Clyybber> and marketing is lies or half-truths |
13:21:31 | moerm | - afk (cooling down) - |
13:21:34 | FromDiscord | <Clyybber> but thats nothing new |
13:21:43 | FromDiscord | <Clyybber> moerm: Lol, do you need coolant? |
13:21:44 | Yardanico | moerm: you started that, and now you're backing off :P |
13:22:14 | FromDiscord | <shashlick> We are just as uninfluencible |
13:22:47 | FromDiscord | <Rika> well reasonable people know when to stop escalating an argument 😛 |
13:22:48 | moerm | Yardanico - Yes, evil me is backing off when I see that I opened a can with ugly worms |
13:22:59 | moerm | Rika Yes, thanks |
13:23:02 | FromDiscord | <Clyybber> huh? That discussion wasn't bad was it? |
13:24:08 | FromDiscord | <Rika> text does not convey tone well |
13:24:18 | FromDiscord | <shashlick> Logic has no loyalty, it can be taken anywhere |
13:24:20 | moerm | Clyybber ... but it had the potential to turn ugly. Now some of us know each others positions and (hopefully) can accept them |
13:25:07 | FromDiscord | <shashlick> Especially since there's no need for it to account for reality |
13:26:20 | FromDiscord | <shashlick> It's really cool cause we are all programmers and logic really means something to us but still we aren't precluded from having irrational ideas |
13:31:53 | moerm | See you, have a good time everyone |
13:32:00 | * | moerm quit (Quit: Leaving) |
13:32:55 | FromDiscord | <Clyybber> see ya |
13:33:23 | * | femtotones|notaw is now known as audiofile |
13:42:57 | FromDiscord | <mratsim> it seems so strange to see all that yellow on Github now, I feel like a JS dev |
13:43:09 | Yardanico | hehe |
13:43:19 | Yardanico | the JS colour is brighter though, ours is like orange :P |
13:43:33 | Yardanico | but now we did a lot of little things |
13:43:49 | Yardanico | changed the colour, dom verified the discord server and also made the github org look more "professional" :P |
13:45:24 | FromDiscord | <Clyybber> is it true that they lifted the color restrictions now? |
13:45:27 | Yardanico | yes |
13:45:36 | FromDiscord | <Clyybber> unfair :/ |
13:45:48 | FromDiscord | <Clyybber> but its fine as is |
13:45:50 | Yardanico | https://github.com/github/linguist/pull/4978 |
13:45:52 | disbot | ➥ Abolish restrictions governing colour choices |
13:46:10 | Yardanico | "Stop giving a crap and just go for it. Chances are the test appears 10 times more important to us than it does GitHub's designers, because they haven't been the ones dealing with it for the past 5 years." |
13:46:13 | Yardanico | xdd |
13:47:24 | FromDiscord | <Clyybber> should have sent them the colorscript |
13:52:05 | * | PMunch quit (Quit: Leaving) |
13:53:03 | * | PMunch joined #nim |
13:54:46 | * | thomasross joined #nim |
13:58:00 | Yardanico | !last narimiran |
13:58:00 | disbot | narimiran quit 751 minutes ago and last spoke 2 hours ago |
13:58:11 | Yardanico | time to update our discord link on the website |
13:59:48 | FromDiscord | <Clyybber> discord.com/nim |
13:59:59 | FromDiscord | <Clyybber> (edit) 'discord.com/nim' => 'www.discord.com/nim' |
14:00:07 | FromDiscord | <Clyybber> (edit) 'www.discord.com/nim' => 'https://discord.com/nim' |
14:00:20 | Yardanico | nah |
14:00:22 | Yardanico | discord.gg/nim |
14:00:36 | Yardanico | or discord.com/invite/nim |
14:01:07 | FromDiscord | <Clyybber> nice |
14:01:21 | FromDiscord | <flywind> Someone can solve this issue? |
14:01:22 | FromDiscord | <flywind> https://github.com/nim-lang/Nim/issues/14746 |
14:01:22 | disbot | ➥ Minor, Repo description "Garbage-Collector" |
14:01:24 | * | apahl quit (Ping timeout: 244 seconds) |
14:02:10 | Yardanico | 4raq |
14:02:13 | Yardanico | maybe dom too |
14:02:22 | * | apahl joined #nim |
14:02:25 | FromDiscord | <Clyybber> Araq: Should we just copy the description from the website there? |
14:02:44 | Yardanico | https://github.com/nim-lang/website/pull/214 |
14:02:45 | disbot | ➥ Change Discord URL |
14:02:54 | Araq | sure, I don't rmember what the website says but sure |
14:03:12 | FromDiscord | <Clyybber> the website goes for the ADA modula python comparison |
14:03:53 | FromDiscord | <Clyybber> instead of the efficiency expressiveness efficiency triple |
14:04:31 | Yardanico | "It combines successful concepts from mature languages like Python, Ada and Modula." now that I think about it, should there really be "mature" there? |
14:05:38 | FromDiscord | <Clyybber> Yeah |
14:06:04 | FromDiscord | <Clyybber> I combined the website description with the EEE slogan for github |
14:12:31 | * | PMunch quit (Quit: Leaving) |
14:18:24 | * | Kaivo quit (Ping timeout: 260 seconds) |
14:20:45 | * | Kaivo joined #nim |
14:23:30 | * | ForumUpdaterBot quit (Remote host closed the connection) |
14:23:37 | * | ForumUpdaterBot joined #nim |
14:23:55 | * | arecacea1 quit (Remote host closed the connection) |
14:24:11 | FromGitter | <iffy> Why can't I assign a proc as a member of a tuple, but if I first assign the proc to a variable, I can? https://play.nim-lang.org/#ix=2xZq |
14:24:22 | * | arecacea1 joined #nim |
14:32:45 | FromDiscord | <whisperdev> Will there ever be a parallel async? |
14:32:50 | FromDiscord | <Clyybber> iffy: Because it implicitly converts to closure |
14:32:58 | FromDiscord | <Clyybber> And the conversion doesn't happen for tuples |
14:33:18 | FromDiscord | <Clyybber> I think its worth an issue, though, even if just for the discussion |
14:34:04 | FromDiscord | <Yardanico> @whisperdev well, it already can be parallel |
14:34:18 | FromDiscord | <Yardanico> e.g. httpbeast is multi-threaded |
14:34:25 | FromDiscord | <Yardanico> but by default - not in the near future |
14:35:05 | FromDiscord | <whisperdev> So if I want something like goroutines? |
14:35:17 | ldlework | goroutines are not parallelism |
14:35:29 | ldlework | oh that was a different person who asked about paralleism, sorry |
14:36:53 | Zevv | cps promises nice things like that |
14:36:55 | Zevv | one day, one day |
14:37:14 | ldlework | csp ? |
14:37:59 | ldlework | Communicating Sequential Processes vs Continuation Passing Style |
14:38:17 | ldlework | Not sure how either gets you paralellism. |
14:38:30 | * | WilhelmVonWeiner quit (Read error: Connection reset by peer) |
14:39:11 | Zevv | the idea is that cps continuations can be executed wherever you want. If we know something is going to block, we can pass the continuation to another thread from the pool, trampoline it there, and transfer it back to the origination thread after it is done |
14:39:55 | Zevv | so IO blocking will result in async-like behaviour, but CPU blocking or blocking things like DNS resolving can be run in parallel on a different thread |
14:40:17 | ldlework | this is already what the .NET runtime does and its nothing to do with CPS |
14:40:32 | ldlework | it uses an async/await system |
14:40:49 | FromGitter | <iffy> @Clyybber k, done |
14:40:57 | Zevv | no, CPS is the stuff we do to cut up a "normal" linear Nim proc into continuations |
14:41:00 | ldlework | i guess you're saying CPS makes it easier, i'm just noting it's not required to get what you describe |
14:41:06 | ldlework | Zevv: right |
14:41:06 | Zevv | sure |
14:41:12 | Zevv | ~repo cps |
14:41:13 | disbot | no footnotes for `repo`. 🙁 |
14:41:18 | Zevv | !repo cps |
14:41:18 | disbot | https://github.com/disruptek/cps -- 9cps: 11Continuation-Passing Style for Nim 🔗 15 34⭐ 1🍴 |
14:41:40 | ldlework | Zevv: for just a second I hoped you were gonna talk about CSP :) |
14:41:47 | Zevv | Talk to disruptek |
14:42:09 | Zevv | he's a few steps ahead of me on this |
14:42:29 | Zevv | but it's mostly philosophical at this time, nothing in code that runs |
14:44:22 | * | mipri left #nim (#nim) |
14:46:12 | FromDiscord | <mratsim> Well I want to try my hand at multithreaded async, not sure how to implement it yet so I would love to see some experimental CPS programs |
14:46:32 | FromDiscord | <Yardanico> well the stuff is at https://github.com/disruptek/cps |
14:46:40 | FromDiscord | <dom96> I await something that can beat httpbeast |
14:46:56 | FromDiscord | <dom96> At the end of the day, multithreaded async is already here. |
14:47:18 | FromDiscord | <mratsim> Similarly, my thread collider here to simulate thread and model check Weave needs some kind of coroutines (can't use threads to debug threads, I need deteminism): https://github.com/treeform/greenlet |
14:48:42 | FromDiscord | <mratsim> sorry, wrong link, for now I planned used greenlet but that can also uses CPS |
14:49:45 | FromDiscord | <mratsim> @dom96 no experience at all with http serving, or async, or IO, or latency optimized stuff, so don't expect anything in less than 6 months |
14:51:50 | FromDiscord | <mratsim> + I need to finish my crypto lib first, I'm at that elusive last stage. If I finish that, it's in usable state in the weekend. If not, it can get stuck for days/weeks/months :/ |
14:52:15 | FromDiscord | <dom96> honestly I don't think working on that is important |
14:52:34 | FromDiscord | <dom96> I would much prefer if you spent your time making multithreading easier with what we already have |
14:53:20 | FromDiscord | <mratsim> People keep asking how to use Weave with for http servers or other IO-bound / latency sensitive workload |
14:53:39 | * | arecacea1 quit (Remote host closed the connection) |
14:54:03 | * | arecacea1 joined #nim |
14:54:07 | FromDiscord | <mratsim> I don't know if it's important, but I need to implement something to know the real difference. |
14:56:43 | FromDiscord | <mratsim> Oh, Nim reached 10k stars |
14:57:06 | FromDiscord | <Yardanico> oh really? |
14:57:13 | FromDiscord | <Yardanico> I was waiting for that too |
14:57:18 | FromDiscord | <Yardanico> yay |
14:57:43 | FromDiscord | <dom96> lol |
14:57:49 | FromDiscord | <dom96> I just unstarred and it went to 9950 |
14:59:19 | FromDiscord | <Yardanico> yeah, it's 9951 apparently |
14:59:30 | Zevv | 9952! |
14:59:54 | Araq | I still see 10K |
15:00:01 | Yardanico | it's roughing it up |
15:00:05 | Yardanico | from the API I see 9952 |
15:00:24 | Araq | how weird |
15:00:27 | FromDiscord | <dom96> the front end seems to have inconsistent logic with how it rounds up |
15:04:41 | Zevv | you see 10k, but when you star or unstar you see the exact value |
15:04:49 | Zevv | it was 9951, and I just starred it to 9952 |
15:05:10 | Zevv | So finally, instead of "there's dozens of us" I can now tell people "there's thousands of us" |
15:05:36 | FromDiscord | <Yardanico> zevv lol you're right |
15:05:39 | FromDiscord | <Yardanico> it looks so weird |
15:05:48 | FromDiscord | <Yardanico> since the width changes too |
15:05:51 | FromDiscord | <Yardanico> I'm pretty sure it's a bug |
15:06:17 | Zevv | nah it's just about significant digits, this makes perfect sense |
15:08:02 | FromDiscord | <Clyybber> making you feel like you matter |
15:11:04 | FromDiscord | <Clyybber> Araq: https://github.com/nim-lang/Nim/pull/15357 should be better |
15:11:04 | disbot | ➥ added decodeQuery() to uri.nim |
15:11:43 | FromDiscord | <Clyybber> but arguably it still uses the buffer approach |
15:11:58 | alehander92 | hm |
15:12:19 | FromDiscord | <Clyybber> (edit) 'arguably' => '' |
15:12:35 | Araq | it only encourages bad code |
15:12:38 | FromDiscord | <Clyybber> Also, is https://github.com/nim-lang/Nim/pull/11410 good to merge? |
15:12:38 | disbot | ➥ fix coro crash |
15:12:46 | Araq | at least turn it into an iterator |
15:12:58 | FromDiscord | <Clyybber> good idea |
15:13:17 | FromDiscord | <Yardanico> lol https://media.discordapp.net/attachments/371759389889003532/756533304613929121/unknown.png |
15:18:00 | FromDiscord | <dom96> does that mean I can spam my GitHub followers by unstarring/starring repos? |
15:18:05 | FromDiscord | <Clyybber> yep |
15:18:36 | FromDiscord | <dom96> good job github |
15:19:16 | Yardanico | Araq: by the way, seems like there is still some cursor inference bug which surfaces in combparser :D |
15:19:38 | Yardanico | because it works with --cursorinference:off with arc, but not without that switch |
15:21:14 | * | vsantana quit (Ping timeout: 258 seconds) |
15:21:42 | Araq | yeah I know, I'm hunting async leaks though |
15:21:59 | Yardanico | yeah, I saw the PRs, amazing job :) |
15:22:17 | Araq | maybe it's time to give up and declare async abandoned, problem is that it doesn't help, the ORC bugs would still be there |
15:22:44 | Araq | but if more people get exposed to orc maybe they can produce easier to track test cases |
15:23:23 | FromDiscord | <Clyybber> Araq: Would a ref graph to graphviz debug proc help? |
15:23:34 | Araq | no. |
15:24:07 | Araq | been there, done that, graphviz is ridiculous for these things |
15:24:25 | Araq | it can render thousands of nodes. problem: you cannot inspect them. |
15:25:30 | alehander92 | yeah heap visualization seems as a good thing to improve on |
15:26:24 | FromDiscord | <Clyybber> Araq: I mean it should be possible to write a proc that also includes information like color/rc etc |
15:26:51 | Araq | I have all this information, it tells me nothing |
15:26:51 | * | vicfred joined #nim |
15:27:05 | FromDiscord | <Clyybber> ah ok |
15:28:09 | Araq | they tell me all the things I already know, they don't tell me where the missing decref calls are |
15:29:48 | Araq | debugging leaks is about debugging *missing* code. In this sense it's worse than debugging corruptions. |
15:30:50 | FromDiscord | <dom96> Were you able to find which types aren't being deallocated? |
15:31:13 | FromDiscord | <dom96> might be a good excuse to enable the same info that I used to track async leaks in the past |
15:31:35 | FromDiscord | <dom96> so you can get the data logged into prometheus and shown in a nice graph |
15:32:03 | Araq | the types are, Future, closure environments and stdlib.asyncdispatch.CustomObj |
15:32:25 | Araq | plus a single PDispatcher but that's in a global and so really alive |
15:32:48 | FromDiscord | <dom96> Which of these are increasing in count/space usage? |
15:33:32 | Araq | all three are connected and do not get collected and the numbers rise as high as I want, only need to run more test loop iterations |
15:35:21 | FromDiscord | <dom96> how is the CustomObj used? |
15:35:23 | FromDiscord | <dom96> I don't recall it |
15:35:39 | Araq | it's the IO completion ports stuff from Windows |
15:36:17 | FromDiscord | <dom96> have you tried to see how the leaks differ on Linux/mac? |
15:37:08 | Araq | on Linux it's stdlib.selectors.SelectorImpl instead, haven't checked Mac |
15:38:08 | Araq | btw I fixed yesterday's bug, this one is a new one |
15:39:38 | FromDiscord | <lqdev> jesus fuck i just encountered a nasty bug |
15:39:50 | FromDiscord | <lqdev> https://media.discordapp.net/attachments/371759389889003532/756539987272663100/unknown.png |
15:39:56 | FromDiscord | <lqdev> https://media.discordapp.net/attachments/371759389889003532/756540010399793202/unknown.png |
15:39:57 | Araq | yesterday's made me insane, there was a single assignment that was dead code |
15:39:58 | * | WilhelmVonWeiner joined #nim |
15:40:05 | FromDiscord | <lqdev> can anyone explain what the hell is happening here? |
15:40:14 | FromDiscord | <lqdev> how is it "of type 'unknown'"? |
15:40:31 | FromDiscord | <lqdev> area is an iterator which returns (Vec2f, T) |
15:40:39 | FromDiscord | <lqdev> so _theoretically_ it should work fine |
15:41:25 | FromDiscord | <dom96> Araq: oh damn, from one bug straight to another, that sucks. |
15:41:50 | Yardanico | well, I'll also make him "happier" when I minimize this yet another cursor inf. bug :P |
15:42:09 | FromDiscord | <Clyybber> @lqdev Insert expandMacros to get a better picture |
15:42:20 | FromDiscord | <lqdev> mmkay |
15:42:30 | FromDiscord | <lqdev> i didn't expect it to work with templates |
15:42:35 | FromDiscord | <lqdev> but now that i think about it |
15:43:13 | Araq | it doesn't work with templates |
15:43:23 | FromDiscord | <UNIcodeX> scratching my head over here. I've got a mobile app that b64 encodes an image and sends it to a server for processing. On the server side, after getting the json string from the mobile app, and then attempting to parse it back into the original binary representation using base64.decode, I get an error "Invalid base64 format character `i` (ord 105) at location 1.". Last I checked, `i` is a valid base64 character and is working with an imp |
15:44:08 | FromDiscord | <lqdev> Araq, how do you debug templates then? |
15:44:33 | FromDiscord | <Clyybber> He's wrong |
15:44:38 | FromDiscord | <Clyybber> it *does* work :) |
15:44:42 | FromDiscord | <lqdev> not for me :) |
15:44:47 | * | hnOsmium0001 joined #nim |
15:44:54 | FromDiscord | <lqdev> the error seems to prevent expandMacros from expanding the macros |
15:45:09 | FromDiscord | <Clyybber> yeah |
15:45:10 | FromDiscord | <lqdev> which is, uh, less than ideal |
15:45:15 | Araq | templates are supposed to be so easy that you don't have to debug them... |
15:46:22 | FromDiscord | <Clyybber> @lqdev Or show me more code, and tell me what is a template and what not |
15:46:34 | FromDiscord | <lqdev> hold on, i'm pushing to github |
15:47:09 | Araq | UNIcodeX: this error is misleading |
15:47:19 | Araq | read base64.nim line 233 |
15:47:35 | Araq | we 'inc inputIndex' too early |
15:47:41 | FromDiscord | <lqdev> @Clyybber https://github.com/liquid600pgm/rapid/blob/version-2020/src/rapid/game/tilemap.nim#L212 |
15:47:45 | * | kenran quit (Ping timeout: 240 seconds) |
15:48:46 | Araq | in reality some other non-base64 character is your problem |
15:52:40 | * | vsantana joined #nim |
15:53:49 | FromDiscord | <Clyybber> @lqdev and it works without the echo? |
15:53:55 | FromDiscord | <lqdev> no |
15:54:04 | FromDiscord | <lqdev> in fact the code i uploaded has the wrong number of loop variables |
15:54:11 | FromDiscord | <lqdev> it should be `position, it {.inject.}` |
15:54:13 | FromDiscord | <lqdev> BUT |
15:54:31 | FromDiscord | <lqdev> then it complains about "wrong number of variables" |
15:54:44 | FromDiscord | <Clyybber> huh, what a coincidence |
15:54:51 | FromDiscord | <Clyybber> I had that wrong number of variables error today too |
15:54:57 | FromDiscord | <Clyybber> its a regression |
15:55:11 | FromDiscord | <UNIcodeX> > in reality some other non-base64 character is your problem↵@Araq[IRC]#0000 Hmm. Thanks. I'll keep digging 😕 |
15:55:11 | FromDiscord | <Clyybber> I haven't bisected yet |
15:55:53 | FromDiscord | <lqdev> seems like devel has this issue too (was on 1.2.6 |
15:55:57 | FromDiscord | <lqdev> ) |
15:56:01 | FromDiscord | <UNIcodeX> > we 'inc inputIndex' too early↵@Araq[IRC]#0000 Did I uncover something that needs to be fixed? |
15:56:23 | Araq | yes |
16:01:49 | * | konkrrrrrr is now known as kinkinkijkin |
16:03:11 | FromDiscord | <lqdev> workaround time |
16:03:42 | FromDiscord | <lqdev> i'mma make that template into a proc |
16:03:56 | FromDiscord | <lqdev> inefficient but can be fixed later |
16:03:58 | FromDiscord | <lqdev> *i hope* |
16:06:36 | FromDiscord | <lqdev> or actually |
16:06:38 | FromDiscord | <lqdev> wait a sec |
16:06:42 | FromDiscord | <lqdev> this can be solved with concepts |
16:07:20 | FromDiscord | <UNIcodeX> @Araq As you suggested, moving the `inc inputIndex` to after the if block gave me the actual character. When iterating over the string from my JSON the `"` marks wrapping the base64 string were not stripped out, causing decode to fail. Would you like me to fork and submit a PR for this change? Or have you made it already? |
16:13:36 | Araq | please go ahead, I'm busy with other stuff |
16:16:50 | * | vsantana quit (Quit: leaving) |
16:23:17 | FromDiscord | <Clyybber> @lqdev Hmm, my "wrong amount of variables" error is a regression since 1.2.6 |
16:27:49 | FromDiscord | <mratsim> > this can be solved with concepts↵Oh boy :p |
16:27:54 | FromDiscord | <Clyybber> oh, I wasn't aware of cgi.decodeData |
16:27:55 | FromDiscord | <Clyybber> makes sense |
16:28:19 | FromDiscord | <lqdev> @mratsim dude, it's a single line of concept. how could _anything_ go wrong? |
16:28:38 | FromDiscord | <mratsim> You asked for it |
16:29:14 | FromDiscord | <lqdev> no, but seriously. i've been happily using concepts in aglet to not have to depend on a single image library |
16:29:16 | FromDiscord | <lqdev> and guess what |
16:29:18 | FromDiscord | <lqdev> _it works!_ |
16:29:56 | * | Lord_Nightmare quit (Quit: ZNC - http://znc.in) |
16:30:00 | FromDiscord | <mratsim> Look very simple concept, either 2 fields or 3 fields: https://github.com/nim-lang/Nim/issues/13982 |
16:30:02 | disbot | ➥ Concepts building on each other: duplicated procs in C codegen ; snippet at 12https://play.nim-lang.org/#ix=2y08 |
16:30:28 | FromDiscord | <mratsim> sent a code paste, see https://play.nim-lang.org/#ix=2y09 |
16:31:07 | FromDiscord | <mratsim> And I managed to generate hundreds of thousands of lines of concept instantiations with those :/ |
16:31:13 | FromDiscord | <mratsim> but otherwise they do work |
16:31:37 | FromDiscord | <mratsim> I've been using them in Weave, Trace-of-radiance, Crypto, Arraymancer |
16:31:40 | FromDiscord | <lqdev> i see |
16:31:49 | FromDiscord | <mratsim> And we have a lot of tehm at Status for serialization |
16:31:49 | FromDiscord | <lqdev> but my concept is literally one line with no refinement |
16:32:23 | * | Lord_Nightmare joined #nim |
16:32:27 | FromDiscord | <mratsim> My bug and Zahary reply shows that there is no concept cache and so proc will get duplicate in the C code |
16:32:33 | FromDiscord | <lqdev> hopefully araq's New Concepts™ will be much better |
16:32:49 | FromDiscord | <mratsim> unlike generic/static which check if the proc was already instantiated before creating one |
16:33:07 | FromDiscord | <mratsim> it might be easy to support, just put instantiations in a table |
16:33:25 | FromDiscord | <mratsim> it's all about the "just" :p |
16:36:53 | FromDiscord | <Vindaar> hey, just is my favorite ok. Yesterday afternoon I thought I'd just create one plot. I'm still working on that plot... 🙈 |
16:37:18 | alehander92 | Araq |
16:37:30 | alehander92 | the more basic tests now pass again on my machine |
16:37:39 | alehander92 | i'll probably continue with alias later |
16:38:24 | alehander92 | but the current code is pushed |
16:41:43 | FromDiscord | <Clyybber> alehander92: Will it allow for general value exclusion? |
16:42:04 | FromDiscord | <Clyybber> For a hypothetical `int not 1` |
16:42:16 | * | narimiran joined #nim |
16:42:59 | * | vicfred quit (Quit: Leaving) |
16:45:33 | Yardanico | yay, minimized this another cursor inference bug from combparser |
16:45:39 | Yardanico | it's a goldmine for these |
16:48:22 | Yardanico | https://github.com/nim-lang/Nim/issues/15361 |
16:48:24 | disbot | ➥ [ARC] Object variant gets corrupted with cursor inference ; snippet at 12https://play.nim-lang.org/#ix=2y0c |
16:48:43 | Yardanico | amazing title as usual, it's probably not related to object variants at all |
16:48:49 | Yardanico | maybe I should try to minimize more |
16:49:33 | Yardanico | ah, I see why lol |
16:50:07 | Yardanico | is it correct if there's "rerrors_cursor = rresult" (so cursor points to rresult without copying) |
16:50:18 | Yardanico | and then rresult gets destroyed, but rerrors_cursor is being used after that |
16:51:30 | Yardanico | hence why it only was triggered in a block |
16:52:37 | Yardanico | or maybe not |
16:52:51 | * | Kaivo quit (Ping timeout: 258 seconds) |
16:55:11 | * | Kaivo joined #nim |
17:11:20 | * | abm quit (Quit: Leaving) |
17:17:19 | * | FromDiscord quit (Remote host closed the connection) |
17:17:47 | * | FromDiscord joined #nim |
17:17:51 | FromDiscord | <Yardanico> ?? |
17:18:04 | FromDiscord | <ache of head> The last thing you sent |
17:18:12 | FromDiscord | <Yardanico> well yes, it's for parsing time formats |
17:18:16 | FromDiscord | <ache of head> Nice |
17:28:58 | * | vicfred joined #nim |
17:32:16 | FromDiscord | <UNIcodeX> > please go ahead, I'm busy with other stuff↵@Araq[IRC]#0000 you got it. Which branch(es)? |
17:37:01 | FromDiscord | <Clyybber> Araq: I think maybe this deserves a showstopper tag https://github.com/nim-lang/Nim/issues/15360 ? |
17:37:03 | disbot | ➥ Wrong number of variables ; snippet at 12https://play.nim-lang.org/#ix=2y0t |
17:41:37 | * | arecacea1 quit (Remote host closed the connection) |
17:41:57 | * | arecacea1 joined #nim |
17:43:26 | FromDiscord | <PizzaFox> showstopper tag? |
17:43:41 | * | kenran joined #nim |
17:43:53 | FromDiscord | <Clyybber> yeah, its for really urgent bugs/issues |
17:45:09 | FromDiscord | <mratsim> Drop everything, all hands on deck, ladies and babies first |
17:45:58 | FromDiscord | <mratsim> what if you use `tuple[a: int, b: T]` syntax? |
17:46:56 | FromDiscord | <Clyybber> same |
17:47:06 | FromDiscord | <Clyybber> The original snippet used that syntax |
17:47:21 | FromDiscord | <Clyybber> but I found the (int, T) syntax to be more minimal |
17:47:39 | FromDiscord | <lakmatiol> can you make chaining operators, such that `a &* b &* c` becomes `&*(a, b, c)` |
17:48:54 | * | kenran quit (Ping timeout: 256 seconds) |
17:50:28 | Yardanico | not sure what do you mean |
17:50:42 | Yardanico | but you can probably try to use macros for that, or term-rewriting macros |
17:51:03 | Yardanico | but with TRM you'll have to special case each number of variables |
17:54:20 | FromDiscord | <mratsim> @lakmatiol You can, it's actually a pretty simple introduction to macros, I just need to find my code :p |
17:57:56 | FromDiscord | <Doongjohn> @lakmatiol how about this? https://play.nim-lang.org/#ix=2y0Bidk how to not use `` |
17:58:04 | FromDiscord | <Doongjohn> (edit) '@lakmatiol how about this? https://play.nim-lang.org/#ix=2y0Bidk ... how' => '@lakmatiol how about this? https://play.nim-lang.org/#ix=2y0Bidkidk' |
17:58:16 | FromDiscord | <mratsim> sent a code paste, see https://play.nim-lang.org/#ix=2y0D |
17:58:32 | FromDiscord | <mratsim> you're link is empty @Doongjohn |
17:58:37 | FromDiscord | <Doongjohn> (edit) 'https://play.nim-lang.org/#ix=2y0Bidk' => 'https://play.nim-lang.org/#ix=2y0B' |
17:58:40 | FromDiscord | <Doongjohn> fixed |
17:58:49 | FromDiscord | <mratsim> (edit) 'https://play.nim-lang.org/#ix=2y0D' => 'https://play.nim-lang.org/#ix=2y0E' |
17:59:07 | FromDiscord | <Recruit_main707> if you use special characters you need them |
17:59:46 | FromDiscord | <Recruit_main707> and its not `&*`, its \`&`* |
18:00:00 | FromDiscord | <lakmatiol> the operator I used as an example was &* |
18:00:07 | FromDiscord | <Recruit_main707> ah |
18:00:39 | FromDiscord | <lakmatiol> I meant that you put `4 &* 5 &* 4` into code, and it would behave like `is chain` of raku, and `1 < 3 < 5` of python. |
18:05:17 | FromDiscord | <Doongjohn> @lakmatiol do you mean this? https://raku.guide#_chaining |
18:05:40 | * | FromDiscord quit (Remote host closed the connection) |
18:05:54 | * | FromDiscord joined #nim |
18:05:56 | FromDiscord | <lakmatiol> no, let me find an exaple |
18:05:57 | FromDiscord | <lakmatiol> (edit) 'exaple' => 'example' |
18:07:40 | FromDiscord | <Doongjohn> oh how about this? https://www.geeksforgeeks.org/chaining-comparison-operators-python/ |
18:07:57 | * | lritter joined #nim |
18:08:17 | FromDiscord | <lakmatiol> yeah, that is what I meant |
18:10:04 | * | pangey__ joined #nim |
18:10:09 | * | pangey quit (Ping timeout: 272 seconds) |
18:15:47 | * | superbia1 is now known as superbia |
18:21:39 | FromDiscord | <lakmatiol> on second, I may be misremembering the raku feature |
18:21:45 | FromDiscord | <lakmatiol> (edit) 'second,' => 'second thought,' |
18:24:52 | * | a_chou joined #nim |
18:25:52 | FromDiscord | <Doongjohn> am I understanding it correctly? e.g.) 1 * 2 * 3 == (1 * 2) * (2 * 3) |
18:27:06 | FromDiscord | <lakmatiol> no, it should be `1 * 2 * 3 = whateverFunction*Calls(1, 2, 3)` |
18:27:12 | FromDiscord | <lakmatiol> (edit) '=' => '==' |
18:27:38 | FromDiscord | <Doongjohn> ohhh |
18:28:14 | FromDiscord | <lakmatiol> sent a code paste, see https://play.nim-lang.org/#ix=2y0Q |
18:28:19 | * | StevePerkins joined #nim |
18:29:03 | FromDiscord | <lakmatiol> is how raku does it |
18:29:49 | FromDiscord | <iWonderAboutTuatara> https://media.discordapp.net/attachments/371759389889003532/756582766438645811/Screenshot_20200918-112939.jpg |
18:29:52 | FromDiscord | <iWonderAboutTuatara> Latex bad |
18:31:33 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2y0R |
18:31:44 | FromDiscord | <haxscramper> https://nim-lang.org/docs/manual_experimental.html#pattern-operators-the-star-operator |
18:31:54 | FromDiscord | <lakmatiol> that is cool |
18:31:56 | FromDiscord | <lakmatiol> thanks |
18:31:58 | FromDiscord | <Doongjohn> wow |
18:32:23 | disruptek | zevv: did you figure out what you want to rename cps to? because i need to rename my tubes concept. i figured out how it should work... |
18:32:49 | Yardanico | you're alive?! |
18:33:12 | disruptek | what else? |
18:34:58 | FromDiscord | <shad0w> sent a code paste, see https://play.nim-lang.org/#ix=2y0T |
18:35:06 | * | a_chou quit (Remote host closed the connection) |
18:35:36 | FromDiscord | <shad0w> (edit) 'https://play.nim-lang.org/#ix=2y0T' => 'https://play.nim-lang.org/#ix=2y0U' |
18:36:36 | FromDiscord | <shad0w> (edit) 'https://play.nim-lang.org/#ix=2y0U' => 'https://play.nim-lang.org/#ix=2y0V' |
18:36:47 | FromDiscord | <shad0w> (edit) 'https://play.nim-lang.org/#ix=2y0V' => 'https://play.nim-lang.org/#ix=2y0W' |
18:37:18 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2y0X |
18:37:20 | disruptek | clyybber: the arc bug is that we move on top of ourselves, nulling ourselves out. |
18:37:25 | FromDiscord | <lakmatiol> in C enums are just numbers. in python it could possibly work too. But I don't know of any lang that has an ordinal bound on indexing rather than a numeric one |
18:38:03 | FromDiscord | <haxscramper> But as already mentioned it only works in C++ for example because there is little to no difference between numbers and enum values |
18:38:23 | disruptek | there is an issue for it in the cps repo; its assigned to araq. |
18:38:32 | FromDiscord | <haxscramper> If I add `enum class` it just blows up |
18:38:54 | disruptek | it's, too. i'm on mobile and stoned to boot, okay? |
18:43:27 | Yardanico | kidney stones? |
18:43:36 | FromDiscord | <shad0w> sent a code paste, see https://play.nim-lang.org/#ix=2y10 |
18:43:51 | Yardanico | yes |
18:43:57 | Yardanico | since char is an ordinal type |
18:44:26 | FromDiscord | <shad0w> like i said, subtle, but powerful. : D |
18:44:30 | Yardanico | not subtle :) |
18:44:47 | Yardanico | it's a known fact |
18:45:03 | FromDiscord | <shad0w> lmao, i would've missed the fact if i wasn't paying attention |
18:45:39 | Yardanico | well I don't think we should call all facts that are not being advertised on every page "subtle" |
18:48:44 | FromDiscord | <haxscramper> Is there some kind of explanation for decision to make `macros.``$` to raise exception on invalid nodes? |
18:48:52 | FromDiscord | <lqdev> @shad0w btw you can just to `array[Direction, BlinkLights]` |
18:49:21 | FromDiscord | <shad0w> > @shad0w btw you can just to `array[Direction, BlinkLights]`↵@lqdev sweet. |
18:49:28 | Yardanico | @haxscramper wdym? |
18:50:41 | FromDiscord | <haxscramper> I can't do `echo` on `NimNod` that are not string/identifier/sym etc. |
18:50:52 | FromDiscord | <haxscramper> I have to do `toStrLit()` each time |
18:51:06 | FromDiscord | <lqdev> @haxscramper you can do either `node.repr` or `node.treeRepr` |
18:51:07 | FromDiscord | <haxscramper> And it does not work when I have node inside of some other type |
18:51:08 | Yardanico | use repr if you want the full representation of the node |
18:51:12 | FromDiscord | <lqdev> repr renders the AST |
18:51:14 | Yardanico | $ is for strings |
18:51:21 | FromDiscord | <lqdev> and treeRepr gives you a tree representation |
18:53:32 | FromDiscord | <haxscramper> I can't use tree repr when I have nim node inside some other structure unless I write string converter that handles it correctly. E.g. there is https://github.com/nim-lang/Nim/blob/devel/lib/core/macros.nim#L1272 - why `toStrLit()` wasn't used here in else clause? |
18:54:02 | FromDiscord | <haxscramper> I'm interested if there is some logic behind this or not |
18:57:54 | * | NimBot joined #nim |
18:58:36 | Zevv | disruptek: rename? |
18:58:53 | Zevv | your tubes is csp, not cps, right? |
19:00:29 | disruptek | yeah. |
19:00:56 | disruptek | but i actually have a sifference idea on how we shoukd do this. |
19:01:34 | disruptek | jesus. you know youre high when... |
19:01:56 | Zevv | .. .when you actually have a sifference idea on how to do this? |
19:02:13 | disruptek | SomeVontinuationType[Data] |
19:02:13 | Zevv | how is it different then |
19:02:50 | disruptek | so the relationship between transforms is typed and generic to the data. |
19:03:12 | Zevv | hm what does that bring? |
19:03:31 | Zevv | the stuff has lost my brain mostly I'm afraid |
19:03:35 | disruptek | this gives us our needed typecheck at compile time and lets us do conversion and evaluation naturally. |
19:03:45 | disruptek | inferrence, that is. |
19:03:47 | Zevv | and are you talking cps or more? |
19:04:09 | disruptek | cps but it makes csp much better. |
19:04:16 | Zevv | right |
19:04:31 | Zevv | and does it happen to change anything about the reason we are now blocked? |
19:04:40 | Zevv | prolly not eh |
19:05:01 | disruptek | i cant even remember off the top of my head why we are blocked. |
19:05:21 | Zevv | because clyybber is a lazy |
19:05:36 | disruptek | oh i think its proc syms and dotexpr symbol subs. |
19:06:19 | Zevv | i forgot as well |
19:06:53 | Zevv | your kind of sick and tired of IC i guess |
19:07:18 | disruptek | the fix to thped macros isnt in 1.4, so it eill be real hard for cps to work there. |
19:07:41 | Zevv | i dont care for that, devel is just fine |
19:08:25 | Zevv | by the time cps is going somewhere there will be another nim. and if not and cps is really going somewhere, it will be a good reason to make a new nim release for :) |
19:09:28 | Zevv | i cant seem to find enough brain juice to do more then one thing lately |
19:09:32 | * | konkrrrrrr joined #nim |
19:12:11 | disruptek | is it porn? i bet its porn. |
19:12:20 | * | kinkinkijkin quit (Ping timeout: 272 seconds) |
19:18:08 | Zevv | no, the pay was lousy, I quit |
19:18:26 | Zevv | i now do plumbing & complaining full time |
19:19:39 | * | tane joined #nim |
19:25:08 | * | gmaggior joined #nim |
19:28:23 | disruptek | i read that as "the plumbing was lousy" |
19:30:56 | Zevv | it mostly is |
19:31:18 | FromDiscord | <lakmatiol> sent a code paste, see https://play.nim-lang.org/#ix=2y1j |
19:32:40 | FromDiscord | <shad0w> i have a question guys. if i do `sizeof string1` where string1 is some string, it always tells me its 8 bytes, no matter how long the string is or wether its an empty string. |
19:33:39 | Zevv | long or short answer? |
19:33:47 | FromDiscord | <shad0w> mid-way ? |
19:34:21 | FromDiscord | <lakmatiol> strings store their characters in a magical space where sizeof doesn't see |
19:34:27 | Zevv | the 'string thing' is a little opaque object with a size and a pointer. That's 8 bytes. The pointer points to the actual string - which can grow, and be realloced, that lives on the heap |
19:34:35 | Zevv | You do 'len' on that. |
19:34:39 | Zevv | The even longer answer is http://zevv.nl/nim-memory/ |
19:35:51 | FromDiscord | <shad0w> ^ imma go read that. |
19:36:48 | Zevv | lakmatiol: it's the same on C++ by the way |
19:37:42 | Zevv | Ow I should finish my arc writing I guess |
19:38:44 | Zevv | http://zevv.nl/nim-memory/nim-arc.html, I'm looking for ideas how to fill in the rest of it. |
19:44:33 | * | kenran joined #nim |
19:48:32 | oz | I think I'm going to read that instead of working |
19:49:25 | * | kenran quit (Ping timeout: 240 seconds) |
19:50:49 | * | Vladar quit (Quit: Leaving) |
19:53:30 | oz | Zevv: hm you should definitely fill in those TODO parts. :> |
19:54:50 | Zevv | ikr |
20:08:18 | FromDiscord | <lakmatiol> sent a code paste, see https://play.nim-lang.org/#ix=2y36 |
20:08:24 | FromDiscord | <lakmatiol> mapIt is the cause |
20:08:41 | FromDiscord | <lakmatiol> should I report this? |
20:14:51 | disruptek | you mean instead of keeping it a secret? |
20:15:10 | FromDiscord | <lakmatiol> maybe this is expected somehow |
20:15:29 | FromDiscord | <lakmatiol> though on second thought, the compiler probably should not segfault |
20:15:37 | FromDiscord | <lakmatiol> well, time to write up an issue |
20:15:44 | disruptek | i can't click the link atm. |
20:31:08 | * | narimiran quit (Ping timeout: 256 seconds) |
20:34:07 | * | arecacea1 quit (Remote host closed the connection) |
20:34:46 | * | arecacea1 joined #nim |
20:38:55 | FromDiscord | <Recruit_main707> why do case objects dont allow forwarda declarations? (in the same type block)↵https://play.nim-lang.org/#ix=2y3g |
20:43:22 | disruptek | speaking of massage, |
20:58:07 | * | vicfred quit (Quit: Leaving) |
21:00:13 | * | konkrrrrrr is now known as kinkinkijkin |
21:03:47 | * | lritter quit (Ping timeout: 240 seconds) |
21:04:48 | * | lritter joined #nim |
21:25:58 | FromDiscord | <djazz> I used Nim and SDL2 to create a fullscreen (no X.org) slideshow viewer! https://github.com/daniel-j/slideshow/blob/master/slideshow.nim↵Demo: https://media.discordapp.net/attachments/371759389889003532/756627092736704562/capture2.mp4 |
21:26:24 | FromDiscord | <djazz> Requires SDL2 compiled with KMSDRM support (only tested Pi 4) |
21:31:44 | * | vicfred joined #nim |
21:32:46 | FromDiscord | <djazz> Took a while before I figured out why it was only software rendering, but then I got it to use Mesa's v3d (dri permissions) |
21:36:28 | disruptek | neat. |
21:36:58 | FromDiscord | <lqdev> i have a bit of a problem with {.compile.} |
21:37:03 | FromDiscord | <lqdev> namely, files get recompiled |
21:37:07 | FromDiscord | <lqdev> even if they didn't change |
21:37:37 | FromDiscord | <lqdev> i was pretty sure that there was a cache for C files, am i right? |
21:39:20 | * | aenesidemus joined #nim |
21:44:45 | * | solitudesf quit (Ping timeout: 240 seconds) |
21:45:26 | * | kenran joined #nim |
21:50:42 | * | kenran quit (Ping timeout: 265 seconds) |
22:05:16 | disruptek | yep. |
22:28:13 | * | Trustable quit (Remote host closed the connection) |
22:31:33 | * | tane quit (Quit: Leaving) |
22:35:17 | FromDiscord | <mratsim> I sometimes have the inverse issue, C file changes, they don't get recompiled |
22:35:25 | FromDiscord | <mratsim> well always |
22:35:29 | FromDiscord | <acek7> Hows my NimNoms |
22:43:16 | FromDiscord | <Rika> lol |
22:46:04 | * | krux02 quit (Remote host closed the connection) |
22:52:25 | * | thomasross quit (Ping timeout: 240 seconds) |
22:52:40 | FromDiscord | <Vindaar> very NomNom |
22:59:33 | * | kinkinkijkin quit (Remote host closed the connection) |
23:00:06 | * | kinkinkijkin joined #nim |
23:19:05 | * | abm joined #nim |
23:24:19 | FromDiscord | <acek7> Dont laugh at me Rika |
23:24:24 | FromDiscord | <acek7> im sensitive |
23:26:16 | FromDiscord | <Rika> lewd |
23:27:30 | disruptek | rika: you don't have to be rude to /every/ newbie in the channel. |
23:29:36 | FromDiscord | <Rika> lmaoooo |
23:32:00 | * | gmaggior quit (Ping timeout: 272 seconds) |
23:33:32 | FromDiscord | <acek7> Rika is a bully |
23:33:42 | * | pangey joined #nim |
23:34:40 | FromDiscord | <Elegant Beef> Cant spell rude without rika |
23:34:49 | FromDiscord | <acek7> On a serious topic what tutorial for nim would you say is the best i am ready to watch something |
23:35:01 | * | pangey__ quit (Ping timeout: 264 seconds) |
23:35:07 | FromDiscord | <Elegant Beef> The written tutorials are fantastic |
23:35:15 | FromDiscord | <Elegant Beef> those and the manual |
23:35:23 | FromDiscord | <acek7> I was reading the Nim book but its a little dense at times and im like damn this is hard to get through |
23:35:38 | FromDiscord | <acek7> the ones on the website? |
23:36:02 | FromDiscord | <Elegant Beef> Yea, i found them nice and usable |
23:38:19 | FromDiscord | <acek7> what about a video |
23:38:26 | FromDiscord | <acek7> im weird and learn weird |
23:39:41 | FromDiscord | <Rika> *starts pinging kiloneie* |
23:43:00 | * | a_b_m joined #nim |
23:43:05 | FromDiscord | <Elegant Beef> https://www.youtube.com/watch?v=5tVIsDYPClA&list=PLvwc2YT9MFOlPPexrsY-t7BNTdg2Vsx06 |
23:44:44 | * | gmaggior joined #nim |
23:46:21 | * | kenran joined #nim |
23:46:38 | * | abm quit (Ping timeout: 256 seconds) |
23:51:05 | * | kenran quit (Ping timeout: 240 seconds) |
23:58:49 | * | a_b_m quit (Ping timeout: 260 seconds) |