| 00:00:09 | * | tk quit (Quit: Well, this is unexpected.) |
| 00:00:33 | * | tk joined #nim |
| 00:04:16 | FromDiscord | <ynfle> I work without the expandMacros: macro but is illegal ast with it |
| 00:04:33 | FromDiscord | <Elegantbeef> I dont know what to say |
| 00:07:50 | FromDiscord | <ynfle> Next confusion. When the input to the macro is a json container type (object or array) I get an error lib/system/dollars.nim(131, 10) Error: request to generate code for .compileTime proc: Lit |
| 00:08:04 | FromDiscord | <ynfle> (edit) "Next confusion. When the input to the macro is" => "sent" | removed "json container type (object or array) I get an error lib/system/dollars.nim(131, 10) Error: request to generate" | "for .compileTime proc: Lit" => "paste, see https://play.nim-lang.org/#ix=3NjJ" |
| 00:15:07 | FromDiscord | <Patitotective> sent a code paste, see https://play.nim-lang.org/#ix=3NjK |
| 00:15:40 | FromDiscord | <demotomohiro> You cannot store type to variable |
| 00:15:52 | FromDiscord | <Patitotective> 😕 |
| 00:16:06 | FromDiscord | <demotomohiro> Why do you want to put type to variable? |
| 00:16:14 | FromDiscord | <ynfle> @Patitotective What are you trying to do? |
| 00:16:22 | FromDiscord | <ynfle> In reply to @ynfle "Next confusion. When the": Seems related to https://github.com/nim-lang/Nim/issues/10753 |
| 00:17:09 | FromDiscord | <Patitotective> sent a code paste, see https://paste.rs/3K3 |
| 00:17:19 | FromDiscord | <Patitotective> (edit) "https://play.nim-lang.org/#ix=3NjM" => "https://play.nim-lang.org/#ix=3NjL" |
| 00:17:28 | FromDiscord | <Patitotective> (edit) "https://play.nim-lang.org/#ix=3NjL" => "https://play.nim-lang.org/#ix=3NjN" |
| 00:17:33 | FromDiscord | <ynfle> And then what? Are you in a macro? |
| 00:17:57 | FromDiscord | <Patitotective> (I'm creating a parser) |
| 00:18:11 | FromDiscord | <demotomohiro> Nim is statically typed language and types doesn't exists at runtime. |
| 00:18:21 | FromDiscord | <Patitotective> sent a code paste, see https://play.nim-lang.org/#ix=3NjO |
| 00:18:39 | FromDiscord | <ynfle> I'd say template |
| 00:18:55 | FromDiscord | <Patitotective> In reply to @demotomohiro "Nim is statically typed": I always forgot :p |
| 00:18:56 | FromDiscord | <Patitotective> lol |
| 00:19:12 | FromDiscord | <Patitotective> Gonna do something different |
| 00:19:13 | FromDiscord | <Patitotective> Thanks |
| 00:19:14 | FromDiscord | <Patitotective> 🙃 |
| 00:19:20 | FromDiscord | <Patitotective> (edit) "forgot" => "forget" |
| 00:20:02 | FromDiscord | <demotomohiro> Maybe this is what you really needs: |
| 00:20:03 | FromDiscord | <demotomohiro> https://nim-lang.org/docs/manual.html#types-object-variants |
| 00:21:06 | FromDiscord | <Patitotective> I already have that lol, It's just that I only have `float` type, not 32 or 64↵Thanks anyways 🙃 |
| 00:21:08 | NimEventer | New question by How2: Add the ability to use tabulation in Nim, see https://stackoverflow.com/questions/70827737/add-the-ability-to-use-tabulation-in-nim |
| 00:23:40 | FromDiscord | <ynfle> In reply to @ynfle "Seems related to https://github.com/nim-lang/Nim/is": @demotomohiro Did you every find a solution for this issue of yours? |
| 00:29:51 | * | noeontheend joined #nim |
| 01:00:25 | FromDiscord | <Elegantbeef> there is a work around |
| 01:00:30 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3NjS |
| 01:04:06 | FromDiscord | <Patitotective> sent a code paste, see https://play.nim-lang.org/#ix=3NjT |
| 01:12:02 | FromDiscord | <Elegantbeef> Warning are compile time |
| 01:13:27 | FromDiscord | <Patitotective> So `echo`?↵The thing is when I parse some _NiPrefs_ file it has to convert any `float32` to `float`, so it does warn you `Implicit conversion form float32 to float` |
| 01:13:56 | FromDiscord | <Patitotective> (edit) "So `echo`?↵The thing is ... when" added "that" |
| 01:16:26 | FromDiscord | <Elegantbeef> Well an echo isnt the best since it happens at runtime and can mess the program using your library up |
| 01:17:12 | FromDiscord | <Patitotective> Maybe I should just say that it does that in the docs (?) |
| 01:17:42 | FromDiscord | <Elegantbeef> Well i mean you make it more useless |
| 01:17:59 | FromDiscord | <Elegantbeef> Do users need to know this or the programmers that use this library? |
| 01:19:23 | * | krux02 quit (Remote host closed the connection) |
| 01:19:47 | FromDiscord | <Patitotective> In reply to @Elegantbeef "Do users need to": This only happens when you are writing your own _NiPrefs_ file, in which case you don't normally write floats, so I guess no |
| 01:20:17 | FromDiscord | <Patitotective> (edit) "writing your own" => "parsing a" |
| 01:23:15 | FromDiscord | <Elegantbeef> So perhaps just a warning in the source |
| 01:27:58 | * | vicfred joined #nim |
| 01:30:04 | FromDiscord | <Elegantbeef> Maybe with `-d:niPrefsFloatConv` but idk |
| 01:30:20 | FromDiscord | <Patitotective> In reply to @Elegantbeef "So perhaps just a": But isn't that going to warn the user every time the user uses the library? |
| 01:30:36 | FromDiscord | <Elegantbeef> The programmer yes if the convert float -\> float32 |
| 01:31:52 | FromDiscord | <Patitotective> sent a code paste, see https://play.nim-lang.org/#ix=3NjY |
| 01:32:14 | FromDiscord | <Elegantbeef> Oh then I dont know what to do, just document the behaviour |
| 01:32:25 | FromDiscord | <Elegantbeef> The end user doesnt need to know this really afaict |
| 01:32:47 | FromDiscord | <Patitotective> ok, thanks 🙃 |
| 01:40:00 | FromDiscord | <demotomohiro> In reply to @ynfle "<@!288750616510201856> Did you every": I forget about the issue and workaround. |
| 02:21:47 | * | neurocyte0917090 quit (Ping timeout: 256 seconds) |
| 02:41:46 | * | vicfred_ joined #nim |
| 02:44:02 | * | vicfred quit (Ping timeout: 250 seconds) |
| 02:44:57 | * | noeontheend quit (Ping timeout: 240 seconds) |
| 02:46:29 | * | noeontheend joined #nim |
| 02:49:45 | * | arkurious quit (Quit: Leaving) |
| 02:58:24 | FromDiscord | <Evrensel Kişilik> are there C blocks in Nim? |
| 02:58:28 | FromDiscord | <Evrensel Kişilik> i mean |
| 02:58:37 | FromDiscord | <Evrensel Kişilik> can i write C in a Nim sousrce? |
| 02:58:38 | FromDiscord | <Elegantbeef> Can you emit C code inline? |
| 02:58:47 | FromDiscord | <Evrensel Kişilik> bot |
| 02:58:55 | FromDiscord | <Evrensel Kişilik> you can't understand all questions |
| 02:59:09 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3Nkl |
| 02:59:13 | FromDiscord | <Evrensel Kişilik> oh nooo |
| 02:59:13 | FromDiscord | <Elegantbeef> Cant tell if you still think i'm a bot or are still jokiing |
| 02:59:15 | FromDiscord | <Evrensel Kişilik> what's this |
| 02:59:28 | FromDiscord | <Elegantbeef> an emit pragma which emits backend code |
| 02:59:29 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Cant tell if you": you can't manipulate my mind |
| 02:59:31 | FromDiscord | <Evrensel Kişilik> ! |
| 02:59:34 | FromDiscord | <Elegantbeef> In this case C code |
| 02:59:41 | FromDiscord | <Evrensel Kişilik> loooooooooooooook |
| 02:59:47 | FromDiscord | <ElegantBeef> If he cant manipulate your mind, can I? |
| 02:59:59 | FromDiscord | <Evrensel Kişilik> In reply to @ElegantBeef "If he cant manipulate": :BANNED: |
| 03:00:11 | FromDiscord | <Evrensel Kişilik> i like it |
| 03:00:14 | FromDiscord | <Evrensel Kişilik> damn |
| 03:00:17 | FromDiscord | <Evrensel Kişilik> we can write C |
| 03:00:18 | * | Gustavo6046 quit (Remote host closed the connection) |
| 03:00:41 | * | Gustavo6046 joined #nim |
| 03:00:43 | FromDiscord | <Elegantbeef> Yes it makes interop easier |
| 03:01:09 | FromDiscord | <Evrensel Kişilik> https://github.com/nim-lang/Nim/wiki/Nim-for-C-programmers |
| 03:01:47 | FromDiscord | <Elegantbeef> Yea it's surprisingly a good language |
| 03:02:12 | FromDiscord | <Evrensel Kişilik> please leave this server @ElegantBeef |
| 03:02:16 | FromDiscord | <Elegantbeef> No |
| 03:02:18 | FromDiscord | <Evrensel Kişilik> i dont want to talk to a bot |
| 03:02:32 | FromDiscord | <Elegantbeef> Well i'm not a bot |
| 03:02:38 | FromDiscord | <Elegantbeef> Come use matrix and you can be a bot too |
| 03:02:52 | FromDiscord | <Evrensel Kişilik> loooooooooooooooook |
| 03:03:05 | FromDiscord | <Elegantbeef> Looking |
| 03:03:17 | FromDiscord | <Evrensel Kişilik> no sugar left in my home right now |
| 03:03:25 | FromDiscord | <Evrensel Kişilik> and it is 06:03 |
| 03:03:37 | FromDiscord | <Evrensel Kişilik> i need to drink tea |
| 03:03:37 | FromDiscord | <Elegantbeef> Shame how will you have your tea |
| 03:03:41 | FromDiscord | <Evrensel Kişilik> do you understand? |
| 03:03:45 | FromDiscord | <Evrensel Kişilik> you can'T |
| 03:03:49 | FromDiscord | <Evrensel Kişilik> cuz you're a bot |
| 03:03:55 | FromDiscord | <Evrensel Kişilik> you can't taste tea |
| 03:03:56 | FromDiscord | <Elegantbeef> No i dont understand cause i dont drink tea |
| 03:03:57 | * | noeontheend quit (Ping timeout: 240 seconds) |
| 03:04:03 | FromDiscord | <Evrensel Kişilik> 😱 |
| 03:04:25 | FromDiscord | <Evrensel Kişilik> sooooooooooooooooooooooooooooo |
| 03:04:27 | FromDiscord | <Evrensel Kişilik> look |
| 03:04:53 | FromDiscord | <Evrensel Kişilik> is the only way writing C in Nim to use C libraries? |
| 03:05:07 | FromDiscord | <Evrensel Kişilik> or |
| 03:05:10 | FromDiscord | <Evrensel Kişilik> i think |
| 03:05:18 | FromDiscord | <Evrensel Kişilik> we can also write bindings right? |
| 03:05:24 | FromDiscord | <Evrensel Kişilik> oh no |
| 03:05:26 | FromDiscord | <Evrensel Kişilik> oh nooooooooooooooooooooo |
| 03:05:34 | FromDiscord | <Evrensel Kişilik> loooook |
| 03:05:38 | FromDiscord | <Evrensel Kişilik> wait |
| 03:05:53 | FromDiscord | <Evrensel Kişilik> sent a code paste, see https://play.nim-lang.org/#ix=3Nkl |
| 03:05:54 | FromDiscord | <Evrensel Kişilik> this |
| 03:05:59 | FromDiscord | <Elegantbeef> You can interop with C |
| 03:06:03 | FromDiscord | <Evrensel Kişilik> nooooooooo |
| 03:06:06 | FromDiscord | <Evrensel Kişilik> wait |
| 03:06:08 | FromDiscord | <Evrensel Kişilik> im asking |
| 03:06:16 | FromDiscord | <Evrensel Kişilik> how does this work with debugger? |
| 03:06:26 | FromDiscord | <Elegantbeef> Not a clue |
| 03:06:42 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Not a clue": wdym? |
| 03:06:45 | FromDiscord | <Elegantbeef> Remember i'm only a bot in name |
| 03:06:55 | FromDiscord | <Elegantbeef> I've never tried debugging inline C |
| 03:07:11 | FromDiscord | <Elegantbeef> Ostensibly it writes it out somewhat properly |
| 03:07:16 | FromDiscord | <Evrensel Kişilik> oooooooooooook |
| 03:07:24 | FromDiscord | <Evrensel Kişilik> i have tooooo much work |
| 03:07:25 | FromDiscord | <Evrensel Kişilik> but |
| 03:07:35 | FromDiscord | <Evrensel Kişilik> i will take the debugger issue of this language |
| 03:07:58 | FromDiscord | <Evrensel Kişilik> i will make special things for the language |
| 03:08:39 | FromDiscord | <Evrensel Kişilik> hmmm |
| 03:08:41 | FromDiscord | <Evrensel Kişilik> for example |
| 03:08:48 | FromDiscord | <Evrensel Kişilik> in GDB you can't cast to `string` |
| 03:08:52 | FromDiscord | <leorize> emit is a PITA if you ask me |
| 03:09:08 | FromDiscord | <leorize> pretty much a hack, by design |
| 03:09:10 | FromDiscord | <Evrensel Kişilik> you can cast to `NimStringDesc` |
| 03:09:13 | FromDiscord | <Elegantbeef> It's |
| 03:09:18 | FromDiscord | <Elegantbeef> I mean there are benefits to it |
| 03:09:19 | FromDiscord | <Evrensel Kişilik> In reply to @leorize "emit is a PITA": you |
| 03:09:23 | FromDiscord | <Evrensel Kişilik> 😱 |
| 03:09:27 | FromDiscord | <Evrensel Kişilik> another BOT |
| 03:09:37 | FromDiscord | <leorize> the nim devs have mastered AI |
| 03:09:38 | FromDiscord | <leorize> fear us |
| 03:09:47 | FromDiscord | <Elegantbeef> Cant master compiler dev though 😛 |
| 03:09:47 | FromDiscord | <Evrensel Kişilik> where the fuck am i at? |
| 03:10:06 | FromDiscord | <Rika> The future |
| 03:10:11 | FromDiscord | <Rika> Or hell, you choose |
| 03:10:13 | madprops | the futon |
| 03:10:17 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "Or hell, you choose": look |
| 03:10:23 | FromDiscord | <Rika> In reply to @madprops "the futon": That’s me right now |
| 03:10:26 | FromDiscord | <Rika> In the futon |
| 03:10:28 | FromDiscord | <Evrensel Kişilik> consciousness |
| 03:10:37 | FromDiscord | <Evrensel Kişilik> they don't have that |
| 03:11:10 | FromDiscord | <Rika> Are you sure 😛 |
| 03:11:27 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "Are you sure 😛": this is the main question! |
| 03:11:38 | FromDiscord | <Evrensel Kişilik> what is consciousness |
| 03:11:53 | FromDiscord | <Evrensel Kişilik> im making a new language |
| 03:12:07 | FromDiscord | <Evrensel Kişilik> it is the best |
| 03:12:11 | FromDiscord | <Elegantbeef> So to explain just incase you're actually scared these "bots" are users of the Matrix protocol and use a bridge specifically to scare you |
| 03:12:20 | FromDiscord | <Rika> Lol |
| 03:12:23 | FromDiscord | <Evrensel Kişilik> you have to leave Nim |
| 03:12:26 | FromDiscord | <Evrensel Kişilik> and use my language |
| 03:12:30 | FromDiscord | <Evrensel Kişilik> 😱 |
| 03:12:42 | FromDiscord | <Rika> Can’t, it is a fact that Nim is the best language |
| 03:12:49 | FromDiscord | <Rika> Can’t get any better than Nim |
| 03:12:51 | FromDiscord | <Elegantbeef> Does it have wirth bitsets, distinct types, subrange types? |
| 03:12:53 | * | the-true-mind joined #nim |
| 03:13:11 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Does it have wirth": it is a scripting language |
| 03:13:13 | FromDiscord | <Evrensel Kişilik> but |
| 03:13:15 | FromDiscord | <leorize> does it have |
| 03:13:17 | the-true-mind | these glorious bots? |
| 03:13:21 | FromDiscord | <Evrensel Kişilik> oh no |
| 03:13:23 | FromDiscord | <Evrensel Kişilik> more bots |
| 03:13:26 | FromDiscord | <Evrensel Kişilik> i don't want more bots |
| 03:13:28 | FromDiscord | <Evrensel Kişilik> leave here |
| 03:13:29 | FromDiscord | <Evrensel Kişilik> get out |
| 03:13:40 | FromDiscord | <Rika> Lol |
| 03:13:40 | FromDiscord | <Elegantbeef> Yea leorize you fucking NPC |
| 03:13:54 | FromDiscord | <huantian> hold on lemme bootup my irc client |
| 03:13:56 | * | the-true-mind quit (Remote host closed the connection) |
| 03:13:58 | FromDiscord | <Evrensel Kişilik> sooooooooo |
| 03:14:11 | FromDiscord | <Elegantbeef> Yooooooo |
| 03:14:11 | FromDiscord | <Evrensel Kişilik> my language is usable for extending something |
| 03:14:28 | FromDiscord | <Evrensel Kişilik> but it is unsafe |
| 03:14:34 | FromDiscord | <Evrensel Kişilik> and pretty fast |
| 03:15:05 | FromDiscord | <Elegantbeef> Let me guess it's named CScript? |
| 03:15:06 | FromDiscord | <Evrensel Kişilik> very different than Python |
| 03:15:15 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Let me guess it's": oh nooo |
| 03:15:21 | FromDiscord | <Evrensel Kişilik> it is a VM |
| 03:15:26 | * | huantian joined #nim |
| 03:15:51 | FromDiscord | <Rika> PythonScript |
| 03:15:54 | FromDiscord | <Evrensel Kişilik> oh nooooooo |
| 03:16:01 | FromDiscord | <Evrensel Kişilik> dont tell me Python |
| 03:16:07 | FromDiscord | <Rika> Python 4 |
| 03:16:08 | FromDiscord | <Evrensel Kişilik> the worst language |
| 03:16:09 | FromDiscord | <Evrensel Kişilik> ever |
| 03:16:12 | huantian | dang I wish I had a programming language like python but a scripting language instead |
| 03:16:22 | huantian | and they gotta get rid of those nasty type hints |
| 03:16:33 | FromDiscord | <Evrensel Kişilik> In reply to @huantian "and they gotta get": looooooook |
| 03:16:38 | FromDiscord | <Evrensel Kişilik> i tried to use type hints |
| 03:16:41 | FromDiscord | <Evrensel Kişilik> its good |
| 03:16:42 | FromDiscord | <Evrensel Kişilik> but |
| 03:16:45 | FromDiscord | <Evrensel Kişilik> i can't use them |
| 03:16:49 | FromDiscord | <Evrensel Kişilik> cuz if i use them |
| 03:16:52 | FromDiscord | <Rika> Huantian is being sarcastic |
| 03:16:58 | FromDiscord | <Rika> Just in case you don’t know |
| 03:17:04 | FromDiscord | <Evrensel Kişilik> damn software will not work on older Pythons |
| 03:17:13 | FromDiscord | <Elegantbeef> I wish we had python that was faster and nothing like python |
| 03:17:20 | FromDiscord | <Rika> So rust |
| 03:17:28 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "I wish we had": it is my language |
| 03:18:07 | FromDiscord | <Elegantbeef> You're going to implement your language in Nim right? |
| 03:18:07 | FromDiscord | <Elegantbeef> Your new favourite langauge |
| 03:18:29 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "You're going to implement": OH NOOOOOO |
| 03:18:31 | FromDiscord | <Evrensel Kişilik> never |
| 03:18:39 | FromDiscord | <Evrensel Kişilik> it is implemented in C |
| 03:18:44 | FromDiscord | <Elegantbeef> Too fast? |
| 03:18:53 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Too fast?": it is my plan lol |
| 03:19:03 | FromDiscord | <Rika> Why not Pascal |
| 03:19:12 | FromDiscord | <Elegantbeef> Better C |
| 03:19:36 | FromDiscord | <Rika> I still have dreams of a world where Pascal was the C of that world |
| 03:19:58 | FromDiscord | <Elegantbeef> In that world Nim isnt created cause pascal grows into what Nim is |
| 03:19:59 | huantian | ok but consider implmeenting it in minecraft command blocks |
| 03:20:02 | FromDiscord | <Evrensel Kişilik> Pascal is a shit |
| 03:20:23 | FromDiscord | <Elegantbeef> The only downside is that to balance the odds one of the contributors to pascal makes a shitty language called "Get" |
| 03:20:30 | FromDiscord | <Evrensel Kişilik> https://github.com/pragmagic/godot-nim |
| 03:20:34 | FromDiscord | <Evrensel Kişilik> you BOT |
| 03:20:40 | FromDiscord | <Evrensel Kişilik> @ElegantBeef you are everywhere! |
| 03:20:46 | FromDiscord | <Elegantbeef> Hey something i've contributed to |
| 03:20:50 | FromDiscord | <Elegantbeef> I'm a good bot |
| 03:21:04 | huantian | can't believe beef contributes to nim projects |
| 03:21:17 | FromDiscord | <Elegantbeef> Same my creator was nice and gave me taste |
| 03:21:22 | FromDiscord | <Evrensel Kişilik> looooooooook |
| 03:21:23 | FromDiscord | <Elegantbeef> Imagine if i contributed to C projects |
| 03:21:27 | FromDiscord | <Evrensel Kişilik> is this thingy stable? |
| 03:21:36 | FromDiscord | <Elegantbeef> People have used it to make games |
| 03:21:40 | FromDiscord | <Elegantbeef> So it's somewhat |
| 03:21:50 | FromDiscord | <Evrensel Kişilik> what language is first Nim compiler written in? |
| 03:21:58 | FromDiscord | <Elegantbeef> Pscal |
| 03:22:02 | FromDiscord | <Elegantbeef> Pascal\ |
| 03:22:05 | FromDiscord | <Evrensel Kişilik> im leaving here |
| 03:22:18 | FromDiscord | <Elegantbeef> It was then transpiled using pas2nim |
| 03:22:19 | FromDiscord | <huantian> scary alternate universes |
| 03:22:24 | FromDiscord | <Elegantbeef> I mean Nim is heavily pascal inspired |
| 03:22:37 | FromDiscord | <Elegantbeef> 2/3 of the languages it gets inspiration from vocally are pascal 😀 |
| 03:22:49 | FromDiscord | <Elegantbeef> > It combines successful concepts from mature languages like Python, Ada and Modula |
| 03:22:49 | FromDiscord | <Rika> In reply to @Evrensel Kişilik "im leaving here": Bruh |
| 03:22:55 | FromDiscord | <Evrensel Kişilik> theeen |
| 03:22:59 | FromDiscord | <Evrensel Kişilik> compile to Pascal |
| 03:23:00 | FromDiscord | <Evrensel Kişilik> damn |
| 03:23:05 | FromDiscord | <Evrensel Kişilik> what a bullshit |
| 03:23:07 | FromDiscord | <Rika> No it compiles to C |
| 03:23:08 | FromDiscord | <Elegantbeef> But C is supported wider |
| 03:23:17 | FromDiscord | <Elegantbeef> Pascal is more obscure |
| 03:23:20 | FromDiscord | <Evrensel Kişilik> then why didn't you write it in C? |
| 03:23:22 | FromDiscord | <Evrensel Kişilik> firstly |
| 03:23:30 | FromDiscord | <Elegantbeef> Cause Araq prefered pascal |
| 03:23:36 | FromDiscord | <Evrensel Kişilik> what is that |
| 03:23:37 | FromDiscord | <Rika> Because the creator liked Pascal more |
| 03:23:44 | FromDiscord | <Rika> Araq is the creator |
| 03:23:46 | FromDiscord | <Elegantbeef> He wrote a pascal inspired langauge it in object pascal since he liked pascal more than C |
| 03:23:51 | FromDiscord | <Evrensel Kişilik> THE GOD 😱 |
| 03:23:57 | FromDiscord | <Elegantbeef> He used C as the IR as it's a widely supported language with performance |
| 03:24:18 | FromDiscord | <Evrensel Kişilik> 😱 😱 😱 😱 😱 😱 😱 😱 😱 |
| 03:24:23 | FromDiscord | <Rika> I mean technically Assembly is also a widely supported language with performance 😛 |
| 03:24:33 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "I mean technically Assembly": looooooook |
| 03:24:36 | FromDiscord | <huantian> yeah but who likes assembly |
| 03:24:37 | FromDiscord | <Rika> It’s a joke |
| 03:24:37 | FromDiscord | <Evrensel Kişilik> we are just NOOOBS |
| 03:24:41 | FromDiscord | <Evrensel Kişilik> we can't write assembly |
| 03:24:52 | FromDiscord | <Elegantbeef> Well i mean assembly isnt portable, but yes 😀 |
| 03:25:05 | FromDiscord | <Evrensel Kişilik> only MenuetOS devs aren't NOOBS |
| 03:25:18 | FromDiscord | <Evrensel Kişilik> they are real programmers |
| 03:25:42 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935012457263534161/net02.png |
| 03:25:48 | FromDiscord | <Evrensel Kişilik> respect this |
| 03:26:42 | FromDiscord | <Elegantbeef> Also the benefit of using C was seen when you were testing Nim code and a majority just worked 😛 |
| 03:27:07 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Also the benefit of": oh damn yes |
| 03:27:12 | FromDiscord | <Evrensel Kişilik> but look |
| 03:27:40 | FromDiscord | <Evrensel Kişilik> we can't do `(string)voidPtr` in evaluater |
| 03:27:58 | FromDiscord | <huantian> cast exists |
| 03:28:02 | FromDiscord | <Evrensel Kişilik> i can define Nim pseudo-types for this |
| 03:28:09 | FromDiscord | <Evrensel Kişilik> In reply to @huantian "cast exists": wdym? |
| 03:28:19 | FromDiscord | <huantian> actually I have no idea what you mean because I don't do C |
| 03:28:22 | FromDiscord | <Evrensel Kişilik> how can i cast to void pointer in Nim? |
| 03:28:22 | FromDiscord | <huantian> don't listen to me |
| 03:28:38 | FromDiscord | <leorize> `cast[pointer](stuff)` |
| 03:29:01 | FromDiscord | <demotomohiro> !eval echo cast[string](cast[pointer]("fooo")) |
| 03:29:03 | * | huantian quit (Quit: WeeChat 3.4) |
| 03:29:04 | NimBot | fooo |
| 03:29:38 | FromDiscord | <leorize> warning, does not work with arc |
| 03:29:53 | FromDiscord | <Evrensel Kişilik> In reply to @leorize "`cast[pointer](stuff)`": what is this |
| 03:29:57 | FromDiscord | <huantian> it doesn't work with arc? didn't know that |
| 03:30:03 | FromDiscord | <Elegantbeef> It's a bitwise cast to a void pointer |
| 03:30:14 | FromDiscord | <demotomohiro> `pointer` in Nim is `void` in C. |
| 03:30:20 | FromDiscord | <Evrensel Kişilik> In reply to @leorize "`cast[pointer](stuff)`": https://media.discordapp.net/attachments/371759389889003532/935013621602349086/unknown.png |
| 03:30:21 | FromDiscord | <Elegantbeef> Nim differentiates casting from type conversions |
| 03:30:28 | FromDiscord | <Evrensel Kişilik> nothing |
| 03:30:30 | FromDiscord | <Evrensel Kişilik> why? |
| 03:30:48 | FromDiscord | <huantian> In reply to @Evrensel Kişilik "": amazing background |
| 03:30:50 | FromDiscord | <leorize> yea, arc uses a different representation where a string is a pair of pointer and length, so casting it to pointer will remove the length |
| 03:31:07 | FromDiscord | <Evrensel Kişilik> In reply to @huantian "amazing background": cuz im making the cutest debugger |
| 03:31:32 | FromDiscord | <Evrensel Kişilik> str is a `string` |
| 03:31:35 | FromDiscord | <huantian> ah that makes sense |
| 03:31:43 | FromDiscord | <Evrensel Kişilik> how to cast it to void ptr? |
| 03:31:54 | FromDiscord | <Elegantbeef> You did |
| 03:31:58 | FromDiscord | <Evrensel Kişilik> NO |
| 03:32:08 | FromDiscord | <Evrensel Kişilik> oh no |
| 03:32:09 | FromDiscord | <Elegantbeef> `pointer` in nim is `vod` |
| 03:32:10 | FromDiscord | <Evrensel Kişilik> oh nooooooooooo |
| 03:32:13 | FromDiscord | <Evrensel Kişilik> wait |
| 03:32:16 | FromDiscord | <Evrensel Kişilik> it is Nim code |
| 03:32:17 | FromDiscord | <Elegantbeef> `void` i mean |
| 03:32:18 | FromDiscord | <Evrensel Kişilik> lol |
| 03:32:20 | FromDiscord | <Evrensel Kişilik> this app |
| 03:32:30 | FromDiscord | <Evrensel Kişilik> is a C thing in debugger |
| 03:32:31 | FromDiscord | <Evrensel Kişilik> lol |
| 03:32:32 | FromDiscord | <Evrensel Kişilik> wait |
| 03:32:44 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935014227071103027/unknown.png |
| 03:32:58 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935014287796232314/unknown.png |
| 03:33:00 | FromDiscord | <Evrensel Kişilik> this |
| 03:33:02 | FromDiscord | <Evrensel Kişilik> but |
| 03:33:09 | FromDiscord | <Evrensel Kişilik> other was a Nim thing right? |
| 03:33:22 | FromDiscord | <Evrensel Kişilik> soooooooooo |
| 03:34:11 | FromDiscord | <Evrensel Kişilik> `cast[pointer](str)` translates to `(void ) str` |
| 03:34:13 | FromDiscord | <Evrensel Kişilik> (edit) "str`" => "str)`" |
| 03:34:15 | FromDiscord | <Evrensel Kişilik> (edit) "str)`" => "str`" |
| 03:34:34 | FromDiscord | <Evrensel Kişilik> soooooo then |
| 03:34:54 | FromDiscord | <Evrensel Kişilik> `cast[string](void_ptr)` translates to `(NimStringDesc ) void_ptr` |
| 03:35:17 | FromDiscord | <Elegantbeef> Yes |
| 03:35:20 | FromDiscord | <Evrensel Kişilik> lemme try to stepping over C lines |
| 03:35:30 | FromDiscord | <Evrensel Kişilik> gimme C blocks |
| 03:37:30 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935015429271851088/unknown.png |
| 03:37:37 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3Nkv |
| 03:37:51 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935015514495918100/unknown.png |
| 03:37:55 | FromDiscord | <Evrensel Kişilik> oh it works like a charm |
| 03:37:58 | FromDiscord | <huantian> weird my syntax highlighting does not like the triple quotes |
| 03:38:14 | FromDiscord | <huantian> https://media.discordapp.net/attachments/371759389889003532/935015612118364231/unknown.png |
| 03:38:15 | FromDiscord | <huantian> funky |
| 03:38:24 | FromDiscord | <Evrensel Kişilik> sent a code paste, see https://play.nim-lang.org/#ix=3Nkw |
| 03:39:52 | FromDiscord | <Evrensel Kişilik> ????????????????????????? |
| 03:40:01 | FromDiscord | <Elegantbeef> It uses the Nim symbol |
| 03:40:07 | FromDiscord | <Evrensel Kişilik> soooooooooooooo |
| 03:40:10 | FromDiscord | <Evrensel Kişilik> that's what i said |
| 03:40:21 | FromDiscord | <Evrensel Kişilik> then |
| 03:40:26 | FromDiscord | <Evrensel Kişilik> its good |
| 03:40:40 | FromDiscord | <Evrensel Kişilik> i like it |
| 03:41:12 | FromDiscord | <Evrensel Kişilik> oh no |
| 03:41:14 | FromDiscord | <Evrensel Kişilik> look |
| 03:41:18 | FromDiscord | <Evrensel Kişilik> can i do |
| 03:42:15 | FromDiscord | <huantian> It's not about if you can, it's about if you should |
| 03:42:41 | FromDiscord | <Evrensel Kişilik> sent a code paste, see https://play.nim-lang.org/#ix=3Nkz |
| 03:42:42 | FromDiscord | <Evrensel Kişilik> ?????????????????????? |
| 03:44:26 | FromDiscord | <Evrensel Kişilik> 😱 |
| 03:44:35 | FromDiscord | <Evrensel Kişilik> this is too much for YOU BOTS |
| 03:45:05 | FromDiscord | <Evrensel Kişilik> why im not trying |
| 03:46:39 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935017728559939604/unknown.png |
| 03:46:46 | FromDiscord | <Evrensel Kişilik> soooooooooooooooooooooooooooo |
| 03:46:48 | FromDiscord | <Evrensel Kişilik> what is this? |
| 03:47:05 | FromDiscord | <Elegantbeef> You emitting bad C code |
| 03:47:24 | FromDiscord | <Evrensel Kişilik> IM NOT BAD |
| 03:47:36 | FromDiscord | <Evrensel Kişilik> you can't say bad to me |
| 03:47:42 | FromDiscord | <Evrensel Kişilik> :BANNED: |
| 03:48:18 | FromDiscord | <Evrensel Kişilik> sooo this ` syntax is only for symbol names? |
| 03:49:04 | FromDiscord | <Elegantbeef> Yes |
| 03:49:11 | FromDiscord | <Evrensel Kişilik> how can i do `#include ...`? |
| 03:50:22 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-emit-pragma |
| 03:50:53 | FromDiscord | <Evrensel Kişilik> sooooooooooo |
| 03:50:56 | FromDiscord | <Evrensel Kişilik> look |
| 03:51:08 | FromDiscord | <Evrensel Kişilik> i will add some tricks to debugger |
| 03:51:22 | FromDiscord | <Evrensel Kişilik> sent a code paste, see https://play.nim-lang.org/#ix= |
| 03:51:24 | FromDiscord | <Evrensel Kişilik> this is string |
| 03:51:46 | FromDiscord | <Evrensel Kişilik> i will make the debugger to handle names from in this string (C code) |
| 03:52:17 | FromDiscord | <Evrensel Kişilik> and when you do mouse over on a name on C code |
| 03:52:20 | FromDiscord | <Evrensel Kişilik> it will handle it |
| 03:52:54 | FromDiscord | <Evrensel Kişilik> but looks like we don't have syntax highlighting for embedded C |
| 03:52:58 | FromDiscord | <Evrensel Kişilik> its bad 😦 |
| 03:54:06 | FromDiscord | <Elegantbeef> Yea might encourage people to use it 😛 |
| 03:55:10 | FromDiscord | <Rika> sent a code paste, see https://play.nim-lang.org/#ix=3NkL |
| 03:56:20 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "and if someone does": i think it must work |
| 03:56:28 | FromDiscord | <Evrensel Kişilik> GIMME TEA |
| 03:56:29 | FromDiscord | <Evrensel Kişilik> pls |
| 03:56:37 | FromDiscord | <Rika> what happens if someone constructs an emit from a macro 😛 |
| 03:57:05 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935020357587443722/5b645cde66be5d25a0c1e13c.png |
| 03:57:10 | FromDiscord | <Evrensel Kişilik> im eating this thing |
| 03:57:43 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "what happens if someone": 😱 |
| 03:58:11 | FromDiscord | <Rika> man might have a heart attack |
| 04:00:33 | NimEventer | New post on r/nim by kewlness: Question about nimble, see https://reddit.com/r/nim/comments/sbcqhh/question_about_nimble/ |
| 04:01:09 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "man might have a": do you want to eat? |
| 04:06:59 | FromDiscord | <Evrensel Kişilik> damn |
| 04:07:10 | FromDiscord | <Evrensel Kişilik> tell me |
| 04:07:22 | FromDiscord | <Evrensel Kişilik> is Nim faster than scripting languages? |
| 04:07:32 | FromDiscord | <Rika> uh? |
| 04:07:39 | FromDiscord | <Elegantbeef> It can be as fast as C |
| 04:07:42 | FromDiscord | <Evrensel Kişilik> v8 JavaScript is the fastest scripting language |
| 04:07:44 | FromDiscord | <Rika> it can even beat C |
| 04:07:52 | FromDiscord | <Elegantbeef> It's more about the programmer and less about a language |
| 04:07:52 | FromDiscord | <Rika> can v8 js beat C? |
| 04:08:13 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "It can be as": i don't think sooooo cuz there are soooo many things |
| 04:08:20 | FromDiscord | <Rika> ??? |
| 04:08:23 | FromDiscord | <Rika> have you tested it |
| 04:08:28 | FromDiscord | <Evrensel Kişilik> i see soo many things for a hello world app |
| 04:08:34 | FromDiscord | <Elegantbeef> You can play benchmark games all day long |
| 04:08:44 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "can v8 js beat": no but it is the fastest scripting language |
| 04:08:44 | FromDiscord | <Rika> yes, so? |
| 04:08:48 | FromDiscord | <Rika> ok? |
| 04:08:50 | FromDiscord | <Elegantbeef> Nim is a fast system programming language just like any other, in the right hands |
| 04:08:57 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Nim is a fast": soooooooooo |
| 04:09:22 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "yes, so?": im curious about how slower is that than pure C |
| 04:09:30 | FromDiscord | <Elegantbeef> It can be on par |
| 04:09:41 | FromDiscord | <Evrensel Kişilik> soooooo then |
| 04:09:51 | FromDiscord | <Evrensel Kişilik> i have GC |
| 04:09:55 | FromDiscord | <Evrensel Kişilik> and dynamic things |
| 04:10:02 | FromDiscord | <Evrensel Kişilik> but i have also performance |
| 04:10:06 | FromDiscord | <Evrensel Kişilik> and goooooooooooood C compatibility |
| 04:10:06 | FromDiscord | <Elegantbeef> Yes |
| 04:10:07 | FromDiscord | <Evrensel Kişilik> right? |
| 04:10:16 | FromDiscord | <Elegantbeef> It's like Go if it wasnt a mistake 😛 |
| 04:10:26 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "It's like Go if": wdym? |
| 04:10:32 | FromDiscord | <Evrensel Kişilik> do you think Nim is better than Go? |
| 04:10:44 | FromDiscord | <Elegantbeef> If i thought the other way i'd be using Go 😛 |
| 04:10:45 | FromDiscord | <Evrensel Kişilik> can i compile Nim source to .C? |
| 04:10:52 | FromDiscord | <Evrensel Kişilik> i want .c sources |
| 04:10:55 | FromDiscord | <Elegantbeef> You can output C code yes |
| 04:11:05 | FromDiscord | <Elegantbeef> `--nimcache:yourDirectory` |
| 04:11:11 | FromDiscord | <Evrensel Kişilik> sooooooooooooooooo |
| 04:11:17 | FromDiscord | <Elegantbeef> If you want to make it cleaner do `-d:danger` or `-d:release` |
| 04:11:19 | FromDiscord | <Evrensel Kişilik> how does that look like? |
| 04:11:30 | FromDiscord | <Elegantbeef> It's not very human readable but it looks like C |
| 04:11:34 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "If you want to": what are those? |
| 04:11:52 | FromDiscord | <Elegantbeef> Those are compiler flags for versions, by default nim compiles in debug mode |
| 04:11:52 | FromDiscord | <Rika> release build |
| 04:12:03 | FromDiscord | <Evrensel Kişilik> loooooooooook |
| 04:12:05 | FromDiscord | <Evrensel Kişilik> soooooooo |
| 04:12:16 | FromDiscord | <Elegantbeef> You can also do `--gc:arc` to use a deterministic move semantic based ARC |
| 04:12:17 | FromDiscord | <Evrensel Kişilik> you think it is better to use Nim instead of C |
| 04:12:22 | FromDiscord | <Elegantbeef> Yes |
| 04:12:39 | FromDiscord | <Evrensel Kişilik> i liked this language |
| 04:12:42 | FromDiscord | <Elegantbeef> It has a saner type system, and meta programming to make it more enjoyable to write |
| 04:12:43 | FromDiscord | <Evrensel Kişilik> the most important reason |
| 04:12:44 | FromDiscord | <Evrensel Kişilik> is |
| 04:12:57 | FromDiscord | <Evrensel Kişilik> docs page looks like Godot's |
| 04:13:19 | FromDiscord | <Elegantbeef> Some of nim's website was made by hugo, dont know about the docs design |
| 04:13:35 | FromDiscord | <Elegantbeef> Hugo is the same person that did godot's webiste/design |
| 04:13:37 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Some of nim's website": what is that? |
| 04:13:39 | FromDiscord | <Evrensel Kişilik> hmmmmmmmmmm |
| 04:13:59 | FromDiscord | <Elegantbeef> https://hugo.pro/ |
| 04:14:12 | FromDiscord | <Evrensel Kişilik> ah i know |
| 04:14:16 | FromDiscord | <Evrensel Kişilik> this |
| 04:14:17 | FromDiscord | <Evrensel Kişilik> ok |
| 04:14:22 | FromDiscord | <Evrensel Kişilik> soooooooooo |
| 04:14:31 | FromDiscord | <Evrensel Kişilik> loooooooooook |
| 04:14:42 | FromDiscord | <Evrensel Kişilik> this language is working on indents |
| 04:14:47 | FromDiscord | <Evrensel Kişilik> i don't want it |
| 04:14:58 | FromDiscord | <Rika> okay |
| 04:15:00 | FromDiscord | <Rika> thats fine |
| 04:15:03 | FromDiscord | <Rika> its a preference thing |
| 04:15:05 | FromDiscord | <Elegantbeef> Then dont use it 😀 |
| 04:15:14 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Then dont use it": the language? |
| 04:15:15 | FromDiscord | <Rika> wtf beef rude |
| 04:15:26 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "wtf beef rude": it is a BOT |
| 04:15:37 | FromDiscord | <Evrensel Kişilik> IT is acting like expected |
| 04:15:48 | FromDiscord | <Rika> i never knew bots could be so rude |
| 04:15:59 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "i never knew bots": oh nooo it is a MALFUNCTION |
| 04:16:05 | FromDiscord | <Evrensel Kişilik> maybe its hacked |
| 04:16:09 | FromDiscord | <Elegantbeef> I mean if someone doesnt like nim's significant whitespace, what do you say? 😀 |
| 04:16:28 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "I mean if someone": you HAVE TO add curly brackets support |
| 04:16:31 | FromDiscord | <Rika> the same thing but not rude XD |
| 04:16:32 | FromDiscord | <Evrensel Kişilik> i would say |
| 04:16:37 | FromDiscord | <Rika> In reply to @Evrensel Kişilik "you HAVE TO add": it was added before |
| 04:16:38 | FromDiscord | <Rika> then removed |
| 04:16:40 | FromDiscord | <Rika> no one used it |
| 04:16:48 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "then removed": oh |
| 04:16:52 | FromDiscord | <Evrensel Kişilik> if it is added once |
| 04:16:52 | FromDiscord | <Rika> and it was expensive in terms of maintenance to keep |
| 04:17:01 | FromDiscord | <Evrensel Kişilik> why would you remove it again? |
| 04:17:08 | FromDiscord | <Rika> no one used it and it was hard to maintain |
| 04:17:18 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "no one used it": really interesting as a reason |
| 04:17:45 | FromDiscord | <Evrensel Kişilik> i will make a new open source thing |
| 04:17:56 | FromDiscord | <Evrensel Kişilik> a goooood project |
| 04:17:58 | FromDiscord | <Evrensel Kişilik> in my mind |
| 04:18:07 | FromDiscord | <Evrensel Kişilik> soooooooooo i can write that in Nim |
| 04:18:08 | FromDiscord | <Rika> okay |
| 04:18:12 | FromDiscord | <Evrensel Kişilik> but |
| 04:18:19 | FromDiscord | <Evrensel Kişilik> it is using indentations |
| 04:18:34 | FromDiscord | <Rika> ok |
| 04:18:46 | FromDiscord | <Rika> you dont have to write it in nim |
| 04:19:33 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "you dont have to": sure |
| 04:19:38 | FromDiscord | <Evrensel Kişilik> then |
| 04:19:43 | FromDiscord | <Evrensel Kişilik> im leaving here |
| 04:19:44 | FromDiscord | <Evrensel Kişilik> bye |
| 04:20:15 | FromDiscord | <Rika> uh ok |
| 04:20:31 | FromDiscord | <Elegantbeef> Worth noting https://github.com/xigoi/nimdenter exists 😀 |
| 04:20:58 | FromDiscord | <Rika> oh yeah it did |
| 04:20:59 | FromDiscord | <Rika> i forgot |
| 04:21:00 | FromDiscord | <Rika> xd |
| 04:21:27 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Worth noting https://github.com/xigoi/nimdenter exi": ❤️ ↵ ❤️ ❤️ ❤️ ↵❤️ ❤️ ❤️ ❤️ ❤️ |
| 04:21:37 | FromDiscord | <Evrensel Kişilik> (edit) "In reply to @Elegantbeef "Worth noting https://github.com/xigoi/nimdenter exi": ... ❤️" added ". ↵ " |
| 04:21:38 | FromDiscord | <Elegantbeef> Think there is another one somewhere |
| 04:21:39 | FromDiscord | <Evrensel Kişilik> made it |
| 04:21:44 | FromDiscord | <Elegantbeef> I mean they're toys pretty much imo |
| 04:21:51 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "i forgot": you are a BAD helper |
| 04:21:58 | FromDiscord | <Evrensel Kişilik> this BOT is better than you |
| 04:22:11 | FromDiscord | <Rika> i mean bots dont forget |
| 04:22:20 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "i mean bots dont": you're right |
| 04:22:22 | FromDiscord | <Elegantbeef> I'm not a fucking elephant |
| 04:22:31 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "I'm not a fucking": sure cuz you're a software |
| 04:22:33 | FromDiscord | <Rika> 😦 |
| 04:22:34 | FromDiscord | <Evrensel Kişilik> you're cursed |
| 04:22:39 | FromDiscord | <Rika> lmao |
| 04:23:12 | FromDiscord | <Evrensel Kişilik> 😱 a stucked mind in electricity in a CPU 😱 |
| 04:24:19 | FromDiscord | <Evrensel Kişilik> is there macros? |
| 04:24:22 | FromDiscord | <Evrensel Kişilik> (edit) "macros?" => "macro?" |
| 04:24:36 | FromDiscord | <Elegantbeef> Yes there are Lisp inspired macros |
| 04:24:42 | FromDiscord | <Rika> oh buiy |
| 04:24:46 | FromDiscord | <Rika> boy |
| 04:24:51 | FromDiscord | <Rika> you're gonna explode |
| 04:25:02 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "Yes there are Lisp": Lisp? |
| 04:25:16 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "you're gonna explode": 😱 me? 😱 |
| 04:25:31 | FromDiscord | <Elegantbeef> Nim macros work on the AST and use a VM to evaluate the changes to the AST |
| 04:25:45 | FromDiscord | <Elegantbeef> So you write your own compiler passes to generate code from code |
| 04:25:48 | FromDiscord | <Elegantbeef> Unlike C's macros |
| 04:26:37 | FromDiscord | <Evrensel Kişilik> interesting |
| 04:26:45 | FromDiscord | <Evrensel Kişilik> soooo |
| 04:26:53 | FromDiscord | <Evrensel Kişilik> what is the way to make bindings for C libraries? |
| 04:27:07 | FromDiscord | <Elegantbeef> `c2nim` `futhark` `nimterop` `hcparse` |
| 04:27:11 | FromDiscord | <Evrensel Kişilik> firstly i will make bindings for this https://github.com/rohanrhu/jsonic |
| 04:27:29 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "`c2nim` `futhark` `nimterop` `hcparse`": what are these? |
| 04:27:34 | FromDiscord | <Rika> libraries or binaries |
| 04:27:40 | FromDiscord | <Rika> to aid with wrapping c libraries |
| 04:27:50 | FromDiscord | <Evrensel Kişilik> soooooooooo |
| 04:27:51 | FromDiscord | <Elegantbeef> What the human saidi |
| 04:27:57 | FromDiscord | <Rika> human? |
| 04:28:05 | FromDiscord | <Evrensel Kişilik> how can i use these functions with static linking? |
| 04:28:10 | FromDiscord | <Rika> did i ever say i was human? |
| 04:28:10 | FromDiscord | <Elegantbeef> Oh god you're not human? |
| 04:28:26 | FromDiscord | <Rika> In reply to @Evrensel Kişilik "how can i use": thats a bit more complicated i believe |
| 04:28:26 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "did i ever say": oh no 😱 |
| 04:28:35 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "thats a bit more": how? |
| 04:28:42 | FromDiscord | <haxscramper> Hcparse is pure R&D still, it is not usable now |
| 04:29:06 | FromDiscord | <Elegantbeef> Ah sorry |
| 04:29:42 | * | vicfred_ quit (Quit: Leaving) |
| 04:45:20 | FromDiscord | <Evrensel Kişilik> damn |
| 04:45:48 | FromDiscord | <Evrensel Kişilik> a turkish BTC exchange is down for hours |
| 05:17:20 | FromDiscord | <evil> Is it possible to use nim js to work with native script? |
| 05:26:13 | FromDiscord | <leorize> yes |
| 05:27:46 | FromDiscord | <Evrensel Kişilik> can i use inline assembly in Nim? |
| 05:31:38 | FromDiscord | <Rika> afaik yes |
| 05:32:01 | FromDiscord | <Evrensel Kişilik> then |
| 05:32:08 | FromDiscord | <Evrensel Kişilik> goooooooooooooooooooooooooooooooooooooooooooooooooooooooood |
| 05:32:14 | FromDiscord | <Evrensel Kişilik> i don't write assembly |
| 05:32:19 | FromDiscord | <Evrensel Kişilik> pls remove that feature |
| 05:32:34 | FromDiscord | <Evrensel Kişilik> i don't want it |
| 05:32:36 | FromDiscord | <Evrensel Kişilik> plsssssssss |
| 05:33:50 | FromDiscord | <Rika> you dont need to use the feature |
| 05:35:00 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "you dont need to": YOU TOLD ME THAT FOR BRACES |
| 05:35:07 | FromDiscord | <Evrensel Kişilik> i dont love you!!! |
| 05:35:16 | FromDiscord | <that_dude> You don't need braces either lol |
| 05:35:46 | FromDiscord | <that_dude> Imagine spending extra time typing when you don't need to |
| 05:35:58 | FromDiscord | <Evrensel Kişilik> if braces would exist you would not be have to use them toooooooooooooooooooooo |
| 05:36:09 | FromDiscord | <Evrensel Kişilik> In reply to @that_dude "Imagine spending extra time": :BANNED: |
| 05:36:53 | FromDiscord | <Evrensel Kişilik> loooooooooooooooook |
| 05:37:00 | FromDiscord | <Evrensel Kişilik> im doing Ctrl + M |
| 05:37:02 | FromDiscord | <Evrensel Kişilik> in VSCode |
| 05:37:08 | FromDiscord | <Evrensel Kişilik> it selects over blocks |
| 05:37:12 | FromDiscord | <Evrensel Kişilik> indentations are bulllshit |
| 05:37:23 | FromDiscord | <Rika> i mean |
| 05:37:24 | FromDiscord | <that_dude> just click the minus where it starts |
| 05:37:27 | FromDiscord | <Rika> lets not fight over it |
| 05:37:30 | FromDiscord | <that_dude> lol |
| 05:37:32 | FromDiscord | <that_dude> ^ |
| 05:37:37 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "lets not fight over": loooook |
| 05:38:01 | FromDiscord | <Evrensel Kişilik> i don't allow you to write Nim anymore |
| 05:38:06 | FromDiscord | <Evrensel Kişilik> you will write C |
| 05:38:18 | FromDiscord | <Rika> try me |
| 05:38:29 | FromDiscord | <that_dude> I think most people don't want me to write nim here. lol I asked so many questions just to make a very niche thing |
| 05:38:34 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "try me": 😱 are you a language? 😱 |
| 05:38:45 | FromDiscord | <Rika> uh |
| 05:38:48 | FromDiscord | <that_dude> (edit) "I think most people don't want me to write nim here. lol I asked so many questions just to make a very niche thing ... " added "that isn't even very useful" |
| 05:38:49 | FromDiscord | <Rika> thats not what that means |
| 05:38:52 | FromDiscord | <Rika> i mean okay |
| 05:38:53 | FromDiscord | <Rika> sure |
| 05:39:16 | FromDiscord | <Rika> In reply to @that_dude "I think most people": dont worry i dont remember SHIT about what you were making |
| 05:39:28 | FromDiscord | <Rika> tbh i dont remember anything past a few hours ago |
| 05:39:34 | FromDiscord | <that_dude> lol |
| 05:39:55 | FromDiscord | <that_dude> It was the thing to inject procs at run time |
| 05:40:06 | FromDiscord | <Rika> OH GOD |
| 05:40:21 | FromDiscord | <Rika> shh i dont need to remember ^_^ |
| 05:40:32 | FromDiscord | <that_dude> I'll haunt you with that |
| 05:40:38 | FromDiscord | <Rika> 😅 |
| 05:45:08 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "OH GOD": there is no a GOD |
| 05:45:13 | FromDiscord | <Evrensel Kişilik> :BANNED: |
| 05:45:53 | FromDiscord | <that_dude> In reply to @Evrensel Kişilik "there is no a": There is no YOU :BANNED: |
| 05:45:59 | FromDiscord | <Evrensel Kişilik> https://media.discordapp.net/attachments/371759389889003532/935047760904876042/dennisritchie.png |
| 05:46:01 | FromDiscord | <Evrensel Kişilik> except this |
| 05:46:06 | FromDiscord | <Rika> what the fuck is happening lmfaooo |
| 05:46:15 | FromDiscord | <Evrensel Kişilik> In reply to @that_dude "There is no YOU": ❤️ |
| 05:46:42 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "what the fuck is": we are discussing on banning you |
| 05:48:16 | FromDiscord | <Rika> don't worry it's happened plenty before i'm used to it |
| 05:50:56 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "don't worry it's happened": who the fuck did you do it to you? |
| 05:51:01 | FromDiscord | <Evrensel Kişilik> i will beat them!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| 05:51:15 | FromDiscord | <Rika> y'all hyper as fuck |
| 05:53:35 | FromDiscord | <Elegantbeef> @that_dude\: I mean i dont mind you making the thing you're making, it's just an odd desire 😛 |
| 05:53:48 | FromDiscord | <Evrensel Kişilik> In reply to @Rika "y'all hyper as fuck": gimme them |
| 05:54:01 | FromDiscord | <Evrensel Kişilik> anyone can't ban you |
| 05:54:23 | FromDiscord | <that_dude> In reply to @Elegantbeef "<@532751332445257729>\: I mean i": Fair enough, I just don't know enough to properly implement everything myself. |
| 05:58:32 | FromDiscord | <Elegantbeef> My view is very much "You could spend time making your program more managable instead" but, you do you 😀 |
| 06:03:15 | FromDiscord | <that_dude> I did take another look at my current design and I think I decided that more than I should have at the end of some of my procs which was causing clashes in design. If I resolve that, I think I wouldn't even need the thing I'm working on. That said. I kinda do want to complete this project because I like the idea of it. |
| 06:03:49 | FromDiscord | <that_dude> (edit) "I did take another look at my current design and I think I decided that ... more" added "I did" |
| 06:04:26 | FromDiscord | <that_dude> When I edit my message, does it also update for you guys on irc/matric/... as well? |
| 06:04:41 | FromDiscord | <that_dude> (edit) "message," => "messages," |
| 06:04:47 | FromDiscord | <Elegantbeef> Sometimes it sometimes explodes |
| 06:26:18 | FromDiscord | <evoalg> Beefy, what use is that emit pragma if it can be done in Nim anyway? ... or can C do things that Nim can't & so that's why we'd use emit? |
| 06:26:49 | FromDiscord | <Elegantbeef> You want to include a C source file inside Nim |
| 06:27:13 | FromDiscord | <Elegantbeef> https://github.com/ftsf/nico/blob/main/nico/stb_vorbis.nim#L16-L32 |
| 06:27:16 | FromDiscord | <evoalg> instead of converting it to nim? |
| 06:28:40 | FromDiscord | <Elegantbeef> Yea |
| 06:29:26 | FromDiscord | <Elegantbeef> Though in that case i thinks it's just for the C header |
| 06:29:49 | FromDiscord | <evoalg> ahhh I see, like if it's someone else's well-thought-out C code, then it might be easier to use emit |
| 06:35:53 | * | Gustavo6046_ joined #nim |
| 06:37:17 | * | Gustavo6046_ quit (Read error: Connection reset by peer) |
| 06:37:32 | * | Gustavo6046_ joined #nim |
| 06:37:42 | * | Gustavo6046 is now known as Guest5580 |
| 06:37:42 | * | Guest5580 quit (Killed (calcium.libera.chat (Nickname regained by services))) |
| 06:37:42 | * | Gustavo6046_ is now known as Gustavo6046 |
| 06:37:42 | FromDiscord | <Elegantbeef> Generally you shouldnt use it though |
| 06:39:27 | FromDiscord | <evoalg> gotcha, thank you |
| 06:50:14 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "https://github.com/ftsf/nico/blob/main/nico/stb_vor": damn |
| 06:50:22 | FromDiscord | <Evrensel Kişilik> embedded C code is not highlighted |
| 06:51:18 | * | vicecea quit (Remote host closed the connection) |
| 06:51:40 | FromDiscord | <Elegantbeef> It's a string literal what do you expect |
| 06:51:46 | * | vicecea joined #nim |
| 06:52:21 | FromDiscord | <Elegantbeef> Plus it could be C++ or JS |
| 06:53:38 | FromDiscord | <Evrensel Kişilik> In reply to @Elegantbeef "It's a string literal": yes but it is possible to highlight |
| 06:55:15 | FromDiscord | <Elegantbeef> sent a code paste, see https://paste.rs/Bvw |
| 06:58:12 | FromDiscord | <Rika> how would you know what is a "c language emit" and which is not? |
| 06:58:25 | FromDiscord | <Elegantbeef> There is an rfc for it |
| 07:02:40 | FromDiscord | <Elegantbeef> Or atleast i thought here was |
| 07:03:13 | FromDiscord | <demotomohiro> emit pragms is not used frequently. |
| 07:03:56 | FromDiscord | <Elegantbeef> Indeed |
| 07:04:08 | FromDiscord | <Elegantbeef> There isnt much reason to use it in most cases |
| 07:21:30 | * | jjido joined #nim |
| 07:35:06 | * | vicecea quit (Remote host closed the connection) |
| 07:35:37 | * | vicecea joined #nim |
| 07:35:40 | * | Gustavo6046 quit (Ping timeout: 250 seconds) |
| 07:44:06 | * | Gustavo6046 joined #nim |
| 08:03:10 | * | PMunch joined #nim |
| 08:26:45 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 08:39:48 | NimEventer | New post on r/nim by mavavilj: Is the safety improved when binding Nim to C/C++ or in which sense is Nim safe in such setting?, see https://reddit.com/r/nim/comments/sbhify/is_the_safety_improved_when_binding_nim_to_cc_or/ |
| 08:53:56 | FromDiscord | <narimiran> here is Nim 1.6.4RC, please try it out: https://github.com/nim-lang/nightlies/releases/tag/2022-01-24-version-1-6-e1f3c74bdc458d5d4c528b30f30eabb56a5778d3 |
| 09:01:20 | * | neurocyte0917090 joined #nim |
| 09:02:32 | FromDiscord | <Elegantbeef> Oh and @Phil new defaults breaks your code! |
| 09:04:34 | FromDiscord | <Phil> wait, "new" defaults? |
| 09:04:44 | FromDiscord | <enthus1ast> @Phil\: i've added bool and ref obj and also a small readme https://github.com/enthus1ast/nisane |
| 09:05:06 | FromDiscord | <Elegantbeef> I refactored it a bit |
| 09:05:10 | FromDiscord | <Phil> In reply to @Elegantbeef "Oh and <@180601887916163073> new": I am of confuse, did you already throw in that the procs generated are init(YOUR TYPE) ? |
| 09:05:13 | FromDiscord | <Elegantbeef> you new need to pass a flag |
| 09:05:19 | FromDiscord | <Elegantbeef> now\ |
| 09:05:34 | FromDiscord | <Phil> In reply to @enthus1ast "<@180601887916163073>\: i've added bool": nice! |
| 09:05:44 | FromDiscord | <Elegantbeef> You can chose between them |
| 09:06:02 | FromDiscord | <Phil> Check, but I'll more likely just refactor |
| 09:06:29 | FromDiscord | <Phil> I'll need to contemplate whether I want to keep "newModel(mytype)" or just straight up swap full on to "init(mytype)" |
| 09:08:23 | FromDiscord | <Phil> In reply to @enthus1ast "<@180601887916163073>\: i've added bool": I'll take a look at it after work, thanks for the update! |
| 09:08:37 | FromDiscord | <Elegantbeef> `new(MyType)`\↵(@Phil) |
| 09:08:58 | FromDiscord | <Elegantbeef> Though that might interfer with the systems |
| 09:15:43 | FromDiscord | <Phil> Ohhh that might actually make me stick with newModel as an alias for that new proc |
| 09:15:53 | FromDiscord | <Phil> newModel would be more specific |
| 09:15:55 | FromDiscord | <Phil> Hmmm |
| 09:21:33 | FromDiscord | <Elegantbeef> Well i havent tested if an exported `new` works |
| 09:21:44 | FromDiscord | <Elegantbeef> I assume it'll be ambiguous |
| 09:59:00 | FromDiscord | <Clonkk> sent a code paste, see https://paste.rs/BAb |
| 09:59:24 | FromDiscord | <Elegantbeef> Nah |
| 09:59:32 | FromDiscord | <Elegantbeef> a `new(Type)` definition |
| 10:00:10 | FromDiscord | <Phil> In reply to @Clonkk "Do you mean this": I might actually not consider that a disadvantage |
| 10:00:14 | FromDiscord | <Phil> hmm |
| 10:01:12 | FromDiscord | <Elegantbeef> Actually our new would be more specific so it'd work |
| 10:01:14 | FromDiscord | <Elegantbeef> Disregard |
| 10:01:27 | FromDiscord | <Clonkk> Well once you have the first one, it's easy to define one with a typedesc |
| 10:03:10 | FromDiscord | <Elegantbeef> Yea i forgot about the specificity rule of procedure dispatch |
| 10:04:52 | FromDiscord | <Elegantbeef> `proc new[T](_: typedesc[T]): T` vs `proc new(_: typedesc[MyType]): MyType` |
| 10:06:53 | FromDiscord | <Clonkk> You could even do `proc new[T: SomeBaseType](_: typedesc[T]): T ` I think |
| 10:07:08 | FromDiscord | <Elegantbeef> Yea |
| 10:07:10 | FromDiscord | <Elegantbeef> It's more specific |
| 10:07:13 | FromDiscord | <Clonkk> (or `ref SomeBaseType` for new semantic) |
| 10:07:31 | NimEventer | New Nimble package! slicerator - Iterator package aimed at more ergonomic and efficient iterators., see https://github.com/beef331/slicerator |
| 10:10:06 | FromDiscord | <Elegantbeef> I know that all, i just forgot about the dispatch rule 😛 |
| 10:11:25 | * | Gustavo6046 quit (Remote host closed the connection) |
| 10:11:51 | * | Gustavo6046 joined #nim |
| 10:29:07 | * | Gustavo6046 quit (Read error: Connection reset by peer) |
| 10:29:18 | * | Gustavo6046 joined #nim |
| 10:30:16 | NimEventer | New post on r/nim by mavavilj: VST SDK in Nim? How? When?, see https://reddit.com/r/nim/comments/sbj6cb/vst_sdk_in_nim_how_when/ |
| 10:51:45 | FromDiscord | <mratsim> In reply to @Elegantbeef "There isnt much reason": Me looking at my Cuda and OpenCL code 🤔 |
| 10:52:44 | arkanoid | when I do "proc foo[T](arg: typedesc[T])" I'm not sure what's the difference from `T` and `arg` in the proc body |
| 10:53:35 | FromDiscord | <mratsim> use proc foo(arg: typedesc[T]) |
| 10:53:43 | * | jmdaemon quit (Quit: ZNC 1.8.2 - https://znc.in) |
| 10:53:47 | FromDiscord | <mratsim> (edit) "typedesc[T])" => "typedesc)" |
| 10:53:57 | FromDiscord | <mratsim> without the T in bracket |
| 10:54:29 | FromDiscord | <mratsim> The main difference is in the bugs it might trigger |
| 10:54:47 | FromDiscord | <mratsim> typedesc/type/generics have a different, sometimes overlapping set of bugs. |
| 11:00:21 | * | Gustavo6046_ joined #nim |
| 11:00:41 | * | Gustavo6046 quit (Killed (erbium.libera.chat (Nickname regained by services))) |
| 11:00:41 | * | Gustavo6046_ is now known as Gustavo6046 |
| 11:02:27 | * | Gustavo6046 quit (Client Quit) |
| 11:06:22 | arkanoid | mratsim: thanks. Is there a safe net to avoid triggering those kind of bugs? Is "proc foo[T]" == "proc foo(arg: typedesc)" apart from the signature? |
| 11:13:34 | * | einh0rn joined #nim |
| 11:13:34 | * | einh0rn quit (Client Quit) |
| 11:13:54 | * | einhorn joined #nim |
| 11:19:04 | * | Vladar joined #nim |
| 11:21:06 | arkanoid | well, I've just refactored code to avoid _:typedesc[T] and it works correctly. Thanks! Much nicer now |
| 11:31:55 | * | Lord_Nightmare2 joined #nim |
| 11:32:06 | * | Lord_Nightmare quit (Read error: Connection reset by peer) |
| 11:33:34 | * | Lord_Nightmare2 is now known as Lord_Nightmare |
| 11:41:51 | FromDiscord | <mratsim> In reply to @arkanoid "well, I've just refactored": We have many such things in Nimbus so if you have a bug on that it's probably a syntax problem |
| 11:43:09 | FromDiscord | <mratsim> example: https://github.com/status-im/nimbus-eth2/blob/bef13b6/tests/consensus_spec/phase0/test_fixture_rewards.nim#L32 |
| 11:49:08 | * | einhorn quit (Quit: Enough internet for today.) |
| 11:54:58 | * | haakon joined #nim |
| 12:03:57 | * | jjido joined #nim |
| 12:18:52 | haakon | Does the compiler define the implicit `result` variable even when it's not used and `return` is used explicitly? |
| 12:19:27 | PMunch | Well it defines it, but it is optimised away during compilation |
| 12:20:56 | haakon | Ah, I see |
| 12:24:01 | PMunch | In general you don't have to worry too much about what Nim does, it mostly does the right thing |
| 12:24:17 | PMunch | Sure there is room for optimisation here and there, but for the most part it's pretty good |
| 12:25:36 | haakon | Yeah, that's my impression after a day of playing with it. Quite an enjoyable language so far |
| 12:33:58 | PMunch | Have anything particular in mind you want to use Nim for? |
| 12:39:00 | Amun-Ra | nim is great, I switched from zig to nim for my project(s) |
| 12:39:35 | FromDiscord | <Rika> Why? |
| 12:39:40 | FromDiscord | <Rika> About the switch |
| 12:40:16 | haakon | I'm just looking at nim for hobby side-projects (currently dabbling with a system to organize photo collections etc) |
| 12:40:29 | Amun-Ra | it gives much more freedom and writing library wrappers is pretty straightforward |
| 12:41:02 | Amun-Ra | (I'm writing old/retro/abandoned image formats viewer just to know and get used to the language) |
| 12:42:30 | PMunch | Huh, I thought Zig was supposed to be great at wrapping C code? I mean I based Futhark off-of the approach that Zig uses |
| 12:43:05 | PMunch | haakon, that's how it begins, suddenly you'll start missing it at work as well |
| 12:44:41 | * | Vladar quit (Remote host closed the connection) |
| 12:45:27 | Amun-Ra | don't get me wront, zig is fine, it's just I come from python world and I find nim overwall better |
| 12:45:30 | Amun-Ra | wrong* |
| 12:45:42 | Amun-Ra | and overall* ;> |
| 12:46:50 | FromDiscord | <Rika> Overwall |
| 12:50:36 | * | Vladar joined #nim |
| 12:56:55 | FromDiscord | <Evrensel Kişilik> does GC understand if i use a Nim variable inside C block? |
| 13:02:51 | FromDiscord | <Rika> No |
| 13:04:22 | PMunch | Amun-Ra, ah I see |
| 13:04:35 | PMunch | @Rika, I guess it would if you use --gc:boehm |
| 13:04:42 | PMunch | Haven't tried it though |
| 13:08:17 | FromDiscord | <Yepoleb> how would you pass a ref to a c block? |
| 13:10:12 | FromDiscord | <mratsim> In reply to @PMunch "In general you don't": I'm the only one who needs to worry :/ |
| 13:10:51 | * | pro joined #nim |
| 13:10:58 | PMunch | @Evrensel_Kişilik, in general you either pass a pointer to C to some data in Nim, and then you just take care to not destroy that object until the C function is done. If the C code keeps the reference somewhere you might have to use GC_ref and GC_unref. Although if a C library keeps a pointer it will typically also try to call some kind of free procedure from the same library it got the pointer from, so that shouldn't be a big problem to implement |
| 13:11:02 | FromDiscord | <mratsim> In reply to @Evrensel Kişilik "does GC understand if": you can use a Nim variable inside a C block, just don't let it escape from the function. Ergo it needs to be alive or C code will do use after free |
| 13:11:18 | PMunch | @Yepoleb, just pass it as a pointer |
| 13:11:36 | FromDiscord | <mratsim> You can even pass Nim callbacks to C |
| 13:12:15 | FromDiscord | <mratsim> for example, I pass this Nim function to a MP4 C library: https://github.com/mratsim/trace-of-radiance/blob/master/trace_of_radiance/io/mp4.nim#L115-L126 |
| 13:12:19 | PMunch | @mratsim, haha you and me both, trying to make sure Nim doesn't generate more code than necessary for microcontrollers is quite finicky |
| 13:13:27 | PMunch | The good news is that once I've done it and wrapped it in a nice library it's pretty easy to use for an end user :) |
| 13:13:46 | FromDiscord | <mratsim> Well these days, I just add support for my compile-time assembler |
| 13:13:52 | FromDiscord | <mratsim> I need to tackle ARM. |
| 13:15:03 | FromDiscord | <mratsim> I can't believe how poor the codegen can be for bigint :/ |
| 13:15:11 | FromDiscord | <mratsim> even in C. |
| 13:15:41 | PMunch | Hmm, is there anything I can run to get a mapping from Nim -> C identifiers? Essentially I want to wrap avr-nm and then turn the identifiers there into Nim file:line:column information |
| 13:16:25 | PMunch | You're truly doing great work though, I'm constantly amazed by the stuff you manage do to |
| 13:26:56 | FromDiscord | <mratsim> {.exportc.} with `LINE`? |
| 13:26:59 | FromDiscord | <mratsim> thanks 🙂 |
| 13:37:58 | arkanoid | mratsim, what's the meaning of "arg: type OtherType"? |
| 13:38:06 | PMunch | With `LINE`? |
| 13:40:00 | * | rockcavera joined #nim |
| 13:40:00 | * | rockcavera quit (Changing host) |
| 13:40:00 | * | rockcavera joined #nim |
| 13:55:55 | FromDiscord | <ajusa> Anyone know a good bloom filter implementation that works on the JS backend? I think Status and Disruptek have one, not sure about others |
| 13:57:30 | FromDiscord | <mratsim> In reply to @ajusa "Anyone know a good": our bloomfilter had very narrow requirement and is basically 50 lines of code iirc |
| 13:58:36 | FromDiscord | <mratsim> 39 LOC: https://github.com/status-im/nim-eth/blob/master/eth/bloom.nim |
| 13:59:03 | FromDiscord | <mratsim> I'm not even sure why it's using stint |
| 13:59:58 | FromDiscord | <ajusa> Oh wow it really is short. Do you think it'd be good enough for English spell checking? Looks like it is limited to 2048 bits, and I don't know enough about the implementation to gauge the false positive rate |
| 14:01:53 | FromDiscord | <mratsim> https://github.com/status-im/nim-eth-bloom#description↵↵> Ethereum bloom filters are implemented with the Keccak-256 cryptographic hash function. |
| 14:02:17 | FromDiscord | <mratsim> Using a cryptographic hash function seems overkill for your use-case |
| 14:02:32 | FromDiscord | <mratsim> There are also Cuckoo Filters iirc |
| 14:03:58 | FromDiscord | <ajusa> Yeah any generic hashing function would be good enough for me. I'll still give it a try though. No cuckoo filter implementations in Nim yet, though it doesn't look too crazy |
| 14:04:31 | FromDiscord | <mratsim> do remember that there are about 2⁸⁶ atoms in the universe |
| 14:05:08 | FromDiscord | <mratsim> if each atom contained an universe you still woudn't reach 2²⁰⁴⁸ |
| 14:30:18 | * | arkurious joined #nim |
| 14:46:56 | * | pro quit (Quit: WeeChat 3.4) |
| 14:50:46 | FromDiscord | <vindaar> computer scientists always get this wrong, huh 😛↵The number of atoms in the universe is O(10^80). Number of photons O(10^88). Big difference 🤣 2^86 is only \~10^26 so about the number of atoms in a liter of water 😅↵(@mratsim) |
| 14:52:36 | FromDiscord | <Rika> so 2^266 roughly, num of atoms in univ. |
| 15:06:21 | FromDiscord | <ynfle> Is this a bug https://play.nim-lang.org/#ix=3Nof ? It seems to be |
| 15:08:09 | FromDiscord | <ynfle> `varargs[typed]` won't accept an overloaded symbol |
| 15:08:19 | FromDiscord | <ynfle> Even as the only argument |
| 15:08:39 | FromDiscord | <ynfle> But just `typed` would |
| 15:24:04 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 15:33:45 | FromDiscord | <mratsim> In reply to @vindaar "computer scientists always get": I'm neither a computer scientist nor a physicist :p |
| 15:41:05 | FromDiscord | <Rika> computer physicist |
| 15:45:12 | Amun-Ra | computer physician |
| 15:53:26 | FromDiscord | <mratsim> comphy |
| 15:59:42 | FromDiscord | <ache of head> LOL |
| 16:44:00 | arkanoid | mratsim, if I may ask, what's your background? Math? |
| 16:50:41 | Zevv | mratsim is a robot from outer space |
| 16:50:58 | arkanoid | meth? |
| 16:51:09 | FromDiscord | <Rika> methametics |
| 16:51:54 | * | Vladar quit (Quit: Leaving) |
| 16:52:31 | arkanoid | damn, Paul Erdős was right |
| 17:15:09 | FromDiscord | <mratsim> In reply to @arkanoid "<@570268431522201601>, if I may": I'm a mechanical engineer |
| 17:15:12 | * | noeontheend joined #nim |
| 17:20:15 | FromDiscord | <auxym> oh me too. miran is a civvie IIRC? |
| 17:27:33 | FromDiscord | <ynfle> In reply to @ynfle "Is this a bug": Bug report filed https://github.com/nim-lang/Nim/issues/19446 |
| 18:02:44 | Amun-Ra | do I have to check the result of allocCString (that's calling alloc0) for nil? |
| 18:22:37 | * | neceve joined #nim |
| 18:29:30 | * | jjido joined #nim |
| 18:40:01 | noeontheend | ;switch rust |
| 18:41:03 | FromDiscord | <Rika> `/ban noeontheend` |
| 18:41:22 | noeontheend | :( |
| 18:41:45 | FromDiscord | <Rika> is joke ;; |
| 18:43:42 | FromDiscord | <exelotl> `/ban Rika` |
| 18:45:06 | FromDiscord | <Rika> you cant ban me |
| 18:53:31 | arkanoid | I can't wrap my head around that emptySeq.low = 0 and emptySeq.high = -1 |
| 18:56:53 | FromDiscord | <demotomohiro> !eval echo @[].high |
| 18:56:55 | NimBot | -1 |
| 18:57:48 | FromDiscord | <demotomohiro> !eval echo @[].high, ", ", @[0].high |
| 18:57:50 | NimBot | -1, 0 |
| 18:59:10 | arkanoid | yeah, it is the index of first and last element, I know, but the concept of empty can't be contained inside this |
| 18:59:13 | FromDiscord | <demotomohiro> So, I guessn@[].high should be @[0].high - 1 because it has 1 less element. |
| 18:59:43 | arkanoid | high = (len - low) - 1 |
| 19:01:00 | arkanoid | or better, you need "start" and "len" to build low and high, but you can't use low and high to rebuild start and len, unless you bend the spoon and high = -1 if empty |
| 19:02:00 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 19:02:41 | FromDiscord | <demotomohiro> Maybe @[].high == -1 because `for i in myseq.low .. myseq.high:` must not run when myseq.len == 0. |
| 19:03:47 | arkanoid | sure, that's the point, but it's confusing. Much better to "if i in low..<len" |
| 19:05:23 | * | Nuc1eoN left #nim (The Lounge - https://thelounge.chat) |
| 19:23:17 | * | noeontheend quit (Ping timeout: 256 seconds) |
| 19:30:12 | * | pro joined #nim |
| 19:38:08 | FromDiscord | <eyecon> In reply to @arkanoid "I can't wrap my": Wut |
| 19:38:39 | FromDiscord | <eyecon> I'm lucky that I didn't stumble upon that |
| 19:42:10 | FromDiscord | <Elegantbeef> !eval echo default(array[0,int]).high |
| 19:42:13 | NimBot | -1 |
| 19:42:27 | FromDiscord | <Elegantbeef> I'm fairly certain demotomohiro is right |
| 19:52:23 | FromDiscord | <Phil> Beef, question about constructor |
| 19:52:51 | FromDiscord | <Phil> What's events all about? Is that something in the works? Already working? |
| 19:53:34 | FromDiscord | <Phil> (edit) "events" => "events.nim" |
| 19:53:36 | FromDiscord | <IsaacPaul> typically -1 means not found so it makes sense, but if that's the reasoning then .low should also be -1. |
| 19:53:50 | FromDiscord | <IsaacPaul> (edit) "-1." => "-1 which it isn't." |
| 19:54:25 | FromDiscord | <ElegantBeef> https://github.com/beef331/constructor/tree/648de4bb6b69cb551e139f073643bddccc7f7cc1#events there you go, apart of one of the old macros that i might want to keep |
| 19:55:03 | FromDiscord | <ElegantBeef> Matrix bridge is slow right now |
| 19:55:13 | FromDiscord | <Phil> Ahhhh check, so a previous macro that might yet once again come back to life at one point |
| 19:55:44 | FromDiscord | <ElegantBeef> Well it still functions and isnt some obscure syntax |
| 19:56:17 | FromDiscord | <Phil> ~~if it isn't documented in the up to date master branch it doesn't exist~~ |
| 19:56:38 | FromDiscord | <ElegantBeef> Lol, i went through a lot of macros to get to the one liner 😛 |
| 19:59:06 | FromDiscord | <Phil> And man am I thankful that you have made these macros given that constructor is easily saving me hundreds of lines of codes that would make me want to shoot myself |
| 20:13:51 | FromDiscord | <evoalg> ooooo slicerator is in nimble |
| 20:15:19 | FromDiscord | <evoalg> hmm Package not found ... how to I update nimble's list |
| 20:16:21 | FromDiscord | <evoalg> `nimble refresh` works! |
| 20:18:29 | * | pro quit (Quit: WeeChat 3.4) |
| 20:37:57 | * | vicfred joined #nim |
| 20:44:14 | * | krux02 joined #nim |
| 21:06:47 | * | jjido joined #nim |
| 21:18:52 | arkanoid | what is slicerator? |
| 21:20:42 | FromDiscord | <kporika (kporika)> let settings = jester.newSettings(port=port) |
| 21:20:47 | FromDiscord | <kporika (kporika)> sent a long message, see http://ix.io/3Nq2 |
| 21:29:15 | * | yassernasc joined #nim |
| 21:38:58 | FromDiscord | <evoalg> sent a long message, see http://ix.io/3Nqa |
| 21:39:19 | FromDiscord | <Elegantbeef> Slicerator is my iterator package with a bunch of goodies |
| 21:39:43 | FromDiscord | <Elegantbeef> It started off mainly for just implementing a bunch of useful iterators for openarrays, but i've since added more functionality |
| 21:40:03 | FromDiscord | <Elegantbeef> It now has the abillity to create closure iterators from inline and reset or peek them |
| 21:40:37 | FromDiscord | <mratsim> Nim v2: slicing creates openarray by default |
| 21:40:43 | arkanoid | evoalg, isn't "for el in mysel.toOpenArray(newlow, newhigh)" even more efficient? |
| 21:40:46 | FromDiscord | <mratsim> cc @Araq |
| 21:41:09 | FromDiscord | <Elegantbeef> Arkanoid that's what my iterator does internally |
| 21:41:16 | FromDiscord | <Elegantbeef> It does a 0 copy iteration over the openarray slice you want |
| 21:41:48 | arkanoid | good! Sure, I'm writing custom slicing view on my arrow lib right now, so I feel on the right path |
| 21:42:05 | arkanoid | problem is how to do pythons step aka [low:end:step] |
| 21:42:09 | FromDiscord | <Elegantbeef> Funny if true given until 1.6 Nim couldnt use `[]` for iterators 😀↵(@mratsim) |
| 21:42:17 | FromDiscord | <mratsim> I think you can just copy my view @Arkanoid |
| 21:42:32 | FromDiscord | <mratsim> since you will likely need to do strided slices |
| 21:42:52 | arkanoid | yes |
| 21:43:32 | FromDiscord | <mratsim> https://github.com/mratsim/constantine/blob/master/research/kzg_poly_commit/strided_views.nim |
| 21:44:07 | FromDiscord | <Elegantbeef> And i mean even if slicerator's `[]` is pointless there are still nice utilities there 😀 |
| 21:44:14 | arkanoid | I've answered in #nim-science |
| 21:51:36 | FromDiscord | <hmmm> beefy can I play with your package with the colored ball? that seemed fun in an inim way |
| 21:51:57 | FromDiscord | <hmmm> or is not ready yet |
| 21:54:14 | FromDiscord | <IsaacPaul> Just in case anyone wants to know how to print a nim string in lldb:↵`p (char)myString.p.data`↵and so I can search it later 🙃 |
| 21:54:28 | FromDiscord | <Elegantbeef> Colored ball? |
| 21:54:33 | FromDiscord | <Elegantbeef> The nimscripter stuff? |
| 21:55:19 | FromDiscord | <hmmm> yes |
| 21:55:21 | FromDiscord | <Elegantbeef> https://www.jasonbeetham.com/snake/nicoscripter.html i mean you can play with this easily, otherwise use nimscripter and interop with your favourite graphics library be it drawim or nico |
| 21:55:55 | FromDiscord | <Elegantbeef> That wasnt a package i was working on i was just using nimscripter in a graphics environment to test it live |
| 21:56:35 | FromDiscord | <hmmm> ah ok 😊 |
| 21:57:02 | FromDiscord | <Elegantbeef> An example program is here https://github.com/beef331/nimscripter/blob/master/examples/macrorepl/macrorepl.nim |
| 21:57:24 | FromDiscord | <Elegantbeef> https://streamable.com/c6farb here it is in action |
| 22:01:38 | FromDiscord | <hmmm> woah this is so cool |
| 22:37:38 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 22:39:23 | * | rockcavera quit (Remote host closed the connection) |
| 23:00:21 | * | noeontheend joined #nim |
| 23:09:14 | * | neceve quit (Ping timeout: 268 seconds) |
| 23:22:36 | * | rockcavera joined #nim |
| 23:22:36 | * | rockcavera quit (Changing host) |
| 23:22:36 | * | rockcavera joined #nim |