<< 30-07-2022 >>

00:07:20FromDiscord<reversem3> @can.I So what am I doing wrong with the proc and how can I call the proc in the viewable app?
00:08:45FromDiscord<reversem3> It's way easier to get to to work on C then nim just because of the documentation, unless I shout out to the status.im guys
00:09:15FromDiscord<!Patitotective> ~~nim is for people that already know~~
00:10:24FromDiscord<reversem3> I used to think the same thing but unless you are actually working with FFI , you don't have to touch C
00:33:35*CyberTailor quit (Remote host closed the connection)
00:34:28*CyberTailor joined #nim
01:09:03FromDiscord<creikey> how do I take a pointer to an element?
01:09:08FromDiscord<creikey> to pass to a function
01:09:09FromDiscord<creikey> like &
01:09:46FromDiscord<creikey> .addr that's right
01:10:44FromDiscord<!!sharpcdf!!> Holy shit jitter keeps going up in stars
01:11:09FromDiscord<!!sharpcdf!!> It's at 23 right now but every time I reload the page there's more
01:11:36FromDiscord<!!sharpcdf!!> 😍
01:14:26FromDiscord<!!sharpcdf!!> This is by far the most recognition I've ever gotten for a project lol
01:51:10FromDiscord<Elegantbeef> I see elcritch got sharp's jitter to the front page of hacker news 😄
01:51:26FromDiscord<flywind> Yeah, I saw it too.
01:52:06FromDiscord<flywind> In reply to @ripluke "Is it possible to": Ofc, Nim offcially supports go gc.
01:52:51FromDiscord<flywind> https://github.com/nim-lang/Nim/blob/devel/lib/system/mm/go.nim
01:55:37FromDiscord<carlosri> sent a long message, see http://ix.io/4643
01:56:04FromDiscord<Elegantbeef> `sortByIt` or `sort` in `algorithm`
01:58:47*rwb quit (Ping timeout: 245 seconds)
01:58:54*fallback quit (Ping timeout: 264 seconds)
02:03:23FromDiscord<!Patitotective> In reply to @Elegantbeef "I see elcritch got": why is hacker news so ugly
02:03:36FromDiscord<!Patitotective> i mean the webiste is just no
02:03:44FromDiscord<!Patitotective> (edit) "webiste" => "website"
02:09:47FromDiscord<j-james> it's very themeable though
02:09:50FromDiscord<j-james> https://github.com/j-james/hntheme
02:10:25FromDiscord<Elegantbeef> The bridge really isnt living well at all
02:10:40FromDiscord<!Patitotective> that's nice↵yet why would they set the default theme to such an ugly theme
02:10:48FromDiscord<!Patitotective> In reply to @Elegantbeef "The bridge really isnt": discord goes brrr
02:10:55FromDiscord<!!sharpcdf!!> In reply to @Elegantbeef "I see elcritch got": WHAT REALLY
02:10:58FromDiscord<!!sharpcdf!!> HOLY SHIT
02:11:11FromDiscord<Elegantbeef> More like just fucking use matrix you despot↵(@!Patitotective)
02:11:16FromDiscord<!!sharpcdf!!> this is the greatest day of my career
02:11:24FromDiscord<!!sharpcdf!!> (which doesn't exist)
02:12:27FromDiscord<!Patitotective> In reply to @Elegantbeef "More like just fucking": does matrix create a new browser instance? because discord does↵matrix is not ready for me
02:12:43FromDiscord<Elegantbeef> "create a new browser instance"
02:12:46FromDiscord<Elegantbeef> The fuck does that me
02:12:48FromDiscord<Elegantbeef> mean\
02:13:03FromDiscord<Elegantbeef> Matrix is a protocol it doesnt do anything but send messages
02:13:25FromDiscord<!Patitotective> In reply to @Elegantbeef "Matrix is a protocol": that was the joke
02:14:11FromDiscord<Elegantbeef> Ah yes joke
02:14:34FromDiscord<j-james> In reply to @Patitotective "does matrix create a": no don't worry element's got you covered
02:14:38FromDiscord<!!sharpcdf!!> lmao
02:14:41FromDiscord<!Patitotective> im sleepy
02:15:20FromDiscord<!Patitotective> In reply to @j-james "no don't worry element's": i never figured out how to login from github from the desktop app :[
02:17:39FromDiscord<!Patitotective> In reply to @Elegantbeef "Ah yes joke": im still learning how to make jokes in english
02:21:42FromDiscord<!!sharpcdf!!> lmfao
02:23:51FromDiscord<!!sharpcdf!!> In reply to @Elegantbeef "I see elcritch got": how does hacker news sort posts 😅
02:24:02FromDiscord<!!sharpcdf!!> I thought it was votes but I guess not
02:24:36FromDiscord<Elegantbeef> It uses natural activity afaik
02:25:37FromDiscord<!!sharpcdf!!> oh sweet
02:25:50FromDiscord<!!sharpcdf!!> I'm still surprised haha
02:31:49*arkurious quit (Quit: Leaving)
02:37:10FromDiscord<!!sharpcdf!!> Is there any bubbletea-like framework for nim
02:37:26FromDiscord<!!sharpcdf!!> Looks like nimble uses something like thay
02:37:32FromDiscord<!!sharpcdf!!> (edit) "thay" => "that"
02:37:53*rwb joined #nim
02:38:56*fallback joined #nim
02:39:45FromDiscord<#!/rip/luke> In reply to @flywind "https://github.com/nim-lang/Nim/blob/devel/lib/syst": 🤨
02:41:55FromDiscord<!!sharpcdf!!> 🤨
02:42:31FromDiscord<!!sharpcdf!!> I'm gonna need to find a tutorial for that
02:42:52FromDiscord<!!sharpcdf!!> I would prefer something pure Nim though
02:43:20FromDiscord<!Patitotective> what is bubbletea?
02:43:42FromDiscord<!!sharpcdf!!> In reply to @Patitotective "what is bubbletea?": A tui framework for golang
02:43:47FromDiscord<!!sharpcdf!!> It's super powerful
02:44:25FromDiscord<!!sharpcdf!!> https://github.com/charmbracelet/bubbletea
02:45:58FromDiscord<Elegantbeef> There's illwill and nimwave
02:46:12FromDiscord<!!sharpcdf!!> oh true
02:46:50FromDiscord<!Patitotective> https://nimble.directory/search?query=tui
02:47:02FromDiscord<!!sharpcdf!!> can nimwave do that sort of thing? I thought it just puts tui into a self contained app instead of the console
02:47:16FromDiscord<Elegantbeef> It still lets you have proper TUI
02:47:34FromDiscord<Elegantbeef> It just also allows you to make web/ gpu rendered TUI
03:06:34FromDiscord<voidwalker> ok, I want to move on to new things... how to build an API. Recommended libs ? Google returned this https://github.com/status-im/nim-presto but it has 0 documentation
03:09:23FromDiscord<!Patitotective> you can take a look at the tests https://github.com/status-im/nim-presto/blob/master/tests/testserver.nim
03:10:14FromDiscord<!Patitotective> this one seems to have less documentation lol https://github.com/paul-nameless/nimbler
03:10:48FromDiscord<voidwalker> Sigh, should have learned GO : P
03:11:54FromDiscord<!Patitotective> you can also try running `nim doc --project presto.nim` to see if there are comments
03:13:24FromDiscord<!Patitotective> https://github.com/status-im/nim-presto/blob/master/tests/testclient.nim
03:17:49FromDiscord<!!sharpcdf!!> In reply to @voidwalker "Sigh, should have learned": That's probably a better option for this sort of thing
03:18:02FromDiscord<!!sharpcdf!!> Nim probably has decent API building support
03:18:19FromDiscord<!!sharpcdf!!> But go is more built around and for stuff like that
03:18:22FromDiscord<!!sharpcdf!!> Web services
03:19:07FromDiscord<!!sharpcdf!!> not sure though
03:40:37FromDiscord<voidwalker> Should this functionality not be part of a web framework, like prologue ?
03:41:58*pch joined #nim
03:43:32FromDiscord<!!sharpcdf!!> Probably, you can check
03:43:43FromDiscord<!!sharpcdf!!> I haven't used any Nim web frameworks though
03:44:27FromDiscord<Prestige> Prologue is nice: https://github.com/planety/Prologue
03:45:09FromDiscord<!!sharpcdf!!> It says that it's for making web services in the description 🤦‍♂️
03:45:32FromDiscord<!!sharpcdf!!> In reply to @voidwalker "Should this functionality not": Yes it should be included
03:45:43FromDiscord<!!sharpcdf!!> What type of API are you planning on making
03:45:50FromDiscord<voidwalker> I'd rather learn that than use random bits and pieces
03:46:41*raynei joined #nim
03:46:52FromDiscord<voidwalker> A REST api I guess ?
03:47:59FromDiscord<!!sharpcdf!!> That shouldn't be too difficult to make
03:48:34*raynei quit (Quit: zzz)
03:49:27FromDiscord<!!sharpcdf!!> I don't have much experience but afaik for the basics you just check when a page has a get request and then return json
03:49:40FromDiscord<!!sharpcdf!!> Pretty sure I did something like that a while ago
03:49:45FromDiscord<!!sharpcdf!!> But sadly in go :/
03:50:02FromDiscord<Prestige> There are docs on the prologue github, examples etc
03:59:49FromDiscord<#!/rip/luke> Hmm can I make a systray in nim?
04:05:37FromDiscord<Elegantbeef> Can you make a systray in C?
04:12:26FromDiscord<#!/rip/luke> Yes
04:12:38FromDiscord<#!/rip/luke> But idk how to in nim...
04:13:21FromDiscord<Elegantbeef> The exact same way as in C
04:18:45FromDiscord<#!/rip/luke> Ok
04:19:17FromDiscord<#!/rip/luke> I'm probably gonna have to use something like futhark to wrap libappindicator
04:23:38FromDiscord<Prestige> In reply to @ripluke "Hmm can I make": Yes
04:23:43FromDiscord<Prestige> I made one in Nimdow
04:23:58FromDiscord<#!/rip/luke> Did u use a library?
04:23:59FromDiscord<Prestige> Maybe check out dwm's systray patch
04:24:03FromDiscord<Prestige> uh just xlib
04:24:07FromDiscord<#!/rip/luke> Ok
04:25:31FromDiscord<!!sharpcdf!!> Do nimble packages automatically update when there's a commit in the repo
04:25:47FromDiscord<!!sharpcdf!!> Or do I need to manually publish/update the nimble package
04:27:05FromDiscord<Elegantbeef> It "auto updates"
04:27:26FromDiscord<Elegantbeef> It's decentralised so all it does is fetch the repo and check the version when you install
04:28:04FromDiscord<!!sharpcdf!!> Oh ok
04:28:21FromDiscord<!!sharpcdf!!> good to know 😄
04:35:20FromDiscord<Prestige> I could easily write my own but, is there a std lib proc that will average numbers in an array?
04:36:09FromDiscord<that_dude> Isn't there a math lib?
04:36:27FromDiscord<Prestige> There is, didn't see anything in there though
04:36:50FromDiscord<that_dude> check the stats lib
04:37:00FromDiscord<that_dude> https://nim-lang.org/docs/stats.html#mean%2CopenArray%5BT%5D this right?
04:37:23FromDiscord<Prestige> That'll work, thanks. Didn't know we had a stats lib
04:37:50FromDiscord<that_dude> I assume its to be a bit more similar to the way python has a stats lib too
04:38:48FromDiscord<#!/rip/luke> In reply to @sharpcdf "Or do I need": You have to increment the version in the nimble file
04:39:17FromDiscord<#!/rip/luke> Or you can install #head
04:42:58FromDiscord<Phil> How do I cut off the last character of a string again? It was setting the length, I can't find a strutils proc for that though
04:44:25FromDiscord<Prestige> I believe you can do a range, `foo[0..foo^2]`
04:44:49FromDiscord<Phil> Wouldn't that copy?
04:45:03FromDiscord<Phil> can't you do something like setLen() does that exist?... wait let me try
04:45:10FromDiscord<Prestige> Yeah, if you want to do it in-place just `foo.setLen(foo.len - 1)`
04:45:27FromDiscord<Phil> I return victiorious, setLen is in fact a proc that exists
04:56:47NimEventerNew Nimble package! vimeo - Vimeo extractor, see https://github.com/thisago/vimeo
05:05:24FromDiscord<Elegantbeef> Jeez not saying `foo.setLen(foo.high)`↵(@Prestige)
05:09:09FromDiscord<Rika> it doesnt make sense in that case
05:09:21FromDiscord<Rika> "what does it mean to set the length into the high index"
05:10:12FromDiscord<Elegantbeef> Keyboard switches have a limited life time save them taps!
05:12:17FromDiscord<Rika> damn one extra keypress on the whole keyboard
05:12:33FromDiscord<Rika> not considering the fact that "high" presses one of same key twice
05:12:35FromDiscord<Rika> (edit) "not considering the fact that "high" presses one of ... same" added "the"
05:12:45FromDiscord<Elegantbeef> Shit you right
05:13:15FromDiscord<Rika> also wow so expensive to swap a keyboard switch that likely costs cents a switch
05:13:48FromDiscord<Rika> unless you're me and you use "boutique"/"exotic" switches + spring swap + lube
05:14:04FromDiscord<Elegantbeef> Look at this keyboard enthusiast
05:14:09FromDiscord<Rika> then omg it costs maybe two bucks a switch 😱
05:14:26FromDiscord<Rika> so much money for something that lasts for maybe a few years
05:14:28FromDiscord<Prestige> I think `foo.setLen(foo.len - 1)` is like one brain cpu cycle less to process
05:14:44FromDiscord<Elegantbeef> Fine let's do `discard foo.pop`
05:14:44FromDiscord<Rika> didnt know your brain uses an external clock
05:15:01FromDiscord<Rika> sorry, not external, just a clock
05:16:29FromDiscord<Phil> In reply to @Avahe "I think `foo.setLen(foo.len -": It also has the nice side-effect of making slightly more sense with the usecase I intended:↵Write myself a general proc that removes the last n characters.
05:26:49NimEventerNew Nimble package! kiwifyDownload - Downloads the kiwify videos from course JSON, see https://github.com/thisago/kiwifyDownload
05:28:18FromDiscord<Prestige> fg
05:32:40FromDiscord<Phil> Not knowing what kiwify is, how is that a nimble package to download media material from one specific website?
05:35:06FromDiscord<Phil> After some googling I guess that kiwify is pretty sizeable learning plattform in... brazil from what I'm getting (?)
05:59:43*rockcavera quit (Remote host closed the connection)
07:15:36FromDiscord<t8m8> <@&371760044473319454> Sorry for the repeated mentions. I have just created a new account and have not received a confirmation email, can you please activate my account? https://forum.nim-lang.org/profile/teightm
07:36:51FromDiscord<PMunch> @t8m8, I activated your account, but it doesn't seem like the email got stored. Please add an email address to your account
07:50:08FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=464G
07:50:39FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#ix=464H
07:51:16FromDiscord<Phil> Note that this error contains:↵> Tip: 49 messages have been suppressed, use --verbose to show them.↵So the "--verbose" appear to get stripped somehow.↵And only those, since "--define:verbose" somehow gets through as is visible in the second to last line
07:52:09FromDiscord<Phil> Looking at nimbles github page, there is no mention of even the word "verbose", so I don't think behaviour regarding that is documented there
07:54:09FromDiscord<Phil> I get the same issues when compiling without musl-gcc and when using only one "--verbose" flag, so I don't think either of those are the issue
08:00:39FromDiscord<Elegantbeef> Phil the verbose is for nimble not nim
08:00:42FromDiscord<t8m8> In reply to @PMunch "<@572695463934033920>, I activated your": Thank you very much. The settings page shows that an email address has been set up (in fact, an email address was required when the account was created). It is possible that the email address is not set up correctly in the DB, which may be the cause of the problem with the email not being delivered. https://media.discordapp.net/attachments/371759389889003532/1002848194402721792
08:01:40FromDiscord<PMunch> Aah, now I see it
08:02:13FromDiscord<Phil> In reply to @Elegantbeef "Phil the verbose is": Ohhh so nimble --verbose alpine_debug for the above?
08:02:26FromDiscord<Elegantbeef> Yes
08:11:21*LuxuryMode quit (Quit: Connection closed for inactivity)
08:53:20FromDiscord<#!/rip/luke> Is it possible to use discord js with nims js backend
08:54:47FromDiscord<Elegantbeef> Probably but no clue why you'd want to
08:56:43FromDiscord<Rika> Sure
09:22:42FromDiscord<#!/rip/luke> In reply to @Elegantbeef "Probably but no clue": Yea neither am i
09:22:50FromDiscord<#!/rip/luke> I'm not going to
09:48:50FromDiscord<#!/rip/luke> Does Nim plan on ever having a rust backend?
09:52:55FromDiscord<Rika> Not that I know of
09:53:03FromDiscord<Rika> I don’t think it will either way
09:53:16FromDiscord<Rika> More likely an LLVM backend
09:58:37FromDiscord<#!/rip/luke> Oh
10:00:13FromDiscord<exelotl> I'd like to see a qbe backend
10:00:25FromDiscord<Rika> I believe Araq would be against a rust backend as it’s not really able to be a backend or something to that tone
10:22:27FromDiscord<eyecon> In reply to @Patitotective "i mean the website": https://hckrnews.com/ is a bit better
10:23:15FromDiscord<eyecon> There's also https://vue-hn.herokuapp.com/top
10:41:52FromDiscord<dom96> the website is beautiful simplicity
10:42:32FromDiscord<dom96> In reply to @eyecon "https://hckrnews.com/ is a bit": lol https://media.discordapp.net/attachments/371759389889003532/1002888918842212372/unknown.png
10:46:24FromDiscord<Zodey> In reply to @Rika "More likely an LLVM": you can already use clang as C compiler
10:46:31FromDiscord<Zodey> (edit) "In reply to @Rika "More likely an LLVM": you can already use clang as C compiler ... " added "(i think)"
10:47:41FromDiscord<dom96> of course you can, but that's not the same as a LLVM backend
10:55:26FromDiscord<Nimion #ඞ> how do I delete a character in a string at nth place?
10:58:28FromDiscord<krisppurg> What are CaseTransitions? And how do you avoid them?
10:59:40FromDiscord<domosokrat> @Nimion #ඞ\: https://nim-lang.org/docs/strutils.html#delete%2Cstring%2CSlice%5Bint%5D
11:02:13FromDiscord<Nimion #ඞ> In reply to @domosokrat "<@147447489316913152>\: https://nim-lang.org/docs/s": ty
11:16:48FromDiscord<krisppurg> sent a code paste, see https://play.nim-lang.org/#ix=4665
11:27:14FromDiscord<aMOPel> sent a code paste, see https://play.nim-lang.org/#ix=4666
11:29:47FromDiscord<carlosri> In reply to @Elegantbeef "`sortByIt` or `sort` in": can you give an example with my data?
11:52:22FromDiscord<Rika> In reply to @krisppurg "I've also tried to": Case transition means you’re changing some case discriminator in some object variant instead of making a new object
11:55:57FromDiscord<PyryTheBurger> what does [T] mean in front of a proc? and also what does typedesc mean?
11:56:52FromDiscord<Rika> Generic proc
11:57:01FromDiscord<PyryTheBurger> what is a generic proc
11:57:04FromDiscord<Rika> The value of the parameter is a type descriptor
11:57:10FromDiscord<Rika> Please read the tutorial or the manual
12:10:53FromDiscord<aMOPel> In reply to @aMOPel "You happen to know": @Rika you know that?
12:11:23FromDiscord<Rika> Not really
12:17:29FromDiscord<hotdog> In reply to @aMOPel "You happen to know": Might be best to ask in #internals
12:36:11*jmdaemon quit (Ping timeout: 244 seconds)
13:29:26*evilkhaoskat joined #nim
13:50:40*evilkhaoskat quit ()
13:57:09FromDiscord<PyryTheBurger> how do i make like a directory? like @["a": 1, "b": 2]
14:00:21FromDiscord<domosokrat> `import std/tables; var dict = {"a": 1, "b": 2}.toTable`
14:03:42FromDiscord<PyryTheBurger> invalid type table in a contgext??
14:09:15FromDiscord<domosokrat> huh?
14:11:13FromDiscord<!!sharpcdf!!> In reply to @PMunch "<@572695463934033920>, I activated your": I got this error when I tried signing up too, can you help me out?
14:11:34FromDiscord<lantos> this is so weird when I stop through this debug with LLDB the value is there but when I echo it out it is completely different
14:11:55FromDiscord<lantos> (edit) "this is" => "something"
14:12:10FromDiscord<PMunch> In reply to @sharpcdf "I got this error": Sure, what's your account?
14:12:34FromDiscord<PMunch> By the way, you should tag [at]moderator instead of me personally
14:25:23FromDiscord<!!sharpcdf!!> In reply to @PMunch "Sure, what's your account?": csharpdf
14:25:36FromDiscord<!!sharpcdf!!> In reply to @PMunch "By the way, you": Oh sorry about that 😅
14:26:43FromDiscord<!!sharpcdf!!> I didn't get my email so I deleted and made a new account but I had to use a new name or else it errored
14:27:36FromDiscord<PMunch> Yeah, the whole system is a bit wonky..
14:27:50FromDiscord<PMunch> But your account should be enabled now
14:28:01FromDiscord<!!sharpcdf!!> Thanks, let me check
14:28:23FromDiscord<!!sharpcdf!!> Yep! Thanks a lot 😄
14:34:32*arkurious joined #nim
14:40:26FromDiscord<MagPhi> How does nim compare to V or zig
14:43:13FromDiscord<Rika> they are very different languages
14:43:56FromDiscord<Prestige> Totally unbiased opinion: Nim is better
14:43:58FromDiscord<!!sharpcdf!!> In reply to @MagPhi "How does nim compare": V is... Not very likable and zig has a different goal and principles than nim
14:44:30FromDiscord<!!sharpcdf!!> Nim is more stable than both languages though and has a bigger community presence
14:48:29FromDiscord<MagPhi> Why is V not very likable?
14:49:35FromDiscord<aph> In reply to @MagPhi "Why is V not": i guess it's because there's some fake promises
14:49:59FromDiscord<aph> and "functions has no side effects besides i/o"
14:50:06FromDiscord<MagPhi> Lol
14:50:21FromDiscord<MagPhi> In reply to @aph "i guess it's because": which fake promises except this one?
14:50:45FromDiscord<aph> In reply to @MagPhi "which fake promises except": hang on, V review 2022 might have more
14:50:51FromDiscord<aph> i don't know if V changed much since then
14:51:11FromDiscord<aph> https://mawfig.github.io/2022/06/18/v-lang-in-2022.html
14:51:51FromDiscord<Rika> In reply to @sharpcdf "Nim is more stable": i dont believe nim is more stable than zif
14:51:52FromDiscord<Rika> (edit) "zif" => "zig"
14:52:47FromDiscord<lantos> doesn't feel like it
14:54:51FromDiscord<lantos> I've been trying to write some small ish package but I keep getting small things in the way and then finding out real bigger reason why it is that way. Like the async package and threading. ↵↵I was trying to do someting with threading and then messaged here and someone helped me with it but the thing was along the lines of don't use threadpools they are not used/depreciated but they are in the stdlib
14:55:30FromDiscord<lantos> (edit) "I've been trying to write some small ish package but I keep getting small things in the way and then finding out real bigger reason why it is that way. Like the async package and threading. ↵↵I was trying to do someting with threading and then messaged here and someone helped me with it but the thing was along the lines of don't use threadpools they are not used/depreciated but they are in the stdlib" => "sent a long message,
14:56:46FromDiscord<lantos> (edit) "http://ix.io/466P" => "http://ix.io/466S"
14:57:41FromDiscord<lantos> IDK i actually would love to see some sort of session where people give feed back and give their encounters with using nim in production. ↵↵Don't think there are too many people using nim in prod right?
15:13:34FromDiscord<federico3> @lantos\: maybe the Nim 2.0 thread forum?
15:15:00FromDiscord<federico3> @lantos\: and yes, perhaps async/multithreading and the ecosystem size are the 2 biggest weak points of Nim at the moment. Luckily, a lot of software does not need async nor multithreading
15:20:52FromDiscord<lantos> sent a long message, see http://ix.io/467g
15:24:58FromDiscord<!Patitotective> In reply to @eyecon "https://hckrnews.com/ is a bit": sexy
15:25:06FromDiscord<lantos> sent a long message, see https://paste.rs/Xdx
15:26:05FromDiscord<Prestige> I haven't had any issues with async or threads, what problems have you ran into?
15:28:11FromDiscord<!!sharpcdf!!> In reply to @Rika "i dont believe nim": really?
15:28:27FromDiscord<!!sharpcdf!!> thats surprising
15:28:30FromDiscord<!!sharpcdf!!> very surprising
15:28:43FromDiscord<!!sharpcdf!!> hasnt nim been around for longer?
15:35:52FromDiscord<!!sharpcdf!!> sent a code paste, see https://play.nim-lang.org/#ix=467i
15:35:53FromDiscord<!!sharpcdf!!> /10
15:36:46FromDiscord<lantos> sent a long message, see http://ix.io/467j
15:37:08FromDiscord<lantos> (edit) "http://ix.io/467j" => "http://ix.io/467l"
15:37:22FromDiscord<!!sharpcdf!!> i havent had any problems with httpclient streams
15:38:16FromDiscord<lantos> are you using httpclient synchronously or asynchronously?
15:39:29FromDiscord<!!sharpcdf!!> sync
15:41:26FromDiscord<lantos> could you please send an example, and also were you waiting for the stream to finish?
15:53:04FromDiscord<Takemichi Hanagaki> Hi, guys!↵Is Nim good for embeds?
15:56:59FromDiscord<Rika> embeds? do you mean embedded projects like arduino?
16:11:11FromDiscord<Professor Actual Factual> Hey everyone, I thought I'd share an experimental library I've been working on. 🙂↵https://github.com/ayman-albaz/etters
16:11:39FromDiscord<Professor Actual Factual> (edit) "🙂↵https://github.com/ayman-albaz/etters" => "🙂↵`Etters, a pragmatic Nim library combining move semantics and object oriented encapsulation.`↵↵https://github.com/ayman-albaz/etters"
16:25:56FromDiscord<Takemichi Hanagaki> In reply to @Rika "embeds? do you mean": Yes!
16:26:29FromDiscord<Takemichi Hanagaki> Bare-metal...
16:30:47FromDiscord<!Patitotective> In reply to @Professor Actual Factual "Hey everyone, I thought": looks interesting↵i havent needed that yet but ill save it
16:31:36FromDiscord<Rika> In reply to @Takemichi Hanagaki "Yes!": nim is good for that, yes
17:08:25FromDiscord<#!/rip/luke> It can do anything c/cpp can
17:13:15FromDiscord<Phil> Is there a way for me to see how many bytes the value of a specific variable takes up?
17:13:32FromDiscord<Phil> I'm trying to understand how a sequence of 30 bytes turns into a base64 encoded string of 40 characters
17:14:50FromDiscord<hotdog> In reply to @Isofruit "Is there a way": https://nim-lang.org/docs/system.html#sizeof%2Ctypedesc
17:16:37FromDiscord<Phil> I understand even less now
17:16:39FromDiscord<hotdog> In reply to @Isofruit "I'm trying to understand": This is expected, no?
17:16:43FromDiscord<Rika> base64 has a size rate of 4:3
17:17:02FromDiscord<Rika> it takes 4 bytes of b64 to store 3 bytes of raw
17:18:11FromDiscord<Phil> In reply to @hotdog "This is expected, no?": Assume I have no idea of anything about base64 other than that it's an often used convenient standard for encoding byte-arrays into strings
17:18:31FromDiscord<Phil> Alright, but I have arrived at a new question now
17:18:39FromDiscord<Rika> you can store 6 bits in a single b64 "character", which is 8 bits
17:18:56FromDiscord<Rika> so you need 32 bits of b64 to store 24 bits of raw data
17:19:33FromDiscord<Phil> In reply to @Rika "you can store 6": That one I can understand
17:19:44FromDiscord<Phil> However, I have arrived at a new mystery on the way of staring at the old one
17:20:21FromDiscord<Phil> sent a code paste, see https://paste.rs/8RV
17:21:42FromDiscord<Phil> In reply to @Rika "so you need 32": I think I understand a bit
17:22:07FromDiscord<Rika> sizeof seq is int + int + ptr size
17:22:08FromDiscord<Phil> Not the current byte sizes I'm seeing, but the base64 size ratio
17:22:13FromDiscord<Rika> i think
17:22:21FromDiscord<Rika> so 4+4+8
17:22:23FromDiscord<Rika> ??
17:22:33FromDiscord<Rika> i dont know why its 16 because i thought it would be 8+8+8
17:22:50FromDiscord<Phil> Ohhh right, seq is heap
17:22:50FromDiscord<Rika> but the size of a seq is constant because heap etc
17:23:04FromDiscord<Phil> So that's only the size of the memory this thing has in stack
17:23:08FromDiscord<Phil> Which is just the pointer?
17:23:13FromDiscord<Rika> no
17:23:16FromDiscord<Rika> pointer + other stuff
17:23:19FromDiscord<hotdog> http://zevv.nl/nim-memory/#_strings_and_seqs
17:23:21FromDiscord<Rika> seq is not just pointer
17:23:42FromDiscord<Rika> oh
17:23:44FromDiscord<Rika> i remember now
17:23:49FromDiscord<Rika> it might be because youre using arc
17:23:55FromDiscord<hotdog> sent a code paste, see https://play.nim-lang.org/#ix=468D
17:24:01FromDiscord<Phil> I am! Well, orc
17:24:04FromDiscord<Rika> if you use arc then capacity is stored in the pointer struct
17:24:17FromDiscord<Phil> But same difference I assumne
17:24:18FromDiscord<Rika> so its just int (len) + ptr (heap obj)
17:24:26FromDiscord<Rika> (edit) "so its just ... int" added "size of "
17:25:37FromDiscord<Phil> How would I figure out how large this thing is in heap?
17:25:47FromDiscord<Phil> Wait, that's likely in hotdogs article
17:25:48FromDiscord<Phil> brb reading
17:25:54FromDiscord<Rika> lensizeof(theseq[0)
17:25:56FromDiscord<Rika> (edit) "lensizeof(theseq[0)" => "lensizeof(theseq[0])"
17:26:00FromDiscord<Rika> (edit) "lensizeof(theseq[0])" => "theseq.lensizeof(theseq[0])"
17:27:00FromDiscord<dom96> In reply to @lantos "of the top of": yep, these are all real problems. Who's going to solve them?
17:27:17FromDiscord<Phil> Would... that still work for e.g. a seq of dictionaries... wait yes it would that would also just be a seq of pointers which have equal amount of sizes. If I wanted to figure the entire amount of memory needed of that thing.... oh god
17:28:18FromDiscord<Phil> Do memory analysis programs have algorithms that just follow pointers all over the memory to tell you how large specific objects are in total?
17:28:43FromDiscord<Phil> These are about the only kinds of programs I could think of that would care about how large something is in memory
17:28:59*xet7 quit (Ping timeout: 252 seconds)
17:31:29FromDiscord<Rika> In reply to @Isofruit "Do memory analysis programs": prolly
17:32:00FromDiscord<Rika> if you ask the GC system itself, it of course tracks it itself already so its trivial for those systems
17:36:01FromDiscord<flywind> (64 bits system) In ARC/ORC, seqs/string are pointer + len(int) and the size of it is 8. In refc, seqs/strings are simply a pointer of which the size is 8.
17:36:14FromDiscord<flywind> (edit) "(64 bits system) In ARC/ORC, seqs/string are ... pointer16." added "a" | "8." => "16."
17:36:15FromDiscord<lantos> In reply to @dom96 "yep, these are all": exactly, also not helpful for stability and again probably goes back to what I was mentioning.
17:50:00FromDiscord<dom96> sent a long message, see http://ix.io/468H
17:53:30FromDiscord<Takemichi Hanagaki> In reply to @Rika "nim is good for": Okay, thx!
17:56:04FromDiscord<!Patitotective> In reply to @dom96 "Yes, but the reason": So true
17:56:07FromDiscord<!Patitotective> (edit) "So" => "so"
18:05:03FromDiscord<Prestige> In reply to @dom96 "Yes, but the reason": Yeah, would be nice to have more people fixing core issues with the language and tooling. Would go a long way
18:05:42FromDiscord<!Patitotective> In reply to @Avahe "Yeah, would be nice": _Get 100$ for each 5 issues solved_
18:06:53FromDiscord<eyecon> In reply to @Patitotective "_Get 100$ for each": Obligatory Dilbert: https://dilbert.com/strip/1995-11-13
18:07:41FromDiscord<!Patitotective> In reply to @eyecon "Obligatory Dilbert: https://dilbert.com/strip/1995-": lol
18:10:54FromDiscord<lantos> In reply to @eyecon "Obligatory Dilbert: https://dilbert.com/strip/1995-": lol
18:12:27FromDiscord<lantos> In reply to @dom96 "Yes, but the reason": yeah agree with this, ↵I think some positives that we could do is what I mentioned "IDK i actually would love to see some sort of session where people give feed back and give their encounters with using nim in production. "↵Or does this just lead to a spiral of negativity
18:17:09FromDiscord<flywind> There is also an alternative like cps-nim with better docs..
18:18:26FromDiscord<Rika> In reply to @dom96 "Yes, but the reason": not so uncomfortable for some of us, we've accepted these truths for a long time
18:21:11FromDiscord<!Patitotective> rika knew it form the beggining
18:21:15FromDiscord<!Patitotective> (edit) "form" => "from"
18:29:34FromDiscord<flywind> Yeah, everything else is acceptable to me. It would be better if it is safe to pass cyclic refs between threads. I'm going to experiementing background partial tracing (stop the world). So that cps-nim could work with ORC+.
18:36:13*xet7 joined #nim
18:38:28FromDiscord<lantos> also there is gitcoin, not sure on its effectiveness though
18:50:37FromDiscord<eyecon> Is it me or is the Matrix bridge down? Last messages are from 2h ago
18:51:37FromDiscord<eyecon> 1:16 to be precise
19:00:10FromDiscord<dom96> In reply to @lantos "yeah agree with this,": Better would be a hackathon where we actually fix stuff imo
19:01:54FromDiscord<lantos> actually decent shout. I did my first hackathon on chainlink the other month and there were tones of good things coming out of that and people learnt tones. ↵↵I'd help out and put some money to that hackathon to help:)
19:06:56FromDiscord<domosokrat> I'm not sure who to ping, but the discord bridge seems to be down
19:08:21FromDiscord<!Patitotective> Pink beef
19:08:22FromDiscord<!Patitotective> (edit) "Pink" => "Ping"
19:08:28FromDiscord<!Patitotective> (edit) "Ping beef ... " added "/j"
19:11:49*CyberTailor quit (Quit: Konversation terminated!)
19:12:08FromDiscord<phargob> In reply to @dom96 "Better would be a": I'm not sure what a hackathon is, but I used to be part of PyPy sprint development - https://pypyja.readthedocs.io/en/latest/dev_method.html Can highly recommend, some of my fondest memories form 20 years ago.
19:12:17*xet7 quit (Remote host closed the connection)
19:20:47FromDiscord<dom96> ooh, that's cool. Thanks for linking
19:22:37FromDiscord<reversem3> Well that would make sense why I'm getting a reply back , lol either that or I'm to annoying
19:24:08reversem3[m]Is the discord bridge down ?
19:24:21FromDiscord<dom96> seems to be working again
19:24:49FromDiscord<reversem3> from the matrix channel or the irc channel ?
19:26:12*xet7 joined #nim
19:26:15FromDiscord<dom96> no idea
19:28:33FromDiscord<konsumlamm> In reply to @dom96 "Yes, but the reason": while that is true, simply saying "go fix it" isn't really helping imo, it comes off as unfriendly and fixing issues isn't that easy most of the time↵especially for a supposedly stable language, i wouldn't expect that i have to "fix it" before using it
19:29:06FromDiscord<nixfreak> Working now!
19:29:25FromDiscord<reversem3> yep working
19:30:24reversem3[m]irc,matrix and discord are working
19:33:00FromDiscord<dom96> In reply to @konsumlamm "while that is true,": what should I say then? For what it's worth I don't think it's fair to characterise what I wrote above as me saying "go fix it". I do think I covered all possibilities though so I'm curious if I missed something, so please tell me what else I could have offered as an option.
19:38:52FromDiscord<Prestige> In reply to @dom96 "Better would be a": Hell yeah
19:39:04FromDiscord<konsumlamm> i'm not characterizing that message as "go fix it", but i'm pretty sure i've seen you multiple times suggest something along those lines
19:39:32FromDiscord<konsumlamm> there's also the option of waiting until someone else fixes the issue
19:40:30FromDiscord<konsumlamm> i don't mean that fixing the issue yourself isn't a valid option, i mean that simply saying "fix it yourself" isn't helping much, it would be better to give concrete advice on how to fix the issue
19:44:51FromDiscord<dom96> sure, I don't disagree with that
19:46:13FromDiscord<dom96> though it's not easy to give advice if you're not yet certain that the person is interested in fixing the issue
19:46:15FromDiscord<j-james> In reply to @Takemichi Hanagaki "Hi, guys! Is Nim": yes, but depending on the board you'll have to do (some) work
19:46:18FromDiscord<j-james> also check out https://github.com/PMunch/ratel
19:47:21FromDiscord<dom96> If someone tells me explicitly that they want help fixing a particular issue I'd gladly give concrete advice/help
19:47:44FromDiscord<dom96> and I want to encourage this as best I can
20:00:26*jmdaemon joined #nim
20:02:19*xet7 quit (Ping timeout: 272 seconds)
20:15:30*krux02 joined #nim
20:58:26NimEventerNew thread by Wwderw: Load Assets From Memory, see https://forum.nim-lang.org/t/9333
21:39:26FromDiscord<eyecon> I'm sure I'm missing something pretty obvious: I want to create a C binding and produced (with c2nim) a wrapper file. It didn't run, I edited the file somewhat, but managed to get it create a .nim file. The file seems correct (the original file is very simple and I could have written it by hand). It references a .h file. This file is in the same directory as the wrapper script.
21:39:43FromDiscord<eyecon> So my wrapper .nim file, the header (.h) and the .c file are all in the same directory.
21:40:19FromDiscord<eyecon> sent a code paste, see https://play.nim-lang.org/#ix=469N
21:40:28FromDiscord<eyecon> ...when compiling the .nim file which includes the wrapper.
21:41:01FromDiscord<eyecon> How do I show the correct path to the compiler? I tried `--passC:"-I."` but it doesn't change anything
21:44:17FromDiscord<eyecon> Interestingly enough, the wrapper script itself compiles without issues (doesn't do anything of course, but still)
21:44:50FromDiscord<eyecon> sent a code paste, see https://play.nim-lang.org/#ix=469P
21:45:27FromDiscord<eyecon> sent a code paste, see https://play.nim-lang.org/#ix=469Q
21:51:58FromDiscord<ElegantBeef> Of course the wrapper will compile it's semantically correct Nim, it isnt being used so the C compiler doesnt get it
21:52:29FromDiscord<!Patitotective> ~~(matrix's dead)~~
21:52:33FromDiscord<!Patitotective> (edit) "~~(matrix's" => "~~(bridge's"
21:52:36FromDiscord<ElegantBeef> Yep
21:53:06FromDiscord<ElegantBeef> Are your `.h` files `.` relative to the project root?
21:53:42FromDiscord<eyecon> No, it's in the src directory, but I'm executing the compile command there, and everything else is there too
21:54:19FromDiscord<ElegantBeef> Is this on a repo somewhere?
21:54:42FromDiscord<eyecon> No, but I can create a repo quickly if you'd like to take a look
21:55:17FromDiscord<ElegantBeef> Get me ~~pictures of spiderman~~ a link
21:57:02FromDiscord<eyecon> Sent it over Matrix, hope it's OK
21:57:19FromDiscord<eyecon> I can also host it somewhere if necessary
21:57:31NimEventerNew question by azyx: Conditional type in Nim. How to get half unsigned int type from a int function parameter?, see https://stackoverflow.com/questions/73179297/conditional-type-in-nim-how-to-get-half-unsigned-int-type-from-a-int-function-p
21:57:33FromDiscord<ElegantBeef> It's fine but 7z really?!
21:57:55FromDiscord<eyecon> In reply to @ElegantBeef "It's fine but 7z": Why not?
21:58:10FromDiscord<ElegantBeef> Apparently my archiver tool doesnt support it 😄
21:58:20FromDiscord<eyecon> Oh, OK, wait
21:58:36FromDiscord<ElegantBeef> Even `7z x` doesnt support the method you used 😄
21:59:01FromDiscord<!Patitotective> send a tar.xyzw
21:59:09FromDiscord<eyecon> Ah, sorry, sending a .tar
21:59:10FromDiscord<ElegantBeef> Oh do you do `{.compile:"shoco.c".}`?
21:59:26FromDiscord<eyecon> In reply to @ElegantBeef "Oh do you do": Nope? That's what has been missing?
21:59:43FromDiscord<ElegantBeef> Yes you need to tell Nim "We're compiling this C file with our project"
21:59:58FromDiscord<ElegantBeef> This means you get it's object file then at linking you dont get an undefined reference
21:59:59FromDiscord<eyecon> Oh, can I put it into a .cfg or .nims file?
22:00:07FromDiscord<ElegantBeef> You can put it in your nim code with the above pragma
22:00:22FromDiscord<ElegantBeef> No clue if you can tell Nim to compile specific C files from cli
22:00:35FromDiscord<ElegantBeef> Eitherway give it a whirl and if it doesnt work send me the tarball
22:00:39FromDiscord<eyecon> Oh, thanks, it compiles now
22:00:53FromDiscord<eyecon> That was quick, tysm
22:01:31FromDiscord<ElegantBeef> sent a code paste, see https://play.nim-lang.org/#ix=469X
22:01:40FromDiscord<eyecon> 😄
22:01:59FromDiscord<eyecon> I was using an experimental plugin for the 7-Zip file manager
22:02:20FromDiscord<eyecon> Apparently it's what gets used by default if I click on the context menu item
22:06:48FromDiscord<eyecon> Nim is so good, I consider myself lucky to have stumbled upon it
22:07:01FromDiscord<eyecon> I'm too lazy for C
22:13:55FromDiscord<ElegantBeef> So... carbon does Nim's optimization, interesting https://www.foonathan.net/2022/07/carbon-calling-convention/
22:20:09FromDiscord<theangryepicbanana> wonder where they got the idea lol
22:20:37FromDiscord<Elegantbeef> Is that the sound of the bridge returning?!
22:20:43FromDiscord<theangryepicbanana> perhaps
22:20:52FromDiscord<Elegantbeef> Time heals all wounds
22:21:14FromDiscord<theangryepicbanana> previous discussion was about how Carbon's new cc was inspired by nim
22:21:19FromDiscord<theangryepicbanana> and by extension, pascal
22:22:00FromDiscord<Elegantbeef> https://www.foonathan.net/2022/07/carbon-calling-convention/ context for the matrix people 😄
22:23:40FromDiscord<Elegantbeef> Now if only carbon copied Nim's field declarations
22:23:46FromDiscord<Elegantbeef> Why the fuck do you declare a field as `var` 😄
22:24:15FromDiscord<eyecon> And semicolons, so many semicolons
22:24:17FromDiscord<eyecon> And braces
22:24:25FromDiscord<theangryepicbanana> immutability is the new wave of programming
22:24:32FromDiscord<theangryepicbanana> immutability by default
22:24:40FromDiscord<theangryepicbanana> I personally think it's overrated
22:24:54FromDiscord<Elegantbeef> I think you're overated!
22:25:04FromDiscord<theangryepicbanana> lol
22:25:11FromDiscord<theangryepicbanana> semicolons are also ew
22:25:53FromDiscord<theangryepicbanana> I suppose they exist solely to attract c/c++ programmers, it doesn't seem like carbon's grammar requires them to deal with ambiguity
22:26:23FromDiscord<huantian> Can you do per field immutability in Nim? Ig you can make {.error.} getters
22:26:35FromDiscord<theangryepicbanana> not that I'm aware of
22:26:42FromDiscord<Elegantbeef> Carbon presently doesnt have per field immutability afaik
22:26:49FromDiscord<theangryepicbanana> it should?
22:27:11FromDiscord<theangryepicbanana> declaring a field without var makes it immutable and you can't take its address
22:27:29FromDiscord<theangryepicbanana> it also makes the field embeddable for some reason
22:27:43FromDiscord<Elegantbeef> Afaict they dont presently have any examples of code without `var` fields 😄
22:27:49FromDiscord<theangryepicbanana> I saw one
22:28:13FromDiscord<theangryepicbanana> the specs aren't that great anyways tho so I don't blame ya
22:28:50FromDiscord<theangryepicbanana> I personally don't care much for carbon. I can just use nim or pascal for what carbon accomplishes
22:29:07FromDiscord<Elegantbeef> Well pascal doesnt do the C++ interop but yea
22:29:19FromDiscord<theangryepicbanana> it has partial from what I understand
22:29:49FromDiscord<theangryepicbanana> but anyways it seems kinda pointless
22:30:02FromDiscord<theangryepicbanana> I'll bet google will kill it in 2 years anyways
22:30:10FromDiscord<Elegantbeef> Yea
22:30:20FromDiscord<Elegantbeef> I mean also carbons syntax is fucking abysmal
22:30:26FromDiscord<theangryepicbanana> it's just c
22:30:27FromDiscord<Elegantbeef> `let Pi:! f32 = 3.141592653589793;`
22:30:35FromDiscord<theangryepicbanana> they even kept the stupid prefix casting syntax
22:30:36FromDiscord<Elegantbeef> Not it's not
22:30:49FromDiscord<Elegantbeef> `:!` is very much not C 😄
22:30:53FromDiscord<theangryepicbanana> it's just c++
22:30:59FromDiscord<Elegantbeef> `The :! indicates that this is defining a compile-time constant, and so does not affect the storage of instances of that class.`
22:31:17FromDiscord<theangryepicbanana> I feel like literally any other solution would've looked nicer
22:31:18FromDiscord<Elegantbeef> Ah so yea `let` does work for class fields
22:31:25FromDiscord<Elegantbeef> like maybe `const` 😄
22:31:56FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=46a3
22:31:57FromDiscord<Elegantbeef> You can alias fields....
22:32:05FromDiscord<theangryepicbanana> oh yeah that shit is gonna be a nightmare
22:32:19FromDiscord<theangryepicbanana> apparently nobody learned from ruby's mistakes here
22:32:31FromDiscord<Elegantbeef> I'm trying to figure out when i've ever wanted to have two names for a single field
22:32:53FromDiscord<theangryepicbanana> maybe one name instead of another, but never both
22:33:08FromDiscord<theangryepicbanana> like a getter
22:33:28FromDiscord<theangryepicbanana> better yet, maybe they should just add regular getters to carbon
22:33:35FromDiscord<Elegantbeef> I guess there are cases where someone has a shitty field name you want to alias, but having that in the class level doesnt do anything
22:34:01FromDiscord<theangryepicbanana> do you think this was an intern project or something
22:34:03FromDiscord<Elegantbeef> So i guess you can add an alias instead of refactoring code, cause that makes sense
22:34:41FromDiscord<Generic> that seems to pointless
22:34:58FromDiscord<Generic> especially when Nim can do this with templates just as well...
22:35:09FromDiscord<Elegantbeef> Given my career experience i cannot insult them 😄
22:35:34FromDiscord<theangryepicbanana> given my career experience, I'd say this language is kinda half-assed tbh
22:35:47FromDiscord<theangryepicbanana> since uh I do langdev
22:36:30FromDiscord<Elegantbeef> I have seen they intend on supporting compiling multiple different C++ libraries at the same time on import
22:36:34*xet7 joined #nim
22:36:38FromDiscord<Elegantbeef> So it's a really wacky thing
22:38:21FromDiscord<Elegantbeef> My favourite "What the fuck are you doing" is the array and tuple constructor being identical
22:38:24FromDiscord<Elegantbeef> That one is just.... yes
22:38:27FromDiscord<huantian> Google should’ve just sponsored Nim!
22:38:39FromDiscord<theangryepicbanana> In reply to @Elegantbeef "My favourite "What the": yeah that's kinda yikes
22:38:40FromDiscord<huantian> Actually idk if I would want that
22:38:44FromDiscord<Elegantbeef> Nah they have NIH syndrome
22:39:08FromDiscord<theangryepicbanana> for a language meant to fix c++'s context sensitivity, they sure did a bang-up job here
22:39:27FromDiscord<Elegantbeef> The thing i always find fun iis people that dont know what they're talking about suggesting things
22:39:37FromDiscord<Elegantbeef> "I dont think we should use `var` for variable declarations".... why? cause> Well, in most modern languages the keyword var has become synonymous with “duck typing”
22:39:44FromDiscord<theangryepicbanana> yeah
22:40:01FromDiscord<Elegantbeef> Zig had a similar post about distinct types
22:40:12FromDiscord<Elegantbeef> "Nim has operator overloading which means it dispatches procedures at runtime"
22:40:23FromDiscord<huantian> wait isn’t var more for type inference?
22:40:29FromDiscord<Elegantbeef> Yes
22:40:38FromDiscord<Elegantbeef> duck typing is unrelated to variable declaration
22:40:48FromDiscord<Elegantbeef> Duck typing is a variable usage
22:41:04FromDiscord<konsumlamm> Zig seriously though overloading means runtime dispatch?
22:41:09FromDiscord<konsumlamm> thought
22:41:09FromDiscord<theangryepicbanana> lmao
22:41:10FromDiscord<Elegantbeef> A zig user
22:41:29FromDiscord<theangryepicbanana> zig people are extremely against operator overloading because "it disguises control flow"
22:41:38FromDiscord<konsumlamm> ah, you implied there was an official blog post or something
22:41:42FromDiscord<Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1003069906478170112/image.png
22:41:56FromDiscord<Elegantbeef> Ah sorry
22:42:07FromDiscord<Elegantbeef> Distinct types "work" is the first point
22:42:18FromDiscord<theangryepicbanana> they do have a point about distinct types being clumsy
22:42:26FromDiscord<Elegantbeef> They're really not clumsy
22:42:30FromDiscord<Elegantbeef> They do what they're supposed to
22:42:34FromDiscord<konsumlamm> if distinct types would just automatically borrow everything, what's the point over a type alias?
22:42:42FromDiscord<theangryepicbanana> in my language Star I also have distinct types, but all operations are opt-out rather than opt-in
22:42:59FromDiscord<theangryepicbanana> In reply to @konsumlamm "if distinct types would": method overloading and type safety mostly
22:43:11FromDiscord<Elegantbeef> That's off imo since the point of distinct is the shape is the same but the capabilities are not
22:43:15FromDiscord<Elegantbeef> But you do you
22:43:19FromDiscord<theangryepicbanana> anyways
22:43:36FromDiscord<Elegantbeef> Konsumlamm i'd personally like to see weak distincts in Nim
22:44:14FromDiscord<Elegantbeef> Basically allowing you to add type information, but you still can use all of the derived's procedures
22:44:47FromDiscord<Elegantbeef> For the most part though i find Nim's implementation of distinct lovely
22:45:17FromDiscord<Elegantbeef> But given on how much i've fixed borrowing i'm probably forced to saying that
22:48:12FromDiscord<Elegantbeef> A usecase for a weak distinct is https://github.com/nim-lang/RFCs/issues/450
22:53:17FromDiscord<Elegantbeef> It's' kinda funny how many blog posts that indirectly describe Nim get posted to hacker news, as there's also this one https://kevinlawler.com/refcount
23:14:06FromDiscord<eyecon> Does someone have the reference in the manual where it describes to use a same-name .nims file for the configuration?
23:16:23FromDiscord<eyecon> Ah, I think this is 4. in https://nim-lang.org/docs/nims.html
23:21:06FromDiscord<eyecon> So I just published my first C wrapper: https://github.com/EyeCon/shoconim
23:21:15FromDiscord<eyecon> It's not much, but it's something
23:27:01FromDiscord<Goat> sent a code paste, see https://play.nim-lang.org/#ix=46a8
23:27:31FromDiscord<Goat> https://media.discordapp.net/attachments/371759389889003532/1003081437790085211/meta.json
23:27:55FromDiscord<Goat> https://media.discordapp.net/attachments/371759389889003532/1003081536666603570/Yb8NL_YuCFvm.json
23:29:11*krux02 quit (Remote host closed the connection)
23:29:54*krux02 joined #nim
23:35:33*krux02 quit (Remote host closed the connection)