<< 22-06-2026 >>

00:06:57*Mister_Magister quit (Quit: bye)
00:09:32*Mister_Magister joined #nim
00:24:44*beholders_eye quit (Ping timeout: 249 seconds)
01:51:12FromDiscord<mratsim> In reply to @_timurski "maybe one day ill": just use unicode, not too hard anymore with LLMs
01:52:46FromDiscord<mratsim> I used to do all of that stuff by hand: https://github.com/mratsim/constantine/blob/ea8c268603a5c5f5be479dda9ba27dcbdc51dade/constantine/commitments/eth_verkle_ipa.nim#L81
01:54:46FromDiscord<mratsim> In reply to @emiliajssl "When will Nim migrate": if someone wants to own the docgen, they're very welcome I think
02:44:42*rockcavera quit (Remote host closed the connection)
03:49:00FromDiscord<incelsinister211> h
05:26:43*delian66 joined #nim
05:53:27*delian66 quit (Changing host)
05:53:27*delian66 joined #nim
06:34:36FromDiscord<_timurski> In reply to @mratsim "just use unicode, not": dawg that is not the same at ALL 😭
06:35:01*Skippy8 joined #nim
06:35:14FromDiscord<_timurski> it's too limited
07:31:07FromDiscord<kodiakweb> Compose key exists, and there's a third party windows port of the feature↵Doesn't support every symbol ootb but it's not too hard to map new ones, and mappings aren't too hard to find on gh either. You could also have an llm generate a mapping for whatever symbol sets you need and copy-paste it into your config.
07:31:18FromDiscord<kodiakweb> (edit) removed "third party"
07:32:19FromDiscord<kodiakweb> @_timurski
07:46:52FromDiscord<_timurski> it's just not the same
07:47:28FromDiscord<tangentsoft> In reply to @kodiakweb "Compose key exists, and": If Unicode sufficed, we wouldn’t need MathML (MathJax, ASCIIMath) and math journals would be in HTML, not LaTeX rendered to PDF. One example: where is the subscript B needed for the Boltzmann constant, foundational to physics? Don’t tell me about the HTML ā€œsubā€ element or LaTeX approximations like `k_B`; the argument made was that Unicode suffices. Show me.
07:52:04*Skippy8 quit (Ping timeout: 276 seconds)
08:05:31*Vyrnexis3 joined #nim
08:05:37delian66It has a šŸ’© character though... Someone advocated for it, and it was added. Apparently physicists do not care enough to do so.
08:07:05*Vyrnexis quit (Ping timeout: 248 seconds)
08:07:06*Vyrnexis3 is now known as Vyrnexis
08:07:16delian66or if they do, they may not have the numbers to push for their constants
08:08:01delian66while people that want to write Klingon do
08:19:57*beholders_eye joined #nim
08:30:44FromDiscord<mratsim> In reply to @_timurski "it's too limited": Oh for sure it is. But I find it somewhat more readable than latex formulas within a function doc comments where there is no renderer.
08:46:48FromDiscord<_timurski> In reply to @mratsim "Oh for sure it": typst is much more readable than latex, id recommend giving it a look
09:07:40*delian66 quit (Quit: Client closed)
09:19:46FromDiscord<mratsim> In reply to @_timurski "typst is much more": if you have a math heavy blog post written in typst I'm interested
09:20:24FromDiscord<_timurski> I have a bit of math and physics notes written up in typst
09:20:35FromDiscord<_timurski> I can send some snippets of that later
09:20:54FromDiscord<_timurski> it's like if you asked someone how they would write things intuitively, that's how typst is
09:22:21FromDiscord<_timurski> its also a programming language which allows you to generate things dynamically which I've used a lot when dealing with data
09:29:39FromDiscord<aintea> no way, I just learned that nimony is going to be libc-free
09:30:03FromDiscord<aintea> that's insane work, wish I was good enough to work on the compiler
09:31:47*Skippy8 joined #nim
09:33:57*delian66 joined #nim
09:34:11*deavmi quit (Ping timeout: 268 seconds)
10:14:32*beholders_eye quit (Ping timeout: 265 seconds)
10:36:23*beholders_eye joined #nim
11:38:17*tokyovigilante quit (Ping timeout: 248 seconds)
11:56:14*deavmi joined #nim
12:29:48FromDiscord<nervecenter> In reply to @_timurski "typst is much more": I love Typst so much, I make a ton of my work documentation, hobby tabletop projects, and I even made my NimConf presentation with it. One of the foremost programs where I'm not sure why it needed to be written in Rust, and if they went with the data-oriented Nim style I talked about, they'd have a simpler program with faster feature iteration, plus all the safety and speed.
12:30:54FromDiscord<nervecenter> Maybe I'm oversimplifying things, but they're essentially making a pipeline of language parser, document data structure, and PostScript serializer...Rust makes all of that far more fiddly than it needs to be.
12:31:00FromDiscord<nnsee> why does a project _need_ to be written in any language? it's likely the authors just liked rust and used it as that's what they're comfortable with...
12:31:41FromDiscord<nervecenter> Syntax and semantics matter when you're trying to turn around and build new features, or add to an existing feature set. Especially building upon old code.
12:31:58FromDiscord<nervecenter> I'll stand by that position, I don't believe the meme that languages don't matter.
12:35:00FromDiscord<nervecenter> I think there are a lot of unconsidered organizational intangibles (that probably need to be studied) for how the manner in which data structures and computations are modeled tie into the organizational dynamics and how projects are metered out and managed.
12:35:28FromDiscord<nervecenter> (edit) "for how" => "dealing with"
12:35:40FromDiscord<nervecenter> (edit) "I think there are a lot of unconsidered organizational intangibles (that probably need to be studied) dealing with ... the" added "how"
12:37:24FromDiscord<nervecenter> We already have the term "technical debt" when talking about how a project accrues so many shortcuts, shims, and grafts that it becomes unmanageable for new maintainers.
12:46:57FromDiscord<_timurski> sent a long message, see https://pasty.ee/vhOywdFJ
12:59:25FromDiscord<emiliajssl> sent a long message, see https://pasty.ee/zXZfFVJn
13:35:35FromDiscord<nnsee> i just don't understand the default logic of "typst works well in spite of being written in rust" instead of "typst works well (partly) due to being written in rust"
13:35:50FromDiscord<nnsee> the fact that the latter sounds silly should indicate how silly the former sounds as well
13:40:06FromDiscord<nervecenter> In reply to @emiliajssl "I'll ask the authors": Eh I think we already know, it's got a massive community and a lot of momentum.
13:41:18FromDiscord<nervecenter> In reply to @nnsee "i just don't understand": I didn't say it doesn't work well, I'm saying its pace of feature additions and technical debt accumulation aren't helped by the choice.
13:42:00FromDiscord<nnsee> In reply to @nervecenter "Syntax and semantics matter": it's surprising to hear you say this wrt to rust, because the general consensus seems to be that rust makes safe refactoring much easier than it otherwise would be
13:43:29FromDiscord<nervecenter> Nim does that even better šŸ¤·ā€ā™‚ļø
13:43:55FromDiscord<nnsee> having used both languages extensively i'm not sure that's true, in my experience
13:43:57FromDiscord<nervecenter> Rust can be great while not being the best for the purpose
13:44:37FromDiscord<nervecenter> And just because refactoring in Rust is safe doesn't mean it's simple
13:44:45FromDiscord<nervecenter> Refactoring in Nim is borderline sleepwalking work
13:44:49FromDiscord<nnsee> nim makes it really easy to use hacks to work around a problem, which (at least for me) is the main source of technical debt, while rust forces you to plan your application's behavior in advance and handling the issues as they come up, leading to less debt
13:45:04FromDiscord<nnsee> is my general experience anyways
13:45:09FromDiscord<emiliajssl> Oh wait
13:45:28FromDiscord<emiliajssl> Nim did kinda compile to C first?
13:45:38FromDiscord<emiliajssl> Well transpile
13:45:51FromDiscord<emiliajssl> And then used LLVM?
13:46:07FromDiscord<emiliajssl> Or is it direct
13:46:13FromDiscord<emiliajssl> Or does Rust do the same
13:46:38FromDiscord<nervecenter> In reply to @nnsee "nim makes it really": That's true enough, I just come from functional world so I avoid stuff like that habitually
13:47:09FromDiscord<nervecenter> In reply to @emiliajssl "Nim did kinda compile": Nim compiles to C first then uses any C compile toolchain to make the binary. If you look in .nimcache you can see the compiled modules
13:47:16FromDiscord<nervecenter> It's not intended to be human-readable C
13:47:29FromDiscord<emiliajssl> Ahh
13:47:36FromDiscord<emiliajssl> That's something
13:47:59FromDiscord<emiliajssl> The authors are a bit biased (I think) towards C dependencies šŸ˜›
13:48:01FromDiscord<nnsee> In reply to @emiliajssl "Well transpile": no, you had it right the first time :p
13:48:08FromDiscord<nnsee> compile, not transpile
13:48:24FromDiscord<emiliajssl> But
13:48:27FromDiscord<nervecenter> sorry on Nix it's `.cache/nim`
13:48:35FromDiscord<emiliajssl> In reply to @nnsee "compile, not transpile": Isn't transpiles from Nim to C
13:48:44FromDiscord<emiliajssl> Like language to language
13:49:01FromDiscord<emiliajssl> Compile then from language to bits
13:49:12FromDiscord<emiliajssl> (edit) "transpiles" => "transpile"
13:49:29FromDiscord<emiliajssl> Oh transcompiler
13:49:31FromDiscord<emiliajssl> Bleh
13:49:36FromDiscord<nervecenter> That word causes a lot of consternation
13:49:59FromDiscord<nervecenter> The definition of transpiler is pretty fuzzy and overlaps with compiler significantly
13:50:11FromDiscord<emiliajssl> Owah
13:53:37FromDiscord<nnsee> In reply to @emiliajssl "Isn't transpile from Nim": https://peterme.net/is-nim-a-transpiler.html
13:53:47FromDiscord<emiliajssl> Oh
13:53:48FromDiscord<emiliajssl> Haha
14:08:02*xet7 quit (Quit: Leaving)
14:08:50*xet7 joined #nim
14:09:19*Skippy8 quit (Ping timeout: 264 seconds)
14:38:09*Skippy8 joined #nim
14:51:28*Skippy8 quit (Ping timeout: 256 seconds)
15:04:12*Skippy8 joined #nim
15:08:14*Skippy8 quit (Ping timeout: 245 seconds)
15:09:57FromDiscord<DetermiedNim1> In reply to @nervecenter "The definition of transpiler": Ive always taken compiler to be "turn into instructions for some architecture" and transpiler to be "convert to a different language"
15:10:30FromDiscord<DetermiedNim1> nim -> transpiled (nim to c/cpp/js, toolchain does the compiling)
15:10:43FromDiscord<DetermiedNim1> (edit) "->" => "would" | "wouldtranspiled (nim ... to" added "converts"
15:12:13FromDiscord<DetermiedNim1> compile-time code is compiled because it gets converted to bytecode targeting the nim vm (afaik)
15:12:53FromDiscord<DetermiedNim1> typescript is not compiled because its just converted to javascript
15:14:08FromDiscord<DetermiedNim1> (edit) "converted to" => "turned into"
15:15:23*Skippy8 joined #nim
15:15:39FromDiscord<DetermiedNim1> i guess i can see how at the end of the day because nim eventually gets compiled to instructions (for the c targets) nim is arguably a compiler
15:16:53FromDiscord<DetermiedNim1> In reply to @nnsee "https://peterme.net/is-nim-a-transpiler.html": > the code it outputs is not convertible back to the Nim that created it↵if this is what determines compiler vs transpiler then nim is definetly a compiler
15:18:35FromDiscord<gesee37> In reply to @determiedmech1 "Ive always taken compiler": No quite.↵When you say transpiling you are talking mostly about 1:1 convertions without much work on it↵afaik Nim does some heavy transformations to the code before generating the backend's code, not just replacement while also linking and assembling your different files to make it easy for the toolchains to work with it↵This is compilation
15:18:42FromDiscord<gesee37> (edit) "No" => "Not"
15:19:00FromDiscord<gesee37> (edit) "it↵This" => "it↵That"
15:21:08FromDiscord<gesee37> In reply to @nnsee "having used both languages": Having used Nim and saw and analyzed a lot of Rust (not written much myself though) I would say Nim code (when well written) is way more easier to extend, refactor, etc that Rust
15:21:42FromDiscord<gesee37> The real difference is that Nim is flexible and there is so much way to do something that you may easily shoot yourself
15:22:04FromDiscord<gesee37> While in Rust's there is not so much much options to start with so doing something bad is harder
15:23:58FromDiscord<DetermiedNim1> In reply to @gesee37 "Not quite. When you": yeah i agree with this now
15:24:02*Skippy8 quit (Ping timeout: 248 seconds)
15:24:08FromDiscord<DetermiedNim1> my views have been changed
15:25:00FromDiscord<gesee37> In reply to @gesee37 "Having used Nim and": Especially for multiple dispatch (which is one of my favorite feature of the language) and concepts
15:37:28FromDiscord<kapendev> Shooting yourself is not that hard with rust. Just unwrap and done.
15:38:11FromDiscord<kapendev> Mostly a design issue of that type, but anyway
15:41:39*Skippy8 joined #nim
15:43:18FromDiscord<nervecenter> In reply to @determiedmech1 "Ive always taken compiler": Yeah, my shorthand is basically "Does it compile to a non-intermediate human-writable language as an intermediate step?" We can argue all day about whether or not programs can be written in LLVM IR, but it's intended as a compiler target, so I'd call LLVM-targeting languages compiled. I think Nim is transpiled given the C target, but the C it generates is borderline IR anyways
15:43:43FromDiscord<DetermiedNim1> that makes sense