00:00:42 | FromDiscord | <checkersai> In reply to @@bracketmaster-5a708063d73408ce4 "I read in the": Oh that makes sense actually |
00:01:05 | FromDiscord | <checkersai> So it's not a bug, it was just ignorance on my part |
00:04:28 | FromDiscord | <gogolxdong (liuxiaodong)> cool,what kind of engine? |
00:06:07 | FromDiscord | <gogolxdong (liuxiaodong)> what tools have you used for developping games, unity, unreal, blender, etc. |
00:17:47 | FromDiscord | <retkid> I’ve used Magicavoxel to model things |
00:17:55 | FromDiscord | <retkid> That’s really it |
00:18:04 | FromDiscord | <retkid> I’ve been to afraid to program games |
00:18:11 | FromDiscord | <retkid> But now I think I should just start |
00:22:55 | FromDiscord | <retkid> Thinking about just plugging c executables in and using whatever language I want |
00:52:11 | FromDiscord | <retkid> In reply to @Elegantbeef "I figured that but": I somehow confused gamebox for godot |
01:28:10 | FromDiscord | <Bung> is there any common format for outlines ? I want generate html pages with sidebar. |
01:44:20 | * | Derbycat quit (Quit: Connection closed for inactivity) |
01:45:10 | FromDiscord | <@bracketmaster-5a708063d73408ce4> I'm pretty sure my dog has 1KB of memory |
01:55:45 | * | deshordash joined #nim |
01:56:36 | * | deshordash quit (Remote host closed the connection) |
02:21:58 | FromDiscord | <hamidb80> In reply to @@bracketmaster-5a708063d73408ce4 "I'm pretty sure my": LOL, why? |
02:23:56 | * | arkurious quit (Quit: Leaving) |
02:54:28 | FromDiscord | <deech> Apparently it's possible to have object inheritance that mixes `ref` , `ptr` and plain objects like: `type O = ptr object of RootObj; OO = ref object of O; OOO = object of OO` . What are the semantics of parents that have mixed memory management? |
03:23:59 | FromDiscord | <whorf> I ask for help in #main? |
03:25:51 | FromDiscord | <whorf> sent a code paste, see https://play.nim-lang.org/#ix=3r9u |
03:28:21 | FromDiscord | <Elegantbeef> You can indeed ask fo help here 😀 |
03:29:01 | FromDiscord | <Elegantbeef> Would've made life easier if you gave a full runnable example 😛 |
03:30:18 | FromDiscord | <whorf> oh sorry↵added↵I think it's just because sorted doesn't include an impl for CountedTable? |
03:30:39 | FromDiscord | <Elegantbeef> yep |
03:31:46 | FromDiscord | <Elegantbeef> What are you trying to sort by the count of the entry? |
03:32:37 | FromDiscord | <whorf> yes |
03:37:03 | FromDiscord | <Elegantbeef> The sugar module has a perfect macro for you here `dup` it allows you to turn an procedure that that takes a `var T` and give it a `T` inline https://play.nim-lang.org/#ix=3r9v |
03:38:02 | FromDiscord | <Elegantbeef> and worth noting `pairs` is technically redundant since that's what is invoked for a tuple afaik |
03:48:51 | FromDiscord | <whorf> I'm getting `undeclared identifier` for `dup` and `collect` when I try to use them, but I have everything imported that needs to be imported |
03:49:15 | FromDiscord | <Elegantbeef> `nim -v`? |
03:49:48 | FromDiscord | <whorf> 1.0.6 |
03:49:59 | FromDiscord | <Elegantbeef> Ah yea you're just a little behind |
03:50:09 | FromDiscord | <Elegantbeef> stable is 1.4.8 you're on a LTS |
03:50:31 | FromDiscord | <whorf> ah okay↵time to figure that out on ubuntu then |
03:50:34 | FromDiscord | <whorf> appreciate it |
03:50:49 | FromDiscord | <Elegantbeef> Assuming you dont have any reason to be there, uninstall nim from apt, and use choosenim to install it |
03:51:03 | FromDiscord | <Elegantbeef> https://github.com/dom96/choosenim#unix |
03:51:05 | fn | <R2D299> itHub: 7"Tool for easily installing and managing multiple versions of the Nim programming language." |
03:51:14 | FromDiscord | <Elegantbeef> What the bot said 😛 |
03:51:52 | FromDiscord | <Elegantbeef> Let's you switch between versions of nim easily, so even if you needed 1.0.6 for whatever you could `choosenim 1.0.6` to work on it then `choosenim stable` to come back |
03:58:03 | FromDiscord | <whorf> alright sweet your fix works now |
03:58:05 | FromDiscord | <whorf> appreciate it! |
03:58:21 | FromDiscord | <Elegantbeef> No problem |
04:06:01 | * | supakeen quit (Quit: WeeChat 3.2) |
04:06:39 | * | supakeen joined #nim |
04:32:41 | * | xet7 quit (Remote host closed the connection) |
04:44:21 | * | xet7 joined #nim |
05:01:04 | * | xet7 quit (Remote host closed the connection) |
05:03:08 | FromDiscord | <whorf> why can't I use a subrange to limit the output of this?↵https://play.nim-lang.org/#ix=3r9K |
05:03:55 | FromDiscord | <whorf> even if I use `.pairs` (which creates an iterator) `[0..2]` just causes an error |
05:04:14 | FromDiscord | <whorf> (edit) "even if I use `.pairs` (which ... createsthe" added "explicitly" | "an iterator)" => "the iterator?)" |
05:04:40 | FromDiscord | <Elegantbeef> sort returns a `CountTable` it doesnt have a slice operator |
05:06:42 | FromDiscord | <whorf> but this happens even if I use `.pairs` first |
05:07:48 | FromDiscord | <Elegantbeef> Pairs is an iterator |
05:07:56 | FromDiscord | <whorf> https://play.nim-lang.org/#ix=3r9O |
05:08:31 | FromDiscord | <whorf> I don't get why it thinks `.values` is undefined when I try to subrange |
05:08:31 | FromDiscord | <Elegantbeef> I'm getting you alternatives 😛 |
05:08:35 | FromDiscord | <whorf> okay ty |
05:09:06 | FromDiscord | <Elegantbeef> well it's cause you're doing `.values[]` which means it's `[](theExpr.values, 0..2)` |
05:14:51 | FromDiscord | <Elegantbeef> https://play.nim-lang.org/#ix=3r9U |
05:14:55 | FromDiscord | <Elegantbeef> There you go two options |
05:15:43 | FromDiscord | <whorf> you rock!↵thanks again |
05:16:02 | FromDiscord | <Elegantbeef> https://play.nim-lang.org/#ix=3r9W left out the breaking cause i'm a dummy for the custom iterator |
05:20:22 | FromDiscord | <whorf> sent a code paste, see https://play.nim-lang.org/#ix=3r9Y |
05:20:42 | FromDiscord | <whorf> It's probably better for me to get into the habit of creating custom iterators early on for stuff like this |
05:20:59 | FromDiscord | <Elegantbeef> Well when the language doesnt provide for you, your provide for you 😛 |
05:21:28 | FromDiscord | <whorf> There's certainly a lot of nice stuff built in, but I can tell I'm going to find holes for impls all over the place lol |
05:21:31 | FromDiscord | <Elegantbeef> It's super easy to do which encourages you to do it, plus it can be cheaper than the alternatives |
05:22:08 | * | vicfred quit (Quit: Leaving) |
05:26:52 | FromDiscord | <Elegantbeef> Hmm i think devel has a new feature which would enable this to be even cleaner |
05:34:35 | FromDiscord | <Elegantbeef> Nevermind i was wrong, thought a general itertable `[]` operator could've been made |
05:36:18 | FromDiscord | <whorf> can `[0..10]` be used instead of `slice(0..10)`? |
05:36:37 | FromDiscord | <Elegantbeef> That's what i was investigating with devel |
05:37:47 | FromDiscord | <whorf> ah okay |
05:41:58 | FromDiscord | <Elegantbeef> So seems the only way to use `[]` is the ``[]`(a, 0..2)` for an iterator |
05:42:13 | FromDiscord | <Elegantbeef> So nope it's worse |
05:51:54 | FromDiscord | <Elegantbeef> @whorf\: Well congrats you encouraged me to make this monstrosity 😛 https://play.nim-lang.org/#ix=3ra7 |
05:53:29 | * | xet7 joined #nim |
06:43:33 | FromDiscord | <Varriount> Can anyone think of a legitimate reason for Clang to use Visual C++'s (`cl.exe`'s) linker, rather than its own? |
07:00:37 | FromDiscord | <Araq> I cannot |
07:29:46 | FromDiscord | <Kermithos> can a boolean be NULL in nim? |
07:34:49 | FromDiscord | <Elegantbeef> No only reference types can be nil |
07:35:10 | FromDiscord | <Elegantbeef> if you want a trinary value look at `options` |
07:36:52 | FromDiscord | <Kermithos> okay, thanks |
07:36:58 | FromDiscord | <Elegantbeef> Unless you want a reference bool of course, though that's unlikely |
07:45:05 | FromDiscord | <Varriount> @Araq Ok. Currently, LLVM on Windows, when using the Windows SDK, will using `link.exe` (which is the linker for `cl.exe`) rather than `lld.exe`. This "works", except for the fact that it's completely unintuitive - If you pass certain options that depend on `lld.exe` capabilities (like link-time optimization) then Clang spits out a "cannot read object" error (from `link.exe`). |
07:52:26 | FromDiscord | <haxscramper> @treeform are there any plans to add input validation to jsony? At least something like unexpected fields? |
08:18:35 | * | max22- joined #nim |
08:26:09 | FromDiscord | <planetis> good stuff https://github.com/rigtorp/MPMCQueue |
08:26:11 | fn | <R2D299> itHub: 7"A bounded multi-producer multi-consumer concurrent queue written in C++11" |
08:27:51 | FromDiscord | <planetis> his stuff are all gold |
08:28:18 | FromDiscord | <planetis> I just realised its the same guy who posted about fuzzing floating point and spinlocks |
08:28:27 | FromDiscord | <planetis> mind blown |
08:44:47 | * | max22- quit (Quit: Leaving) |
09:06:59 | * | max22- joined #nim |
09:47:02 | * | sschwarzer joined #nim |
09:58:28 | FromDiscord | <carpal> does the nim's vm for macros walk the ast? |
09:58:32 | FromDiscord | <carpal> (edit) "walk" => "interpret" |
10:02:13 | sschwarzer | carpal: What do you mean by "interpreting" an AST? |
10:02:30 | FromDiscord | <carpal> macros are compiletime execute |
10:02:34 | FromDiscord | <carpal> (edit) "macros are compiletime execute ... " added "right?" |
10:02:56 | FromDiscord | <leorize> yes |
10:03:25 | sschwarzer | carpal: Yes, macros execute at compile time, and they can call functions as helpers. |
10:03:58 | sschwarzer | carpal: You can do most of the things in the VM that you can do in compiled Nim. |
10:04:24 | FromDiscord | <carpal> sent a code paste, see https://play.nim-lang.org/#ix=3rb7 |
10:04:39 | FromDiscord | <carpal> this uses the macros' vm? |
10:04:44 | FromDiscord | <carpal> (edit) "this uses" => "does that use" |
10:04:45 | FromDiscord | <leorize> yes |
10:05:35 | FromDiscord | <leorize> Nim's VM can execute any chunk of Nim that's not using FFI |
10:06:11 | FromDiscord | <carpal> aka extern functions |
10:06:40 | FromDiscord | <Varriount> Araq: Regarding the reported string mutation slowdown, the original example is invoking undefined behavior, so I ran some tests with an alternative: https://github.com/nim-lang/Nim/issues/18339#issuecomment-868979061 |
10:06:56 | FromDiscord | <carpal> ok so those pieces of code executed by the vm, does it execute the ast nodes? |
10:07:00 | FromDiscord | <Varriount> @Araq : See above |
10:07:27 | FromDiscord | <leorize> no↵(@carpal) |
10:07:43 | FromDiscord | <leorize> well, sorta |
10:07:44 | FromDiscord | <carpal> so how does it work |
10:08:03 | FromDiscord | <leorize> the AST is compiled into VM opcodes |
10:08:17 | FromDiscord | <leorize> which the VM then runs |
10:08:41 | FromDiscord | <leorize> data in VM are the AST nodes |
10:08:52 | FromDiscord | <carpal> ah ok |
10:08:58 | FromDiscord | <carpal> why not directly executed? |
10:09:02 | FromDiscord | <carpal> (the ast nodes= |
10:09:04 | FromDiscord | <carpal> (edit) "nodes=" => "nodes)" |
10:09:38 | FromDiscord | <leorize> the types gotta be correct so there's a semantic pass for it |
10:10:10 | FromDiscord | <carpal> so macros are executed before semantic checks= |
10:10:11 | FromDiscord | <carpal> (edit) "checks=" => "checks?" |
10:10:14 | FromDiscord | <carpal> (edit) "so" => "then" |
10:10:58 | FromDiscord | <leorize> once they're correct then it's easier to generates opcode so you don't end up with data & executed code being the same thing |
10:11:23 | FromDiscord | <leorize> after semantic checks for the macro, that is↵(@carpal) |
10:11:52 | FromDiscord | <haxscramper> In reply to @carpal "why not directly executed?": If you are talking about direct AST interpreters - those are usually slower compared to register-based VM |
10:12:07 | FromDiscord | <carpal> even stack-based |
10:12:27 | FromDiscord | <carpal> yes but there's no need to create something fast right? |
10:12:42 | FromDiscord | <haxscramper> slow macros == slow compilation times |
10:12:51 | FromDiscord | <haxscramper> there is a need to create fast compiler |
10:13:23 | FromDiscord | <carpal> ok thanks 💚 |
10:32:42 | FromDiscord | <willyboar> come on, half hour left |
10:32:50 | FromDiscord | <willyboar> lets make some noise |
10:33:14 | FromDiscord | <hamidb80> i have some `nnkInfix` with `and` operator |
10:34:12 | FromDiscord | <hamidb80> magically the `and` turns from `nnkIndent` into `nnkOpenSymChoice` after couple of assingmnet |
10:34:35 | FromDiscord | <hamidb80> (edit) "`and` turns" => "`and`s turn" | "`nnkIndent`" => "`nnkIndent`s" | "`nnkOpenSymChoice`" => "`nnkOpenSymChoice`s" | "assingmnet" => "assingmnets" |
10:34:44 | FromDiscord | <leorize> it depends on what you were doing |
10:35:09 | FromDiscord | <hamidb80> what do you mean? |
10:35:15 | FromDiscord | <hamidb80> their just NimNode |
10:35:20 | FromDiscord | <hamidb80> (edit) "NimNode" => "NimNodes" |
10:36:04 | FromDiscord | <richard stallmen(crazy GNU guy)> <this is noise> |
10:36:04 | FromDiscord | <leorize> so you are wondering how your ident turned into OpenSymChoice? |
10:36:36 | FromDiscord | <leorize> usually the only way for that to happen within a single macro is via `bindSym` |
10:38:58 | FromDiscord | <willyboar> In reply to @richard stallmen(crazy GNU guy) "<this is noise>": i don't have this kind of noise in my mind but nevermind |
11:01:15 | FromDiscord | <dom96> @here NimConf starting now https://www.youtube.com/watch?v=D_G9h7DcIqM&list=PLxLdEZg8DRwRXNrY7yyGU0-g_GRSyRGKo&index=1 |
11:01:29 | FromDiscord | <Rika> Wish I could watch |
11:01:47 | FromDiscord | <bloatoo> Server needs more wojak emojis |
11:02:07 | FromDiscord | <carpal> :zig: |
11:02:51 | FromDiscord | <acek7> whats the state of nim, havent checked in a while |
11:03:29 | FromDiscord | <willyboar> In reply to @acek7 "whats the state of": A lot of good things happens |
11:03:49 | FromDiscord | <willyboar> like IC and CPS |
11:03:52 | FromDiscord | <acek7> progress on GUI, Game Dev, other stuff |
11:03:58 | FromDiscord | <carpal> @madman wtf |
11:04:01 | FromDiscord | <carpal> sei italiano |
11:04:12 | FromDiscord | <Cypheriel> I just wish for good jetbrains support already |
11:04:17 | FromDiscord | <carpal> (edit) "wtf" => "are you italian" |
11:04:19 | FromDiscord | <Sabena Sema> it's maturing @acek7, many of the features that have historically been unstable are still unstable but experimental, but the core language is stabilizing, the compiler is becoming more robust, and so on |
11:04:55 | FromDiscord | <Sabena Sema> the jetbrains plugin is first party right? or at least by someone from jetbrains |
11:05:32 | FromDiscord | <leorize> it's made by a jetbrains dev, but not sure how official is it |
11:05:45 | FromDiscord | <madman> In reply to @carpal "<@!166641471573721089> are you italian": no why 😂 |
11:06:04 | FromDiscord | <carpal> ah ok |
11:06:06 | FromDiscord | <carpal> for the name |
11:06:24 | FromDiscord | <carpal> In reply to @x19 "no why 😂": <https://www.youtube.com/watch?v=TvnTUOjgGyQ> |
11:06:25 | FromDiscord | <Sabena Sema> In reply to @leorize "it's made by a": I'm sure it's not quite as bas as with Visual Studio (not code) plugins, but being in the org can definitely make it way easier to develop plugins 😄 |
11:06:37 | FromDiscord | <Sabena Sema> (edit) "bas" => "bad" |
11:06:49 | FromDiscord | <Cypheriel> the Nim Jetbrains plugin was unusable for me |
11:07:00 | FromDiscord | <Cypheriel> no syntax highlighting and wouldn't let me press enter |
11:07:08 | FromDiscord | <Cypheriel> strange bug, but like... obviously that's a no from me |
11:07:31 | FromDiscord | <Sabena Sema> huh, sounds like the api might be similar to VS (not code) |
11:07:36 | FromDiscord | <Yardanico> it's better now, but still far from vscode nim plugin (which uses nimsuggest extensively) |
11:07:46 | FromDiscord | <Sabena Sema> it was very easy to create such bugs in VS language plugins |
11:08:18 | FromDiscord | <Yardanico> and the jetbrains plugin doesn't use nimsuggest (at least yet), the author wants it to be mainly based on the APIs of their own jetbrains IDEs |
11:08:58 | FromDiscord | <Sabena Sema> a LSP would be pretty nice, but I get that it's evolved around VScode and the languages code supports in house |
11:09:08 | FromDiscord | <Yardanico> nimlsp is there |
11:09:20 | FromDiscord | <Yardanico> and you can use it in jetbrains IDEs together with the nim plugin |
11:10:25 | FromDiscord | <Sabena Sema> is nimlsp a wrapper around nimsuggest? I haven't used it yet |
11:11:11 | FromDiscord | <leorize> yea |
11:19:44 | FromDiscord | <acek7> so whats the go to coding tool for nim |
11:20:14 | FromDiscord | <leorize> neovim and vscode have the most mature plugins afaik |
11:20:26 | FromDiscord | <leorize> (disclaimer\: I wrote the neovim plugin) |
11:21:45 | FromDiscord | <talaing> Can anyone help me with passing sequence to the thread proc? Possibly in DMs. |
11:22:15 | FromDiscord | <talaing> (edit) "Can anyone help me with passing sequence ... to" added "argument" |
11:22:50 | FromDiscord | <leorize> you can also just ask here \:) |
11:24:19 | * | SebastianM joined #nim |
11:24:25 | FromDiscord | <acek7> any new books or other good tutorials for nim thats come out |
11:25:09 | FromDiscord | <Sabena Sema> dom96's book remains good |
11:26:01 | fn | <ForumUpdaterBot99> New post on r/nim by XxDiCaprioxX: Nim Conf online, see https://reddit.com/r/nim/comments/o88yrx/nim_conf_online/ |
11:26:41 | FromDiscord | <acek7> link the book? i bought one of the only ones available a while back |
11:27:29 | FromDiscord | <talaing> sent a code paste, see https://play.nim-lang.org/#ix=3rbl |
11:27:49 | FromDiscord | <willyboar> In reply to @acek7 "link the book? i": http://ssalewski.de/nimprogramming.html also this |
11:32:29 | FromDiscord | <leorize> @talaing\: if you want to share the mutable seq between multiple threads you can use `ref seq[Socket]` |
11:32:48 | FromDiscord | <talaing> Thank you, I'll definitely try it out in a moment 🙂 |
11:32:48 | FromDiscord | <leorize> however that's not very... safe, so to speak |
11:33:04 | FromDiscord | <leorize> Nim's seq are not "synchronized" |
11:33:32 | FromDiscord | <leorize> for practical usage you will want to put the seq in an object with a lock |
11:35:07 | FromDiscord | <acek7> do those tutorials help with people who are new to programming as well |
11:36:06 | FromDiscord | <hotdog> @acek7 There is at least one tutorial for Nim aimed at new developers, I don't remember where tho |
11:36:37 | FromDiscord | <willyboar> https://narimiran.github.io/nim-basics/ i guess that |
11:36:59 | FromDiscord | <hotdog> In reply to @willyboar "http://ssalewski.de/nimprogramming.html also this": This one also looks good for beginners |
11:37:09 | FromDiscord | <willyboar> also that https://nim-by-example.github.io/getting_started/ |
11:38:04 | FromDiscord | <planetis> if you have at least one concurrent writer, you need a read-write lock or RCU↵(@talaing) |
11:40:01 | FromDiscord | <planetis> or just a Lock if youre fine with making everything sequential |
12:02:48 | * | Guest8 joined #nim |
12:06:02 | * | supakeen quit (Quit: WeeChat 3.2) |
12:06:38 | * | supakeen joined #nim |
12:14:03 | * | SebastianM quit (Quit: Bye) |
12:15:05 | * | sschwarzer quit (Quit: leaving) |
12:30:07 | FromDiscord | <dom96> @talaing any particular reason for using threads? Note that async is likely to be what you want |
12:30:15 | * | beshr joined #nim |
12:30:23 | FromDiscord | <dom96> In reply to @leorize "<@450293018910654464>\: if you want": that will only work for arc/orc I think |
12:32:17 | FromDiscord | <dom96> but then even with arc/orc I think you can just use `seq` |
12:32:21 | FromDiscord | <dom96> not sure why you'd need the `ref` |
12:34:34 | FromDiscord | <leorize> you need it if you want something that's not one global |
12:39:50 | FromDiscord | <planetis> well dont use ref either make it a global or use smartptrs |
12:40:33 | * | arkurious joined #nim |
12:46:57 | fn | <restige99> @dom96 using async for my relay bot worked well btw, thanks. I do think I still need to restructure it, though.. |
12:48:09 | FromDiscord | <dom96> Awesome, glad it's working 🙂 |
13:22:03 | fn | <ForumUpdaterBot99> New Nimble package! awsSTS - AWS Security Token Service API in Nim, see https://github.com/ThomasTJdev/nim_awsSTS |
13:22:04 | fn | <R2D299> itHub: 7"AWS Security Token Service API in Nim" |
13:29:02 | FromDiscord | <impbox [ftsf]> sent a code paste, see https://play.nim-lang.org/#ix=3rbK |
13:29:09 | FromDiscord | <impbox [ftsf]> False positive virus maybe |
13:30:10 | FromDiscord | <impbox [ftsf]> also detected when downloading zip via chrome on windows https://media.discordapp.net/attachments/371759389889003532/858338347289411604/unknown.png |
13:30:22 | FromDiscord | <hotdog> The recent AV false hits for Nim really suck |
13:30:54 | FromDiscord | <hotdog> I'm guessing it's due to that malware that was apparently written in Nim |
13:31:02 | FromDiscord | <impbox [ftsf]> (edit) "https://play.nim-lang.org/#ix=3rbK" => "https://play.nim-lang.org/#ix=3rbL" |
13:36:05 | fn | <ForumUpdaterBot99> New Nimble package! mcd - Application to detect which commit generates malicious code detection by antivirus software., see https://gitlab.com/malicious-commit-detector/mcd |
13:36:05 | fn | <ForumUpdaterBot99> New Nimble package! awsS3 - Amazon Simple Storage Service (AWS S3) basic API support., see https://github.com/ThomasTJdev/nim_awsS3 |
13:36:06 | fn | <R2D299> itHub: 7"Amazon Simple Storage Service (AWS S3) basic API support" |
13:37:58 | * | max22- quit (Ping timeout: 250 seconds) |
13:59:08 | FromDiscord | <planetis> here is an idea, write a post about it (Nim is falsely flagged by AV), make it sound dramatic and post it on HN |
14:05:30 | FromDiscord | <Rika> That’s legitimately a good idea |
14:30:10 | * | sschwarzer joined #nim |
14:43:17 | * | max22- joined #nim |
14:44:15 | FromDiscord | <deech> Is there any way for a `distinct` type to "borrow" the inheritance chain of the type it's distinct from? eg. here I'd like to have `OODistinct is O` be `true` without having to do `OODistinct.distinctBase is O`. https://play.nim-lang.org/#ix=3rbU |
14:45:05 | * | max22- quit (Remote host closed the connection) |
14:47:05 | FromDiscord | <planetis> without? like how? |
14:47:23 | FromDiscord | <planetis> just remove distinct |
14:48:01 | FromDiscord | <deech> I want the distinct type to have it's own set of orc/arc hooks. |
14:48:59 | FromDiscord | <deech> In the same way `distinct` types can borrow operations seems like we should be able to borrow inheritance semantics as well. |
14:50:22 | FromDiscord | <leorize> might be a bug, please open an issue |
14:51:10 | * | max22- joined #nim |
14:58:53 | FromDiscord | <treeform> In reply to @haxscramper "<@!107140179025735680> are there any": Right now I ignored unexpected fields, that was one of the features I wanted. I could add a check, that has been asked before. |
15:04:03 | * | max22- quit (Remote host closed the connection) |
15:09:51 | FromDiscord | <sclee15 (Sung-Chul Lee)> NimConf! I love it. |
15:10:27 | sschwarzer | I haven't watched all talks, but I liked the ones I watched! :-) |
15:11:07 | sschwarzer | I haven't worked with Nim for a while, but from time to time I check what's going on. :) |
15:11:58 | sschwarzer | I had thought people would talk more about the conference here while it's going on. |
15:12:13 | sschwarzer | (here on #nim, I mean) |
15:13:29 | FromDiscord | <zetashift> most of it is in the yt chat |
15:13:46 | FromDiscord | <zetashift> I missed the first few talks sadly, I'm catching up on them now |
15:13:49 | federico3 | yes, that's a pity |
15:14:24 | sschwarzer | zetashift: I saw some chat over there. At the time of the last conference, you needed a YT channel (not just an account) to chat. I don't know what the current state is. |
15:14:46 | sschwarzer | federico: And that. I log into Google as little as possible. |
15:15:36 | federico3 | sschwarzer: +1, FLOSS projects should use open platforms. |
15:15:50 | sschwarzer | federico: This! |
15:16:57 | sschwarzer | There's something similar with Racket. Most of the day-to-day questions and answers happen on a Slack instance. |
15:18:41 | federico3 | same problem with discord :( |
15:20:40 | * | vicfred joined #nim |
15:22:19 | FromDiscord | <Rika> its not much of an issue in this case since its bridged though innit |
15:23:05 | sschwarzer | Rika: yes, that's at least something. |
15:26:39 | sschwarzer | Rika: It's ok for the group chat, but kind of a hassle when you want to chat privately with someone. In this case, you have to use the service where the other user is logged in. But I see that if we didn't have the bridging, we wouldn't see people from other services at all. :-D So I'm glad we have the bridges. |
15:27:23 | sschwarzer | Or we would see other people, if they were forced to use the same service. ;-) But I think it's good to have choices. |
15:33:11 | FromDiscord | <richard stallmen(crazy GNU guy)> 2 7more minutes |
15:33:15 | FromDiscord | <richard stallmen(crazy GNU guy)> aaaa |
15:33:19 | FromDiscord | <richard stallmen(crazy GNU guy)> (edit) "2 7more" => "27more" |
15:41:19 | FromDiscord | <jtarchie (JT Archie)> sent a long message, see http://ix.io/3rcl |
15:42:34 | FromDiscord | <Rika> tables are not js objects so |
15:42:34 | FromDiscord | <leorize> are you working with a js object? |
15:42:52 | FromDiscord | <leorize> `import jsffi; js{"headers": {"content-type": "application/json"}}` |
15:50:13 | * | Guest8 quit (Ping timeout: 246 seconds) |
15:51:39 | FromDiscord | <jtarchie (JT Archie)> It appears this represents it correctly. `js{"headers": js{"content-type": cstring"application/json"}}` |
15:52:17 | FromDiscord | <jtarchie (JT Archie)> Without the nested types (`js` and `cstring`) they get represented as nimlang strings and `Field, Value` array pairs. |
15:52:54 | FromDiscord | <jtarchie (JT Archie)> That seems like a lot 😕 It works... but.... |
15:54:26 | * | max22- joined #nim |
15:55:51 | FromDiscord | <Rika> macro time xd |
15:57:20 | FromDiscord | <jtarchie (JT Archie)> sent a long message, see http://ix.io/3rco |
16:02:26 | fn | <ForumUpdaterBot99> New thread by Fredj: Using streams in Nim?, see https://forum.nim-lang.org/t/8156 |
16:16:34 | * | stkrdknmibalz joined #nim |
16:26:32 | * | deshordash joined #nim |
16:38:04 | FromDiscord | <zetashift> Okay so nicoru looks very cool |
16:39:27 | * | bobby-code joined #nim |
16:39:29 | * | bobby-code quit (Client Quit) |
16:48:17 | * | leehbi109 joined #nim |
16:50:31 | fn | <ForumUpdaterBot99> New thread by Schneiderfelipe: Trouble comparing proc types, see https://forum.nim-lang.org/t/8157 |
16:52:32 | * | leehbi109 is now known as leehbi-109 |
16:52:52 | * | leehbi-109 is now known as leehbi |
16:53:29 | * | leehbi quit (Remote host closed the connection) |
16:53:42 | * | leehbi109 joined #nim |
16:53:49 | * | leehbi109 is now known as leehbi |
16:55:51 | * | leehbi quit (Remote host closed the connection) |
16:56:43 | * | leehbi109 joined #nim |
16:56:49 | * | leehbi109 is now known as leehbi |
16:57:27 | * | leehbi quit (Client Quit) |
16:57:42 | * | leehbi109 joined #nim |
16:58:42 | * | leehbi109 quit (Client Quit) |
16:59:08 | * | leehbi joined #nim |
17:06:51 | FromDiscord | <Ricky Spanish> is there a way to sort a count table from most common occurences to least? |
17:08:22 | FromDiscord | <Ricky Spanish> nvm found it |
17:09:01 | * | leehbi quit (Remote host closed the connection) |
17:09:34 | * | leehbi joined #nim |
17:10:47 | FromDiscord | <Ricky Spanish> some pretty sweet features in nim out of the box im used to having to write myself in other languages |
17:11:02 | FromDiscord | <hamidb80> Min - implementing a programming language with Nim (NimConf 2021) |
17:11:04 | FromDiscord | <hamidb80> LOL |
17:12:13 | FromDiscord | <hamidb80> wow |
17:12:39 | FromDiscord | <hamidb80> i can spend this night watching nim conf 2021 |
17:13:27 | sschwarzer | hamidb: do! :-) |
17:14:34 | sschwarzer | hamidb: There's at least one other programming language developed with Nim: https://github.com/arturo-lang/arturo |
17:14:37 | fn | <R2D299> itHub: 7"Simple, expressive & portable programming language for efficient scripting" |
17:14:47 | * | leehbi quit (Quit: Leaving) |
17:15:03 | * | leehbi joined #nim |
17:35:41 | * | leehbi quit (Remote host closed the connection) |
17:42:04 | FromDiscord | <hamidb80> In reply to @sschwarzer "hamidb: There's at least": yeah, i've seen that |
18:03:33 | * | supakeen quit (Remote host closed the connection) |
18:03:57 | * | supakeen joined #nim |
18:13:28 | * | xet7 quit (Changing host) |
18:13:28 | * | xet7 joined #nim |
18:18:29 | * | leehbi joined #nim |
18:21:57 | * | xet7 is now known as xet7b |
18:22:35 | * | xet7b is now known as xet7c |
18:23:10 | * | xet7c is now known as xet7 |
18:24:12 | * | SebastianM joined #nim |
18:24:18 | * | SebastianM quit (Client Quit) |
18:25:14 | * | leehbi quit (Remote host closed the connection) |
19:05:35 | * | deshordash quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:14:02 | FromDiscord | <whorf> After installing nim through `choosenim` instead of through Ubuntu, all nim linting in VSCode has broken. I've tried uninstalling and reinstalling the official extension but can't figure out what's wrong. Anyone else had this problem or know where I can get help for it? |
19:14:41 | FromDiscord | <Rika> nimsuggest not in path |
19:14:43 | FromDiscord | <Rika> most likely |
19:15:06 | FromDiscord | <Rika> did you see the message regarding your path variable when you installed via choosenim? |
19:17:13 | FromDiscord | <whorf> everything is in path I think: nim, nimsuggest, nimpretty, nimgrep |
19:17:28 | FromDiscord | <whorf> I tried playing around with nimsuggest to see why VSCode wasn't talking with it |
19:18:54 | FromDiscord | <whorf> (edit) "everything is in path I think: nim, ... nimsuggest," added "nimble," |
19:19:18 | FromDiscord | <Rika> restart vsc |
19:26:30 | FromDiscord | <whorf> after 15 restarts and doing the same things over and over it suddenly works |
19:26:33 | FromDiscord | <whorf> okay |
19:30:22 | FromDiscord | <deech> How do I do branched expansion in templates, eg: `template t(b:static[bool]) = if b: generate_thing else: generate_other_thing`? |
19:39:20 | FromDiscord | <leorize> use `when` |
19:41:10 | mst | huh, is discord now only bridged to here or does it also still show up on leenode? |
19:43:46 | FromDiscord | <Rika> someone made a bot that bridges from libera to fn so |
19:47:08 | fn | <ForumUpdaterBot99> New thread by Xioren: Idea: 30 days of Nim learning resource, see https://forum.nim-lang.org/t/8159 |
19:52:05 | * | ayyy_lmao quit (Quit: Connection closed for inactivity) |
19:56:53 | * | Derbycat joined #nim |
20:26:24 | * | sschwarzer quit (Quit: leaving) |
20:29:11 | FromDiscord | <treeform> Hey I submitted, my Pixie talk to HN, please add a comment or ask a question: https://news.ycombinator.com/newest |
20:29:44 | FromDiscord | <treeform> Lets get more exposure for Nim related projects 🙂 |
20:30:56 | FromDiscord | <dom96> yes! |
20:31:09 | FromDiscord | <dom96> I'll wait a bit, it's on 3 already |
20:31:13 | FromDiscord | <dom96> let's not overdo it 😉 |
20:35:56 | mst | ahhh, right, that's the 'fn' bot, I see now |
20:36:43 | * | jkl joined #nim |
20:36:52 | fn | <restige99> Hey mst, yeah I set up a bridge |
20:51:09 | FromDiscord | <Ayy Lmao> Is it possible to convert nim code from a string to its AST representation and pass it into a macro? |
20:52:21 | FromDiscord | <Ayy Lmao> I essentially want to pass the contents of another nim file into a macro as typed |
20:52:24 | FromDiscord | <dom96> yep, you can `parseStmt`/`parseExpr` IIRC |
20:52:44 | FromDiscord | <Ayy Lmao> I will give that a try |
20:53:01 | FromDiscord | <dom96> https://nim-lang.org/docs/macros.html#parseExpr%2Cstring |
20:57:37 | fn | <restige99> @treeform loved the talk, that library is awesome |
20:58:39 | FromDiscord | <Ayy Lmao> @dom96 Hmm, I'm trying to read the nim code from a file and send it into parseStmt, and I'm getting `Error: request to generate code for .compileTime proc: parseStmt` |
20:59:24 | FromDiscord | <treeform> In reply to @fn "<Prestige> <@107140179025735680> loved the": Thank you, upvote me on HN 🙂 |
21:00:57 | FromDiscord | <dom96> In reply to @treeform "Thank you, upvote me": it's got 7 upvotes and isn't on the front page, I think it's flagged for vote rigging already :/ |
21:01:26 | FromDiscord | <dom96> In reply to @Ayy Lmao "<@!132595483838251008> Hmm, I'm trying": hm, what code are you using? |
21:02:05 | FromDiscord | <Ayy Lmao> sent a code paste, see https://play.nim-lang.org/#ix=3rdI |
21:02:23 | FromDiscord | <dom96> try s/let/const/ |
21:02:55 | FromDiscord | <treeform> In reply to @dom96 "it's got 7 upvotes": You might be right, I need comment s:) |
21:03:12 | FromDiscord | <Ayy Lmao> sent a code paste, see https://play.nim-lang.org/#ix=3rdJ |
21:03:12 | FromDiscord | <Ayy Lmao> The compiler complains if i try to make nimCode const |
21:03:22 | FromDiscord | <Ayy Lmao> `Error: invalid type: 'NimNode' for const` |
21:03:49 | FromDiscord | <dom96> hmm, weird. Maybe try putting it in a `macro`. Could be that Nim doesn't like the globals |
21:04:37 | FromDiscord | <Elegantbeef> Well you're capable of accessing it at runtime and Nimnodes cannot exist there |
21:05:01 | FromDiscord | <Elegantbeef> So annotating it with `{.compileTime.}` might work, but i dont know |
21:06:53 | * | supakeen quit (Remote host closed the connection) |
21:07:17 | * | supakeen joined #nim |
21:07:26 | FromDiscord | <willyboar> In reply to @treeform "You might be right,": #3 |
21:08:15 | mst | Prestige, this is a good thing, I noped out of rasenistan a while back but I appreciate not splitting the community by taste in irc network |
21:08:39 | FromDiscord | <willyboar> @treeform guzba made the difference |
21:08:59 | fn | <restige99> thanks! |
21:20:40 | FromDiscord | <dom96> @treeform you can email them at [email protected] and ask why it's not on front page. Often they clear the flag without any problems |
21:23:20 | FromDiscord | <treeform> its on show hn now: https://news.ycombinator.com/show |
21:23:29 | FromDiscord | <treeform> it still does not have enough points for the front page |
21:29:06 | FromDiscord | <willyboar> Wdym it is #2 on me |
21:30:11 | FromDiscord | <Ayy Lmao> sent a code paste, see https://play.nim-lang.org/#ix=3rdO |
21:30:20 | FromDiscord | <willyboar> Aaaa you mean in main |
21:30:37 | FromDiscord | <willyboar> Nevermind everyone checks the show |
21:31:16 | FromDiscord | <Ayy Lmao> I wasn't able to figure out how to parse the file as a string and pass it into the macro after using parseStmt |
21:40:13 | FromDiscord | <Ayy Lmao> I've just started to make progress wrapping my head around Nim macros, and I have to say, they are amazing. I'm messing around with a macro that you can write Nim code underneath, have the compiler check it, and then translate it into Lua. That really blows my mind that something like that is possible. |
22:09:49 | FromDiscord | <Ayy Lmao> Is there a way to verify if a NimNode is correct from a procedure? |
22:12:19 | FromDiscord | <Ayy Lmao> To clarify, I mean doing what "typed" does in a macro but for passing a NimNode to a function |
22:33:50 | * | Derbycat quit (Quit: Connection closed for inactivity) |
22:54:00 | * | Gustavo6046 is now known as Gustavo6046|bloo |
22:54:08 | * | Gustavo6046|bloo is now known as Gustavo6046|oops |
22:54:11 | * | Gustavo6046|oops is now known as Gustavo6046 |
23:02:29 | FromDiscord | <Varriount> I'm not sure what exactly you're trying to ask. |
23:09:19 | * | max22- quit (Quit: Leaving) |
23:23:03 | FromDiscord | <Elegantbeef> They're asking if there is anyway to ensure the node is valid before passing it to a given point |
23:23:24 | FromDiscord | <Elegantbeef> So if you define a proc in a macro, ensuring it's emitable before passing |