<< 14-07-2025 >>

00:01:23*beholders_eye quit (Ping timeout: 244 seconds)
00:07:14FromDiscord<user2m> In reply to @simbuilder "Hey huge fan of": I basically use nim as typescript today. Just compile down to JS
00:19:57*amadaluzia_ quit (Quit: ZNC 1.10.0 - https://znc.in)
00:20:19FromDiscord<Robyn [She/Her]> @simbuilder the admins are also just regular users, you should ask your questions here, there are a few people here who I'd consider knowledgeable who aren't admins (since, admins are purely for the community management side)
00:21:07FromDiscord<Robyn [She/Her]> Bindings to Haskell would have to go through an intermediary C layer, fyi
00:21:52FromDiscord<Robyn [She/Her]> You can expose Nim to C quite easily and bind to that on the Haskell side, I've only touched Haskell briefly so can't attest to the experience of exposing Haskell code to C
00:23:15FromDiscord<Robyn [She/Her]> Nim can't bind to TS since, TS' types only exist on the language level and get compiled away when exporting to JS, so are you asking about how to get typesafety on the Nim side when using JS libraries?
01:01:39FromDiscord<simbuilder> I am very glad to have joined then, I like merit based open source communities.
01:01:55FromDiscord<simbuilder> Right reason for Haskell would be the use of the Cardano Crypto.
01:02:35FromDiscord<simbuilder> Though if TypeScript is based in itself + Lua which it is, and Nim compiles to Lua could it not work with TypeScript?
01:03:06FromDiscord<simbuilder> It's just that TS is less error prone than JS
01:03:28FromDiscord<simbuilder> Especially when it comes down to linting errors and catching them prior to the console logs.
01:03:50FromDiscord<simbuilder> TypeSafety would definetly improve the UX when working with JS.
01:04:21FromDiscord<simbuilder> _
01:04:55FromDiscord<leorize> for binding to any native languages, that's not an issue as long as they can talk C
01:05:05FromDiscord<simbuilder> Join me in #langdev
01:05:27FromDiscord<leorize> nim doesn't compile to lua
01:05:35FromDiscord<leorize> also, that room is for developing languages using nim
01:07:59FromDiscord<leorize> nim can bind to TS in the same way JS can bind to TS, by using JS as the common language
01:08:34FromDiscord<leorize> I don't think any automated wrapper exists, and fwiw nim type system is not as featureful as TS
01:17:15FromDiscord<simbuilder> Okay so, I will be in langdev with that purpose in mind.↵I am working on a fork called soul, I will share my conceptual repository there so you all can evaluate it.
01:17:23FromDiscord<simbuilder> Thanks
01:20:32FromDiscord<Robyn [She/Her]> In reply to @simbuilder "Though if TypeScript is": Nim doesn't compile to Lua
01:55:32FromDiscord<simbuilder> RIP, ChatGPT lied to me then.
01:55:37FromDiscord<simbuilder> (edit) "RIP," => "RIP"
01:55:44FromDiscord<simbuilder> Can it?
01:55:54FromDiscord<simbuilder> How hard would a Lua binding be?
01:56:06FromDiscord<simbuilder> Luau too?
01:59:00FromDiscord<simbuilder> I could FireCrawl the whole Docs and then VectorDB it for RAG if that helps.
01:59:35FromDiscord<leorize> yes↵(@simbuilder)
02:00:00FromDiscord<griffith1deadly> why is everyone so obsessed with AI? is google blocked? is github blocked? AI is cancer
02:00:10FromDiscord<leorize> you'd need to reimplement nim semantics in Lua terms
02:00:23FromDiscord<simbuilder> Sure, I can do that.
02:00:35FromDiscord<Elegantbeef> @griffith1deadly People are lazy and asking a supposed intelligence is easier than using your own
02:00:46FromDiscord<leorize> AI is pretty bad at nim, fwiw
02:00:56FromDiscord<leorize> this language isn't popular enough
02:00:59FromDiscord<Elegantbeef> > AI is pretty bad↵FTFY
02:02:17FromDiscord<simbuilder> We'd have to teach each LLM by giving it enough data about semantics, operators, constructors, functions, events, client, server, classes, ect.↵↵Then the AI provider would have to process the data from their RL feedback loops into the actual LLMs for it to take effect.
02:02:18FromDiscord<leorize> haxe is a better polygot language if you're interested in that
02:02:28FromDiscord<simbuilder> What is haxe?
02:03:00FromDiscord<griffith1deadly> In reply to @simbuilder "RIP ChatGPT lied to": isn't it says about nimlua that is just lua binding to nim? lua executor from nim code basically and not compiler backend
02:03:32FromDiscord<simbuilder> Interesting, so it has nimlua in nimble?
02:03:42FromDiscord<simbuilder> Then is it missing anything?
02:03:56FromDiscord<simbuilder> Idk who maintains this stuff.
02:04:15FromDiscord<Elegantbeef> Sometimes I feel like I'm in an asylum
02:04:36FromDiscord<griffith1deadly> https://github.com/search?q=nimlua%20language%3ANim&type=repositories
02:04:52FromDiscord<griffith1deadly> stop using AI or AI will replace you;
02:05:33FromDiscord<simbuilder> Wow so Haxe is about twice the versions into dev than Nim↵https://haxe.org/
02:05:49FromDiscord<Elegantbeef> Don't say that. People will start chanting "you won't replace us" and it'll be hard to distinguish who is who
02:05:56FromDiscord<simbuilder> It's what you build
02:05:59FromDiscord<simbuilder> AI is a tool
02:06:12FromDiscord<Elegantbeef> @simbuilder As if that really means anything
02:06:26FromDiscord<Elegantbeef> 4.3.7 or 0.1.00000001
02:06:58FromDiscord<simbuilder> Well when you look at Nim it's at 2.2.4
02:07:03FromDiscord<simbuilder> Same versioning convention
02:08:14FromDiscord<leorize> I can create a language and start with version 15.0.1, it doesn't mean anything
02:08:37ehmryif anyone is interested I made a tool for processing code before feeding it to a model https://git.sr.ht/~ehmry/scramble
02:08:54FromDiscord<simbuilder> What does it do?
02:09:50ehmryflips around stuff to produce code that is impossible to tell if it actually works or not
02:10:02FromDiscord<leorize> huh, even sourcehut is using anubis
02:12:59FromDiscord<Elegantbeef> Leo you made me look at their site↵> Made with ❤️ in 🇨🇦↵Damn I guess I need to add something to my site \:DMade with 💀 in 🇨🇦
02:14:21FromDiscord<leorize> how long do you think you can display that flag 😛
02:14:44FromDiscord<Elegantbeef> As long as I'm alive
02:15:24FromDiscord<Elegantbeef> Which from my perspective will be forever
02:39:53*Guest60 joined #nim
02:40:27*Guest60 quit (Client Quit)
03:05:25*rockcavera quit (Remote host closed the connection)
04:28:00FromDiscord<Zoom> I think I saw a joke swiftly flying by you...
04:28:16FromDiscord<Elegantbeef> In what regard?
04:31:48FromDiscord<Zoom> Regarding longevity of the Canadian flag, unless your answer implies fighting for sovereignty to the death.
04:32:43FromDiscord<Elegantbeef> It does indeed
04:35:02FromDiscord<Zoom> I guess it's not that easy for me to imagine anyone thinking this way seriously, as I am, well, not Canadian.
04:36:04FromDiscord<Elegantbeef> You cannot imagine someone not wanting to give up their sovereignty?
04:44:17FromDiscord<leorize> my joke has more to do with where beef lives than Canadian sovereignty
04:50:21*amadaluzia joined #nim
04:51:40*amadaluzia quit (Client Quit)
05:05:06*skippy8 joined #nim
05:05:31FromDiscord<Zoom> If you can consider jokes an art form, then you don't get much say.
05:24:23*om3ga quit (Ping timeout: 252 seconds)
05:40:49*om3ga joined #nim
07:53:40*xet7 quit (Remote host closed the connection)
08:17:35FromDiscord<pmunch> In reply to @simbuilder "Wow so Haxe is": Just because the numbers line up doesn't mean that they mean the same. Even according to semantic versioning it just means that there has been more breaking changes updates in Haxe than in Nim, which can be good or bad depending on how you look at it. But I think neither Nim nor Haxe strictly follows semantic versioning.
09:03:24Amun-Rasimbuilder: same versioning convention, but not the same versioning meaning
12:11:22FromDiscord<krisp0> does anyone know how to reduce nimsuggest's cpu usage?
12:12:06*beholders_eye joined #nim
12:31:42FromDiscord<janakali> In reply to @krisp0 "does anyone know how": is it 100% all the time?
12:33:07FromDiscord<krisp0> In reply to @janakali "is it 100% all": no but generally like 50%-60% sometimes
12:34:25*beholders_eye quit (Ping timeout: 248 seconds)
12:34:59FromDiscord<janakali> you can limit number of nimsuggest processes, but not sure how effective it is
13:35:27FromDiscord<Robyn [She/Her]> In reply to @simbuilder "How hard would a": A Lua backend? Good luck...
13:36:02FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Sometimes I feel like": Same
13:37:28FromDiscord<Robyn [She/Her]> In reply to @simbuilder "Same versioning convention": Sure, they both use SemVer, which is Major.Minor.Patch, Major being breaking changes, Minor being backward compatible changes, and patches being bug fixes, this just means Haxe has had 4 or 5 major breaking changes compared to Nim, not a measure of progress
13:46:04FromDiscord<nnsee> the real question is how many patches fit into a minor release and how many minor releases fit into a major release
13:47:26*alexdaguy joined #nim
14:33:10*beholders_eye joined #nim
14:41:00*skippy8 quit (Ping timeout: 276 seconds)
14:55:23*skippy8 joined #nim
15:03:44FromDiscord<Robyn [She/Her]> In reply to @nnsee "the real question is": how is that a question?
15:38:17FromDiscord<nnsee> In reply to @battery.acid.bubblegum "how is that a": i was pointing out the silliness of comparing version numbers like that
15:38:26FromDiscord<nnsee> not a serious question
15:38:27FromDiscord<Robyn [She/Her]> oh
15:38:35FromDiscord<Robyn [She/Her]> sorry i couldn't tell :p
15:38:46FromDiscord<nnsee> sorry
15:38:55FromDiscord<Robyn [She/Her]> nah don't apologise
15:39:08FromDiscord<Robyn [She/Her]> texting is a lossy medium for communication
15:45:35*alexdaguy quit (Quit: ded)
15:45:41FromDiscord<frankharwaldgmx.de_40301> sent a long message, see https://pasty.ee/lWdRyDom
15:47:55FromDiscord<frankharwaldgmx.de_40301> I'm invoking koch as "./koch boot --cpu:arm64 --os:linux" but regardless it always produces an x86_64 binary. (objdump & file both tell so & a xxd hexdump also look like it)
15:47:55FromDiscord<leorize> koch does not support cross bootstrap
15:49:46FromDiscord<leorize> also, are there any reasons the prebuilt binaries would not work for you?
15:50:17FromDiscord<frankharwaldgmx.de_40301> @leorize oh, I didn't realize that, it didn't say so anywhere in the docs & by the glance at the code I had it looked koch.nim might be able to do so by simply passing further command parameters down to the nim when invoking it. But thanks that clarifies a lot.
15:50:24FromDiscord<leorize> https://github.com/nim-lang/nightlies/releases \<- arm64 binaries are built daily
15:51:37FromDiscord<frankharwaldgmx.de_40301> So nim has arm64 nightly binaries but none in the stable download section? ok
15:52:22FromDiscord<leorize> it's a website problem
15:52:32FromDiscord<leorize> the binaries are built for all versions, + macOS
15:53:04FromDiscord<leorize> no one has fixed https://github.com/nim-lang/nightlies/releases
15:53:14FromDiscord<leorize> no one has fixed https://github.com/nim-lang/website/issues/282
15:53:39FromDiscord<frankharwaldgmx.de_40301> Another: I was also trying to compile it on the Raspi 4 itself. Turns out it doesn't work anymore since debian dropped the old pcre library entirely. The net result is that all major distros are stuck at about nim 1.6.x & it's also near impossible to build it on recent debian testing except wrangling it to install old deprecated devel packages
16:10:10FromDiscord<frankharwaldgmx.de_40301> sent a long message, see https://pasty.ee/QmwXkZgH
16:11:40FromDiscord<leorize> you don't need nim to compile nim from source
16:12:10FromDiscord<leorize> just run `./build_all.sh`, it will build the bootstrap compiler then compile nim + tools
16:12:24FromDiscord<leorize> all you need is just a C compiler
16:16:21FromDiscord<frankharwaldgmx.de_40301> I also tried ./build_all.sh on the target machine itself (aarch64, e.g. regular compiling without any cross-compiling options) - didn't work either. It always fails with a "ci/funs.sh: line 52: config/build_config.txt: No such file or directory" or "ci/funs.sh: line 53: nim_csourcesHash: unbound variable" error messages before starting to do anything.
16:17:26FromDiscord<leorize> did you clone from git or did you use the source archive?
16:19:09FromDiscord<frankharwaldgmx.de_40301> I used the source archive
16:19:34FromDiscord<leorize> you should open an issue in nim repo for that
16:20:02FromDiscord<leorize> you can manually run `./build.sh` first to build the bootstrap compiler
16:20:11FromDiscord<leorize> which will be placed in `bin/nim`
16:20:28FromDiscord<leorize> use that to build koch, then compiler, then tools
16:20:42FromDiscord<leorize> you should add `bin` to `PATH` for that
16:23:12FromDiscord<frankharwaldgmx.de_40301> Just checked: ./build_all.sh also fails to regularly compile on x86_64 Arch (which has all development files & headers installed by default). Weird, feeld like I'm missing something.
16:24:54FromDiscord<leorize> it's optimized for use when you actually clone the repo from git
16:25:12FromDiscord<leorize> the source archive is missing the required bits, which shows you how no one tests it...
16:30:55FromDiscord<frankharwaldgmx.de_40301> ok, gonna check out if the git repo works
16:35:16FromDiscord<frankharwaldgmx.de_40301> So nim from the source archive ftbfs because it's imply missing a single file: config/build_config.txt
16:36:06FromDiscord<frankharwaldgmx.de_40301> but it compiles just fine from the git repo
16:42:19*perro quit (Ping timeout: 268 seconds)
16:46:23*perro joined #nim
16:57:47FromDiscord<frankharwaldgmx.de_40301> ok thx, gotta go
16:59:30*perr_ joined #nim
17:00:04*perro quit (Ping timeout: 260 seconds)
17:04:33*beholders_eye quit (Ping timeout: 245 seconds)
17:07:57*skippy8 quit (Ping timeout: 252 seconds)
17:14:14*perr_ quit (Ping timeout: 260 seconds)
17:14:56*perro joined #nim
17:16:09Amun-Raiirc ./build_all.sh worked fine on arch last month I run that inside my arch vm
17:20:55FromDiscord<spotlightkid> You need to copy `config/build_config.txt` from the repo to `config/` first.
17:22:29FromDiscord<spotlightkid> matrix-irc bridge dropped the first of my last two messages \:-(
17:25:51Amun-Rahow do you see message wasn't delivered?
17:29:31strogon14I'm on both matrix and irc
17:30:33strogon14my first message was in reply to you:
17:30:33strogon14"well, yes, from inside a repo checkout. but not from an extracted source distribution (e.g. https://nim-lang.org/download/nim-2.2.4.tar.xz)."
17:32:27Amun-RaI see
17:34:25FromDiscord<leorize> there's no matrix-irc bridge anymore
17:34:26FromDiscord<leorize> it's matrix -\> discord -\> irc
17:34:26FromDiscord<spotlightkid> using discord for floss projects is just so stupid.
17:35:07FromDiscord<leorize> tell me about it
17:35:20FromDiscord<leorize> but it is true that discord is where people are (even if they're wrong)
17:35:31FromDiscord<hawkey5212> is there any way to get the compiler to raise an error on an implicit return? just wasted a significant part of my day chasing down a bug that weaseled its way in via rebase, and instead of returning a valid value, it returned the default value because a line was dropped in the rebase.
17:41:08Amun-Rahawkey5212: --warningAsError:ProveInit:on
17:41:46Amun-Radunno whether that'll make stdlib fail on compile
17:41:46FromDiscord<hawkey5212> cheers
17:41:59Amun-Rabut you can turn on the warning in that case
17:44:18FromDiscord<hawkey5212> hmmm. didn't seem to work. implicit default value returns are still getting through the compiler.
17:45:01Amun-Rahmm, works here
17:45:28Amun-Raah, it works only in the case result is not initialized
17:45:35Amun-Ramy bad
17:46:38FromDiscord<hawkey5212> What's the idea behind having `result` as this magic variable? I'm sure there's a good reason behind it, but all it's done for me is to cause pain.↵↵When does having this magic variable come in handy?
17:50:57Amun-Rahawkey5212: this is one my use cases: single assign instead of two returns / additional indent: https://dpaste.com/GP2KE8QVA
17:51:45*skippy8 joined #nim
17:54:07FromDiscord<hawkey5212> https://dpaste.com/8TBKZKSQS↵↵Isn't that better anyway?
17:54:17Amun-Radon't set result and warningAsError + ProveInit:on will save your a…
17:54:39Amun-Rahawkey5212: I like to return early and keep indent level low
17:55:44FromDiscord<hawkey5212> indent level doesn't change, and return occurns at same point, though?
17:56:17Amun-Rahawkey5212: 'ident.append_version' is one indent level deeper
17:56:23Amun-Rathat's just my code style
17:56:40Amun-RaI won't change it in a forseable future ;)
17:56:47FromDiscord<leorize> it's a part of the pascal/modula-3 lineage↵(@hawkey5212)
17:58:58FromDiscord<ieltan> In reply to @hawkey5212 "What's the idea behind": `result` enable the compiler to make optimizations which avoids copies
17:59:22FromDiscord<ieltan> NRVO iirc
18:01:11FromDiscord<hawkey5212> I could believe that it would make it _easier_ to write these optimisations into the compiler, but I highly doubt that having this magic variable is a _requirement_ for these optimisations.
18:02:28FromDiscord<ieltan> I think you're correct but that it would make the optimization more complex
18:03:36FromDiscord<hawkey5212> Short of convincing the project to get rid if this magic variable, what can be done to basically remove it from a project? e.g. "whenever it's detected that `result` is implicitly used, raise an error"
18:04:20FromDiscord<leorize> use a linter
18:04:31FromDiscord<leorize> except none exists atm afaik
18:05:30FromDiscord<ieltan> Ehh in theory you can use term-rewriting macros as a linter and check if any variable is called 'result'
18:06:09FromDiscord<ieltan> In practice, pretty sure you'll give up and just deal with it™️
18:06:28FromDiscord<hawkey5212> no `--implicitReturn:off` or anything like that?
18:07:00FromDiscord<ieltan> You can make a RFC for it
18:07:01FromDiscord<hawkey5212> In reply to @ieltan "In practice, pretty sure": https://tenor.com/view/smiles-frustrated-sad-emoji-gif-25369804
18:07:17FromDiscord<ieltan> I don't think it's that complicated to implement
18:07:32FromDiscord<hawkey5212> In reply to @ieltan "You can make a": Sounds like the way to go.
18:08:45FromDiscord<ieltan> Is it really that bad? I never really had issues with it
18:11:14*perro quit (Ping timeout: 260 seconds)
18:11:52*perro joined #nim
18:12:52FromDiscord<hawkey5212> sent a long message, see https://pasty.ee/jDtRYtyG
18:12:59FromDiscord<leorize> it does require a bit of reframing to use
18:13:56FromDiscord<ieltan> In reply to @hawkey5212 "I mean, yes, obviously.": Oh, lol
18:14:16FromDiscord<leorize> people are mostly used to C-style return-only languages, so writing code that takes advantage of `result` is not well-ingrained
18:14:23FromDiscord<ieltan> Are you doing ffi or something?
18:15:03FromDiscord<ieltan> `result` should be zero mem'd fwiw
18:15:28FromDiscord<ieltan> But I dont think it's the issue
18:18:04FromDiscord<hawkey5212> nah, nothing like that. Just... weirded out by the _wrong_ness of it.
18:18:27FromDiscord<ieltan> In reply to @leorize "people are mostly used": it's ironic because after the compiler is done with NRVO the function is quite c-style
18:19:33FromDiscord<hawkey5212> "NRVO"?
18:19:51FromDiscord<ieltan> The compiler kinds of lies to you which is why it's probably confusing
18:20:10FromDiscord<ieltan> In reply to @hawkey5212 ""NRVO"?": named return value optimization
18:20:44*perro quit (Ping timeout: 260 seconds)
18:20:53FromDiscord<leorize> fwiw, the compiler can do nvro but that doesn't necessarily mean it would
18:21:26*perro joined #nim
18:23:54FromDiscord<hawkey5212> okay, looking into it, NVRO being straight forward without having a magic `return` seems to be the class of optimization that is on the easier end of the spectrum.
18:25:37FromDiscord<ieltan> sent a code paste, see https://play.nim-lang.org/#pasty=ZxQWvJTZ
18:25:52FromDiscord<hawkey5212> I mean, compiler engineering is fucking _up there_ in terms of the level of engineering and big-brains is involved, but if you can do the sort of optimisations that are kinde "nothing special" to us plebs, i can't imagine it being that difficult to manipulate the symbles and graphs such that the return variable is threaded through in a zero-copy manner.
18:26:10FromDiscord<leorize> `result` is mostly an artifact of the Writh lineage
18:27:01FromDiscord<leorize> I'd say it's more taste-driven than technical
18:28:37FromDiscord<ieltan> In reply to @ieltan "In my understanding, if": It might be easier to get what you want @hawkey5212. I think if you set c as the calling convention it would disable NRVO
18:28:41FromDiscord<ieltan> I'm not sure tho
18:29:07FromDiscord<leorize> they don't want the result variable
18:29:12FromDiscord<ieltan> It's also quite a hack but it's probably one of the less ugly ones
18:29:20FromDiscord<leorize> c calling convention doesn't do anything wrt that
18:29:47FromDiscord<ieltan> In reply to @leorize "they don't want the": Because they get data corruption, not sure how
18:30:23FromDiscord<leorize> as they said, it's an uncaught logic bug from rebasing
18:31:10FromDiscord<leorize> in return-only or init-mandatory languages, the compiler would yell at you for not initializing or returning
18:31:42FromDiscord<leorize> in their case, it turned into `return default(T)`, causing corruption
18:33:09FromDiscord<hawkey5212> speaking purely to taste: I feel there is merit to the claim that having implicit result is an objectively bad engineering feature of the language, such as for the subtle data corruption bug it can let in, that i mentioned earlier.
18:33:54FromDiscord<leorize> it's a set of tradeoffs
18:34:24FromDiscord<leorize> if the issue is that you forgot to set `result`, just slap `{.requiresInit.}` on your procs
18:40:05Amun-Rapush: requiresInit
18:41:38FromDiscord<hawkey5212> In reply to @Amun-Ra "push: requiresInit": so if i put `{.push: requiresInit.}` at the top of all/root file of project, that sohuld effectively slash `result` as a magic variable?
18:46:18FromDiscord<leorize> it wouldn't
18:46:34FromDiscord<leorize> it would only force your result to be initialized
18:46:49FromDiscord<ieltan> In reply to @leorize "in their case, it": lol
18:47:11FromDiscord<leorize> but I'd suggest learning how to best use result, it's a great language feature imo
18:48:46*perro quit (Ping timeout: 265 seconds)
18:49:45*perro joined #nim
19:07:52FromDiscord<hawkey5212> sent a long message, see https://pasty.ee/TxflkTEu
19:08:39FromDiscord<leorize> it is, in fact, controversial
19:09:08FromDiscord<hawkey5212> The feature or my statement?
19:09:19FromDiscord<leorize> your opinion
19:10:00FromDiscord<leorize> the loudest complaint was from status (nim major sponsor) iirc
19:10:44FromDiscord<hawkey5212> "complaint" as in...?
19:10:59FromDiscord<leorize> they had the same statements
19:11:18FromDiscord<leorize> they still do, if you follow #internals
19:11:34FromDiscord<leorize> never budged Araq or the community opinion, though
19:14:01*perro quit (Ping timeout: 268 seconds)
19:14:45FromDiscord<hawkey5212> I didn't say it isn't controversial. I said that I don't believe it should be controversial.
19:14:47*perro joined #nim
19:18:10FromDiscord<hawkey5212> And if araq and the community drive the direction of the language down a path that can be reasonably claimed to be one of flawed engineering, then where is status going to be 5 years from now?
19:18:44FromDiscord<leorize> it's been a little more than 5 and they're still here
19:19:22FromDiscord<leorize> also, "flawed" is mostly your opinion
19:20:12FromDiscord<spotlightkid> for reference\: this is status' stance on this\: https://status-im.github.io/nim-style-guide/language.result.html
19:22:43FromDiscord<ieltan> ngl it does really suck lol
19:22:50FromDiscord<ieltan> the bug i mean
19:25:44FromDiscord<ieltan> imo Nim should at least put a warning for the case where `result = T::default()` cause a bug
19:26:04FromDiscord<ieltan> but ig that's already been talked to death
19:27:17FromDiscord<ieltan> (edit) "T::default()`" => "default(T)`"
19:27:29FromDiscord<ieltan> oops used rust syntax by habit
19:28:45*perro quit (Ping timeout: 252 seconds)
19:30:20FromDiscord<hawkey5212> In reply to @leorize "also, "flawed" is mostly": I think there are many aspects of the language that are objective flawed from an engineering perspective. Every language has them, but I'm constantly surprised by just how prevalent and serious many of them are.
19:31:00FromDiscord<leorize> indeed, the language is full of weird holes that somehow wasn't fixed prior to 2.0
19:31:33*perro joined #nim
19:32:10FromDiscord<hawkey5212> In reply to @ieltan "ngl it does really": It's more than "suck".↵↵In my case, I just lost a but under a day. I was lucky that it didn't do a therac-25 like bug, where everything seems fun until someone dies.
19:34:53FromDiscord<hawkey5212> Those sorts of bugs can come from anywhere. It's a matter of good engineering to stop them before they scalate. Calling something that can be a significant source of such issues a "feature" is an interesting opinion...
19:35:15FromDiscord<lainlaylie> does --experimental:strictDefs get you the compiler warning you're after?
19:37:15FromDiscord<hawkey5212> In reply to @lainlaylie "does --experimental:strictDefs get you": Couldn't find a reference to it. Away from office, but I'll give it a check when I can.
19:39:29*perro quit (Ping timeout: 260 seconds)
19:40:07*perro joined #nim
19:53:21*perro quit (Ping timeout: 248 seconds)
19:54:18*perro joined #nim
20:15:41*perro quit (Ping timeout: 268 seconds)
20:16:06*perro joined #nim
20:37:37*bcksl quit (Ping timeout: 248 seconds)
20:39:17*end quit (Ping timeout: 248 seconds)
20:57:26*bcksl joined #nim
21:02:38*end joined #nim
21:24:17*jjido joined #nim
21:28:16*skippy8 quit (Quit: WeeChat 4.6.3)
21:43:51*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
21:45:31FromDiscord<bostonboston> Is the underlying size of a range the smallest that encapsulates the range?
21:47:07FromDiscord<Elegantbeef> No it's the size of the type the range subranges
21:47:51FromDiscord<bostonboston> So if I use an int literal it'll be size of int?
21:49:44FromDiscord<Elegantbeef> Yes
21:50:33FromDiscord<bostonboston> 👍
22:05:48*perro quit (Ping timeout: 245 seconds)
22:08:06*perro joined #nim
22:24:20*rockcavera joined #nim
22:58:40*perro quit (Ping timeout: 272 seconds)
22:59:35*perro joined #nim
23:50:19*perro quit (Ping timeout: 260 seconds)
23:51:05*perro joined #nim