<< 26-06-2021 >>

00:00:42FromDiscord<checkersai> In reply to @@bracketmaster-5a708063d73408ce4 "I read in the": Oh that makes sense actually
00:01:05FromDiscord<checkersai> So it's not a bug, it was just ignorance on my part
00:04:28FromDiscord<gogolxdong (liuxiaodong)> cool,what kind of engine?
00:06:07FromDiscord<gogolxdong (liuxiaodong)> what tools have you used for developping games, unity, unreal, blender, etc.
00:17:47FromDiscord<retkid> I’ve used Magicavoxel to model things
00:17:55FromDiscord<retkid> That’s really it
00:18:04FromDiscord<retkid> I’ve been to afraid to program games
00:18:11FromDiscord<retkid> But now I think I should just start
00:22:55FromDiscord<retkid> Thinking about just plugging c executables in and using whatever language I want
00:52:11FromDiscord<retkid> In reply to @Elegantbeef "I figured that but": I somehow confused gamebox for godot
01:28:10FromDiscord<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:10FromDiscord<@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:58FromDiscord<hamidb80> In reply to @@bracketmaster-5a708063d73408ce4 "I'm pretty sure my": LOL, why?
02:23:56*arkurious quit (Quit: Leaving)
02:54:28FromDiscord<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:59FromDiscord<whorf> I ask for help in #main?
03:25:51FromDiscord<whorf> sent a code paste, see https://play.nim-lang.org/#ix=3r9u
03:28:21FromDiscord<Elegantbeef> You can indeed ask fo help here 😀
03:29:01FromDiscord<Elegantbeef> Would've made life easier if you gave a full runnable example 😛
03:30:18FromDiscord<whorf> oh sorry↵added↵I think it's just because sorted doesn't include an impl for CountedTable?
03:30:39FromDiscord<Elegantbeef> yep
03:31:46FromDiscord<Elegantbeef> What are you trying to sort by the count of the entry?
03:32:37FromDiscord<whorf> yes
03:37:03FromDiscord<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:02FromDiscord<Elegantbeef> and worth noting `pairs` is technically redundant since that's what is invoked for a tuple afaik
03:48:51FromDiscord<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:15FromDiscord<Elegantbeef> `nim -v`?
03:49:48FromDiscord<whorf> 1.0.6
03:49:59FromDiscord<Elegantbeef> Ah yea you're just a little behind
03:50:09FromDiscord<Elegantbeef> stable is 1.4.8 you're on a LTS
03:50:31FromDiscord<whorf> ah okay↵time to figure that out on ubuntu then
03:50:34FromDiscord<whorf> appreciate it
03:50:49FromDiscord<Elegantbeef> Assuming you dont have any reason to be there, uninstall nim from apt, and use choosenim to install it
03:51:03FromDiscord<Elegantbeef> https://github.com/dom96/choosenim#unix
03:51:05fn<R2D299> itHub: 7"Tool for easily installing and managing multiple versions of the Nim programming language."
03:51:14FromDiscord<Elegantbeef> What the bot said 😛
03:51:52FromDiscord<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:03FromDiscord<whorf> alright sweet your fix works now
03:58:05FromDiscord<whorf> appreciate it!
03:58:21FromDiscord<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:08FromDiscord<whorf> why can't I use a subrange to limit the output of this?↵https://play.nim-lang.org/#ix=3r9K
05:03:55FromDiscord<whorf> even if I use `.pairs` (which creates an iterator) `[0..2]` just causes an error
05:04:14FromDiscord<whorf> (edit) "even if I use `.pairs` (which ... createsthe" added "explicitly" | "an iterator)" => "the iterator?)"
05:04:40FromDiscord<Elegantbeef> sort returns a `CountTable` it doesnt have a slice operator
05:06:42FromDiscord<whorf> but this happens even if I use `.pairs` first
05:07:48FromDiscord<Elegantbeef> Pairs is an iterator
05:07:56FromDiscord<whorf> https://play.nim-lang.org/#ix=3r9O
05:08:31FromDiscord<whorf> I don't get why it thinks `.values` is undefined when I try to subrange
05:08:31FromDiscord<Elegantbeef> I'm getting you alternatives 😛
05:08:35FromDiscord<whorf> okay ty
05:09:06FromDiscord<Elegantbeef> well it's cause you're doing `.values[]` which means it's `[](theExpr.values, 0..2)`
05:14:51FromDiscord<Elegantbeef> https://play.nim-lang.org/#ix=3r9U
05:14:55FromDiscord<Elegantbeef> There you go two options
05:15:43FromDiscord<whorf> you rock!↵thanks again
05:16:02FromDiscord<Elegantbeef> https://play.nim-lang.org/#ix=3r9W left out the breaking cause i'm a dummy for the custom iterator
05:20:22FromDiscord<whorf> sent a code paste, see https://play.nim-lang.org/#ix=3r9Y
05:20:42FromDiscord<whorf> It's probably better for me to get into the habit of creating custom iterators early on for stuff like this
05:20:59FromDiscord<Elegantbeef> Well when the language doesnt provide for you, your provide for you 😛
05:21:28FromDiscord<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:31FromDiscord<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:52FromDiscord<Elegantbeef> Hmm i think devel has a new feature which would enable this to be even cleaner
05:34:35FromDiscord<Elegantbeef> Nevermind i was wrong, thought a general itertable `[]` operator could've been made
05:36:18FromDiscord<whorf> can `[0..10]` be used instead of `slice(0..10)`?
05:36:37FromDiscord<Elegantbeef> That's what i was investigating with devel
05:37:47FromDiscord<whorf> ah okay
05:41:58FromDiscord<Elegantbeef> So seems the only way to use `[]` is the ``[]`(a, 0..2)` for an iterator
05:42:13FromDiscord<Elegantbeef> So nope it's worse
05:51:54FromDiscord<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:33FromDiscord<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:37FromDiscord<Araq> I cannot
07:29:46FromDiscord<Kermithos> can a boolean be NULL in nim?
07:34:49FromDiscord<Elegantbeef> No only reference types can be nil
07:35:10FromDiscord<Elegantbeef> if you want a trinary value look at `options`
07:36:52FromDiscord<Kermithos> okay, thanks
07:36:58FromDiscord<Elegantbeef> Unless you want a reference bool of course, though that's unlikely
07:45:05FromDiscord<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:26FromDiscord<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:09FromDiscord<planetis> good stuff https://github.com/rigtorp/MPMCQueue
08:26:11fn<R2D299> itHub: 7"A bounded multi-producer multi-consumer concurrent queue written in C++11"
08:27:51FromDiscord<planetis> his stuff are all gold
08:28:18FromDiscord<planetis> I just realised its the same guy who posted about fuzzing floating point and spinlocks
08:28:27FromDiscord<planetis> mind blown
08:44:47*max22- quit (Quit: Leaving)
09:06:59*max22- joined #nim
09:47:02*sschwarzer joined #nim
09:58:28FromDiscord<carpal> does the nim's vm for macros walk the ast?
09:58:32FromDiscord<carpal> (edit) "walk" => "interpret"
10:02:13sschwarzercarpal: What do you mean by "interpreting" an AST?
10:02:30FromDiscord<carpal> macros are compiletime execute
10:02:34FromDiscord<carpal> (edit) "macros are compiletime execute ... " added "right?"
10:02:56FromDiscord<leorize> yes
10:03:25sschwarzercarpal: Yes, macros execute at compile time, and they can call functions as helpers.
10:03:58sschwarzercarpal: You can do most of the things in the VM that you can do in compiled Nim.
10:04:24FromDiscord<carpal> sent a code paste, see https://play.nim-lang.org/#ix=3rb7
10:04:39FromDiscord<carpal> this uses the macros' vm?
10:04:44FromDiscord<carpal> (edit) "this uses" => "does that use"
10:04:45FromDiscord<leorize> yes
10:05:35FromDiscord<leorize> Nim's VM can execute any chunk of Nim that's not using FFI
10:06:11FromDiscord<carpal> aka extern functions
10:06:40FromDiscord<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:56FromDiscord<carpal> ok so those pieces of code executed by the vm, does it execute the ast nodes?
10:07:00FromDiscord<Varriount> @Araq : See above
10:07:27FromDiscord<leorize> no↵(@carpal)
10:07:43FromDiscord<leorize> well, sorta
10:07:44FromDiscord<carpal> so how does it work
10:08:03FromDiscord<leorize> the AST is compiled into VM opcodes
10:08:17FromDiscord<leorize> which the VM then runs
10:08:41FromDiscord<leorize> data in VM are the AST nodes
10:08:52FromDiscord<carpal> ah ok
10:08:58FromDiscord<carpal> why not directly executed?
10:09:02FromDiscord<carpal> (the ast nodes=
10:09:04FromDiscord<carpal> (edit) "nodes=" => "nodes)"
10:09:38FromDiscord<leorize> the types gotta be correct so there's a semantic pass for it
10:10:10FromDiscord<carpal> so macros are executed before semantic checks=
10:10:11FromDiscord<carpal> (edit) "checks=" => "checks?"
10:10:14FromDiscord<carpal> (edit) "so" => "then"
10:10:58FromDiscord<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:23FromDiscord<leorize> after semantic checks for the macro, that is↵(@carpal)
10:11:52FromDiscord<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:07FromDiscord<carpal> even stack-based
10:12:27FromDiscord<carpal> yes but there's no need to create something fast right?
10:12:42FromDiscord<haxscramper> slow macros == slow compilation times
10:12:51FromDiscord<haxscramper> there is a need to create fast compiler
10:13:23FromDiscord<carpal> ok thanks 💚
10:32:42FromDiscord<willyboar> come on, half hour left
10:32:50FromDiscord<willyboar> lets make some noise
10:33:14FromDiscord<hamidb80> i have some `nnkInfix` with `and` operator
10:34:12FromDiscord<hamidb80> magically the `and` turns from `nnkIndent` into `nnkOpenSymChoice` after couple of assingmnet
10:34:35FromDiscord<hamidb80> (edit) "`and` turns" => "`and`s turn" | "`nnkIndent`" => "`nnkIndent`s" | "`nnkOpenSymChoice`" => "`nnkOpenSymChoice`s" | "assingmnet" => "assingmnets"
10:34:44FromDiscord<leorize> it depends on what you were doing
10:35:09FromDiscord<hamidb80> what do you mean?
10:35:15FromDiscord<hamidb80> their just NimNode
10:35:20FromDiscord<hamidb80> (edit) "NimNode" => "NimNodes"
10:36:04FromDiscord<richard stallmen(crazy GNU guy)> <this is noise>
10:36:04FromDiscord<leorize> so you are wondering how your ident turned into OpenSymChoice?
10:36:36FromDiscord<leorize> usually the only way for that to happen within a single macro is via `bindSym`
10:38:58FromDiscord<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:15FromDiscord<dom96> @here NimConf starting now https://www.youtube.com/watch?v=D_G9h7DcIqM&list=PLxLdEZg8DRwRXNrY7yyGU0-g_GRSyRGKo&index=1
11:01:29FromDiscord<Rika> Wish I could watch
11:01:47FromDiscord<bloatoo> Server needs more wojak emojis
11:02:07FromDiscord<carpal> :zig:
11:02:51FromDiscord<acek7> whats the state of nim, havent checked in a while
11:03:29FromDiscord<willyboar> In reply to @acek7 "whats the state of": A lot of good things happens
11:03:49FromDiscord<willyboar> like IC and CPS
11:03:52FromDiscord<acek7> progress on GUI, Game Dev, other stuff
11:03:58FromDiscord<carpal> @madman wtf
11:04:01FromDiscord<carpal> sei italiano
11:04:12FromDiscord<Cypheriel> I just wish for good jetbrains support already
11:04:17FromDiscord<carpal> (edit) "wtf" => "are you italian"
11:04:19FromDiscord<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:55FromDiscord<Sabena Sema> the jetbrains plugin is first party right? or at least by someone from jetbrains
11:05:32FromDiscord<leorize> it's made by a jetbrains dev, but not sure how official is it
11:05:45FromDiscord<madman> In reply to @carpal "<@!166641471573721089> are you italian": no why 😂
11:06:04FromDiscord<carpal> ah ok
11:06:06FromDiscord<carpal> for the name
11:06:24FromDiscord<carpal> In reply to @x19 "no why 😂": <https://www.youtube.com/watch?v=TvnTUOjgGyQ>
11:06:25FromDiscord<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:37FromDiscord<Sabena Sema> (edit) "bas" => "bad"
11:06:49FromDiscord<Cypheriel> the Nim Jetbrains plugin was unusable for me
11:07:00FromDiscord<Cypheriel> no syntax highlighting and wouldn't let me press enter
11:07:08FromDiscord<Cypheriel> strange bug, but like... obviously that's a no from me
11:07:31FromDiscord<Sabena Sema> huh, sounds like the api might be similar to VS (not code)
11:07:36FromDiscord<Yardanico> it's better now, but still far from vscode nim plugin (which uses nimsuggest extensively)
11:07:46FromDiscord<Sabena Sema> it was very easy to create such bugs in VS language plugins
11:08:18FromDiscord<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:58FromDiscord<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:08FromDiscord<Yardanico> nimlsp is there
11:09:20FromDiscord<Yardanico> and you can use it in jetbrains IDEs together with the nim plugin
11:10:25FromDiscord<Sabena Sema> is nimlsp a wrapper around nimsuggest? I haven't used it yet
11:11:11FromDiscord<leorize> yea
11:19:44FromDiscord<acek7> so whats the go to coding tool for nim
11:20:14FromDiscord<leorize> neovim and vscode have the most mature plugins afaik
11:20:26FromDiscord<leorize> (disclaimer\: I wrote the neovim plugin)
11:21:45FromDiscord<talaing> Can anyone help me with passing sequence to the thread proc? Possibly in DMs.
11:22:15FromDiscord<talaing> (edit) "Can anyone help me with passing sequence ... to" added "argument"
11:22:50FromDiscord<leorize> you can also just ask here \:)
11:24:19*SebastianM joined #nim
11:24:25FromDiscord<acek7> any new books or other good tutorials for nim thats come out
11:25:09FromDiscord<Sabena Sema> dom96's book remains good
11:26:01fn<ForumUpdaterBot99> New post on r/nim by XxDiCaprioxX: Nim Conf online, see https://reddit.com/r/nim/comments/o88yrx/nim_conf_online/
11:26:41FromDiscord<acek7> link the book? i bought one of the only ones available a while back
11:27:29FromDiscord<talaing> sent a code paste, see https://play.nim-lang.org/#ix=3rbl
11:27:49FromDiscord<willyboar> In reply to @acek7 "link the book? i": http://ssalewski.de/nimprogramming.html also this
11:32:29FromDiscord<leorize> @talaing\: if you want to share the mutable seq between multiple threads you can use `ref seq[Socket]`
11:32:48FromDiscord<talaing> Thank you, I'll definitely try it out in a moment 🙂
11:32:48FromDiscord<leorize> however that's not very... safe, so to speak
11:33:04FromDiscord<leorize> Nim's seq are not "synchronized"
11:33:32FromDiscord<leorize> for practical usage you will want to put the seq in an object with a lock
11:35:07FromDiscord<acek7> do those tutorials help with people who are new to programming as well
11:36:06FromDiscord<hotdog> @acek7 There is at least one tutorial for Nim aimed at new developers, I don't remember where tho
11:36:37FromDiscord<willyboar> https://narimiran.github.io/nim-basics/ i guess that
11:36:59FromDiscord<hotdog> In reply to @willyboar "http://ssalewski.de/nimprogramming.html also this": This one also looks good for beginners
11:37:09FromDiscord<willyboar> also that https://nim-by-example.github.io/getting_started/
11:38:04FromDiscord<planetis> if you have at least one concurrent writer, you need a read-write lock or RCU↵(@talaing)
11:40:01FromDiscord<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:07FromDiscord<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:23FromDiscord<dom96> In reply to @leorize "<@450293018910654464>\: if you want": that will only work for arc/orc I think
12:32:17FromDiscord<dom96> but then even with arc/orc I think you can just use `seq`
12:32:21FromDiscord<dom96> not sure why you'd need the `ref`
12:34:34FromDiscord<leorize> you need it if you want something that's not one global
12:39:50FromDiscord<planetis> well dont use ref either make it a global or use smartptrs
12:40:33*arkurious joined #nim
12:46:57fn<restige99> @dom96 using async for my relay bot worked well btw, thanks. I do think I still need to restructure it, though..
12:48:09FromDiscord<dom96> Awesome, glad it's working 🙂
13:22:03fn<ForumUpdaterBot99> New Nimble package! awsSTS - AWS Security Token Service API in Nim, see https://github.com/ThomasTJdev/nim_awsSTS
13:22:04fn<R2D299> itHub: 7"AWS Security Token Service API in Nim"
13:29:02FromDiscord<impbox [ftsf]> sent a code paste, see https://play.nim-lang.org/#ix=3rbK
13:29:09FromDiscord<impbox [ftsf]> False positive virus maybe
13:30:10FromDiscord<impbox [ftsf]> also detected when downloading zip via chrome on windows https://media.discordapp.net/attachments/371759389889003532/858338347289411604/unknown.png
13:30:22FromDiscord<hotdog> The recent AV false hits for Nim really suck
13:30:54FromDiscord<hotdog> I'm guessing it's due to that malware that was apparently written in Nim
13:31:02FromDiscord<impbox [ftsf]> (edit) "https://play.nim-lang.org/#ix=3rbK" => "https://play.nim-lang.org/#ix=3rbL"
13:36:05fn<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:05fn<ForumUpdaterBot99> New Nimble package! awsS3 - Amazon Simple Storage Service (AWS S3) basic API support., see https://github.com/ThomasTJdev/nim_awsS3
13:36:06fn<R2D299> itHub: 7"Amazon Simple Storage Service (AWS S3) basic API support"
13:37:58*max22- quit (Ping timeout: 250 seconds)
13:59:08FromDiscord<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:30FromDiscord<Rika> That’s legitimately a good idea
14:30:10*sschwarzer joined #nim
14:43:17*max22- joined #nim
14:44:15FromDiscord<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:05FromDiscord<planetis> without? like how?
14:47:23FromDiscord<planetis> just remove distinct
14:48:01FromDiscord<deech> I want the distinct type to have it's own set of orc/arc hooks.
14:48:59FromDiscord<deech> In the same way `distinct` types can borrow operations seems like we should be able to borrow inheritance semantics as well.
14:50:22FromDiscord<leorize> might be a bug, please open an issue
14:51:10*max22- joined #nim
14:58:53FromDiscord<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:51FromDiscord<sclee15 (Sung-Chul Lee)> NimConf! I love it.
15:10:27sschwarzerI haven't watched all talks, but I liked the ones I watched! :-)
15:11:07sschwarzerI haven't worked with Nim for a while, but from time to time I check what's going on. :)
15:11:58sschwarzerI had thought people would talk more about the conference here while it's going on.
15:12:13sschwarzer(here on #nim, I mean)
15:13:29FromDiscord<zetashift> most of it is in the yt chat
15:13:46FromDiscord<zetashift> I missed the first few talks sadly, I'm catching up on them now
15:13:49federico3yes, that's a pity
15:14:24sschwarzerzetashift: 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:46sschwarzerfederico: And that. I log into Google as little as possible.
15:15:36federico3sschwarzer: +1, FLOSS projects should use open platforms.
15:15:50sschwarzerfederico: This!
15:16:57sschwarzerThere's something similar with Racket. Most of the day-to-day questions and answers happen on a Slack instance.
15:18:41federico3same problem with discord :(
15:20:40*vicfred joined #nim
15:22:19FromDiscord<Rika> its not much of an issue in this case since its bridged though innit
15:23:05sschwarzerRika: yes, that's at least something.
15:26:39sschwarzerRika: 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:23sschwarzerOr 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:11FromDiscord<richard stallmen(crazy GNU guy)> 2 7more minutes
15:33:15FromDiscord<richard stallmen(crazy GNU guy)> aaaa
15:33:19FromDiscord<richard stallmen(crazy GNU guy)> (edit) "2 7more" => "27more"
15:41:19FromDiscord<jtarchie (JT Archie)> sent a long message, see http://ix.io/3rcl
15:42:34FromDiscord<Rika> tables are not js objects so
15:42:34FromDiscord<leorize> are you working with a js object?
15:42:52FromDiscord<leorize> `import jsffi; js{"headers": {"content-type": "application/json"}}`
15:50:13*Guest8 quit (Ping timeout: 246 seconds)
15:51:39FromDiscord<jtarchie (JT Archie)> It appears this represents it correctly. `js{"headers": js{"content-type": cstring"application/json"}}`
15:52:17FromDiscord<jtarchie (JT Archie)> Without the nested types (`js` and `cstring`) they get represented as nimlang strings and `Field, Value` array pairs.
15:52:54FromDiscord<jtarchie (JT Archie)> That seems like a lot 😕 It works... but....
15:54:26*max22- joined #nim
15:55:51FromDiscord<Rika> macro time xd
15:57:20FromDiscord<jtarchie (JT Archie)> sent a long message, see http://ix.io/3rco
16:02:26fn<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:04FromDiscord<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:31fn<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:51FromDiscord<Ricky Spanish> is there a way to sort a count table from most common occurences to least?
17:08:22FromDiscord<Ricky Spanish> nvm found it
17:09:01*leehbi quit (Remote host closed the connection)
17:09:34*leehbi joined #nim
17:10:47FromDiscord<Ricky Spanish> some pretty sweet features in nim out of the box im used to having to write myself in other languages
17:11:02FromDiscord<hamidb80> Min - implementing a programming language with Nim (NimConf 2021)
17:11:04FromDiscord<hamidb80> LOL
17:12:13FromDiscord<hamidb80> wow
17:12:39FromDiscord<hamidb80> i can spend this night watching nim conf 2021
17:13:27sschwarzerhamidb: do! :-)
17:14:34sschwarzerhamidb: There's at least one other programming language developed with Nim: https://github.com/arturo-lang/arturo
17:14:37fn<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:04FromDiscord<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:02FromDiscord<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:41FromDiscord<Rika> nimsuggest not in path
19:14:43FromDiscord<Rika> most likely
19:15:06FromDiscord<Rika> did you see the message regarding your path variable when you installed via choosenim?
19:17:13FromDiscord<whorf> everything is in path I think: nim, nimsuggest, nimpretty, nimgrep
19:17:28FromDiscord<whorf> I tried playing around with nimsuggest to see why VSCode wasn't talking with it
19:18:54FromDiscord<whorf> (edit) "everything is in path I think: nim, ... nimsuggest," added "nimble,"
19:19:18FromDiscord<Rika> restart vsc
19:26:30FromDiscord<whorf> after 15 restarts and doing the same things over and over it suddenly works
19:26:33FromDiscord<whorf> okay
19:30:22FromDiscord<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:20FromDiscord<leorize> use `when`
19:41:10msthuh, is discord now only bridged to here or does it also still show up on leenode?
19:43:46FromDiscord<Rika> someone made a bot that bridges from libera to fn so
19:47:08fn<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:11FromDiscord<treeform> Hey I submitted, my Pixie talk to HN, please add a comment or ask a question: https://news.ycombinator.com/newest
20:29:44FromDiscord<treeform> Lets get more exposure for Nim related projects 🙂
20:30:56FromDiscord<dom96> yes!
20:31:09FromDiscord<dom96> I'll wait a bit, it's on 3 already
20:31:13FromDiscord<dom96> let's not overdo it 😉
20:35:56mstahhh, right, that's the 'fn' bot, I see now
20:36:43*jkl joined #nim
20:36:52fn<restige99> Hey mst, yeah I set up a bridge
20:51:09FromDiscord<Ayy Lmao> Is it possible to convert nim code from a string to its AST representation and pass it into a macro?
20:52:21FromDiscord<Ayy Lmao> I essentially want to pass the contents of another nim file into a macro as typed
20:52:24FromDiscord<dom96> yep, you can `parseStmt`/`parseExpr` IIRC
20:52:44FromDiscord<Ayy Lmao> I will give that a try
20:53:01FromDiscord<dom96> https://nim-lang.org/docs/macros.html#parseExpr%2Cstring
20:57:37fn<restige99> @treeform loved the talk, that library is awesome
20:58:39FromDiscord<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:24FromDiscord<treeform> In reply to @fn "<Prestige> <@107140179025735680> loved the": Thank you, upvote me on HN 🙂
21:00:57FromDiscord<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:26FromDiscord<dom96> In reply to @Ayy Lmao "<@!132595483838251008> Hmm, I'm trying": hm, what code are you using?
21:02:05FromDiscord<Ayy Lmao> sent a code paste, see https://play.nim-lang.org/#ix=3rdI
21:02:23FromDiscord<dom96> try s/let/const/
21:02:55FromDiscord<treeform> In reply to @dom96 "it's got 7 upvotes": You might be right, I need comment s:)
21:03:12FromDiscord<Ayy Lmao> sent a code paste, see https://play.nim-lang.org/#ix=3rdJ
21:03:12FromDiscord<Ayy Lmao> The compiler complains if i try to make nimCode const
21:03:22FromDiscord<Ayy Lmao> `Error: invalid type: 'NimNode' for const`
21:03:49FromDiscord<dom96> hmm, weird. Maybe try putting it in a `macro`. Could be that Nim doesn't like the globals
21:04:37FromDiscord<Elegantbeef> Well you're capable of accessing it at runtime and Nimnodes cannot exist there
21:05:01FromDiscord<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:26FromDiscord<willyboar> In reply to @treeform "You might be right,": #3
21:08:15mstPrestige, 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:39FromDiscord<willyboar> @treeform guzba made the difference
21:08:59fn<restige99> thanks!
21:20:40FromDiscord<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:20FromDiscord<treeform> its on show hn now: https://news.ycombinator.com/show
21:23:29FromDiscord<treeform> it still does not have enough points for the front page
21:29:06FromDiscord<willyboar> Wdym it is #2 on me
21:30:11FromDiscord<Ayy Lmao> sent a code paste, see https://play.nim-lang.org/#ix=3rdO
21:30:20FromDiscord<willyboar> Aaaa you mean in main
21:30:37FromDiscord<willyboar> Nevermind everyone checks the show
21:31:16FromDiscord<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:13FromDiscord<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:49FromDiscord<Ayy Lmao> Is there a way to verify if a NimNode is correct from a procedure?
22:12:19FromDiscord<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:29FromDiscord<Varriount> I'm not sure what exactly you're trying to ask.
23:09:19*max22- quit (Quit: Leaving)
23:23:03FromDiscord<Elegantbeef> They're asking if there is anyway to ensure the node is valid before passing it to a given point
23:23:24FromDiscord<Elegantbeef> So if you define a proc in a macro, ensuring it's emitable before passing