<< 16-08-2025 >>

00:22:00FromDiscord<saint._._.> In reply to @battery.acid.bubblegum "I'm moving to Nimskull,": Why are you moving to nimskull?
01:45:23*xtr00 quit (Ping timeout: 245 seconds)
01:50:39FromDiscord<Robyn [She/Her]> Friendlier devs and are receptive to feedback and also pleasant folk to talk to↵(@saint._._.)
01:51:16FromDiscord<Robyn [She/Her]> They actually want to push the project in a direction that benefits the language rather than committing hard to poor design choices made in the past
01:59:36FromDiscord<saint._._.> In reply to @Robyn "They actually want to": Interesting
02:03:35*xtr00 joined #nim
02:04:33FromDiscord<Robyn [She/Her]> yeah, also i am personally invested in its success \:P↵↵I can contribute to its ecosystem in a major way!
03:12:42*jkl quit (Quit: Gone.)
03:31:51FromDiscord<albassort> nim 3?
03:32:04FromDiscord<albassort> we just got nim 2
03:36:22FromDiscord<janakali> nim 4 wen?
03:46:55FromDiscord<lainlaylie> skip 4 please, it's unlucky
03:48:55FromDiscord<albassort> NIM死
03:49:16FromDiscord<lainlaylie> 😱
04:32:37FromDiscord<muddmaker> In reply to @Robyn "They actually want to": Isn't the whole point of nimony to not do this?
04:50:32FromDiscord<Robyn [She/Her]> sure, but considering Araq wants Nimony to be backwards compatible as much as possible, idk, doesn't seem too easy↵(@muddmaker)
04:51:26FromDiscord<Robyn [She/Her]> because if you have to support poorly defined features (defined as in, how they were originally implemented) in that state, because fixing it breaks backwards compat... you've already dug a bit of a hole
04:51:44FromDiscord<muddmaker> Well, looking at the nimony repo, there's a v2 plugin for backwards compat which uses the current nim compiler to spit out NIF that goes into the rest of the compiler system
04:53:06FromDiscord<muddmaker> That should, in theory, allow for limited compatibility with existing code and incremental adoption of the new Nim v3 mechanics
04:53:07FromDiscord<Robyn [She/Her]> so now they gotta maintain the cruft of the old compiler alongside the new one, ahh... \:P
04:54:41FromDiscord<muddmaker> It's likely a migration aid and not something that'll have to be around long term
04:55:02FromDiscord<muddmaker> It's not like Nim is as big as .Net with old enterprise codebases sitting around
05:04:54FromDiscord<Robyn [She/Her]> that's true yeah
05:09:55FromDiscord<muddmaker> The biggest thing missing from nimony that I don't see in differences.md is the JS backend
05:10:15FromDiscord<griffith1deadly> also cpp
05:10:19FromDiscord<griffith1deadly> for now
05:11:54FromDiscord<muddmaker> I've at least seen C++ referenced in issues, though
05:12:35FromDiscord<muddmaker> The JS backend actually puts Nim in a unique position, being a low level systems language that can target the web without wasm
05:16:20FromDiscord<griffith1deadly> nim js useless without std libraries
05:16:38FromDiscord<griffith1deadly> and i think no one want to maintain that in core
05:17:09FromDiscord<muddmaker> A lot of modern web app techniques require the frontend and backend to be written in the same languages
05:17:27FromDiscord<muddmaker> But JS sucks on the backend while WASM sucks on the frontend
05:19:11FromDiscord<Robyn [She/Her]> the JS backend is prolly too important not to add to Nimony
05:21:17FromDiscord<griffith1deadly> In reply to @muddmaker "The JS backend actually": and actually using nim js for something harder that just some dom is hell
05:21:39FromDiscord<griffith1deadly> all integration with libraries is just `.importjs.`
05:22:01FromDiscord<griffith1deadly> and you will leave 90 percent of time for correct bindings
05:22:05FromDiscord<griffith1deadly> like with cpp
05:25:37FromDiscord<muddmaker> In reply to @griffith1deadly "and actually using nim": Does this mean that no one should try to make it better?
05:25:49FromDiscord<griffith1deadly> yes
05:26:01FromDiscord<griffith1deadly> use the frontend languages as is
05:26:08FromDiscord<griffith1deadly> javascript and typescript
05:26:42FromDiscord<muddmaker> In reply to @muddmaker "But JS sucks on": Reiterating this
05:26:49FromDiscord<Elegantbeef> Why TS over Nim? 😄
05:27:23FromDiscord<Robyn [She/Her]> that's probably because no-one wants to touch the JS backend↵(@griffith1deadly)
05:27:25FromDiscord<muddmaker> TS is good for working with JS. It's just JS with type annotations. The semantics are identical
05:27:44FromDiscord<Robyn [She/Her]> yeah but JS sucks \:p↵(@griffith1deadly)
05:27:54FromDiscord<Robyn [She/Her]> TS too
05:28:00FromDiscord<Robyn [She/Her]> TS is just JS with types
05:28:15FromDiscord<muddmaker> In reply to @Robyn "that's probably because no-one": If only there were a major rewrite of the Nim toolchain happening where this could be improved...
05:29:50FromDiscord<griffith1deadly> In reply to @Robyn "yeah but JS sucks": then don't write frontend? or use template engines
05:30:19FromDiscord<muddmaker> Tell that to the job market /shrug
05:30:39FromDiscord<griffith1deadly> imagine see nim js in the job market
05:34:32FromDiscord<griffith1deadly> i personally don't like the idea of a version 3 language "core" providing a js backend as well. don't get me wrong, but there should be integration from outside for that, not creating a monolith again like in nim 2
05:37:11FromDiscord<griffith1deadly> and with nim 3 module plugins you already can make nim to js like nim 2
05:42:08*rockcavera joined #nim
05:43:08FromDiscord<muddmaker> I guess the way to know for sure would be to try and implement it and see if nimony needs to change to make it work
06:21:01*skippy8 joined #nim
06:38:12*tiorock joined #nim
06:38:12*tiorock quit (Changing host)
06:38:12*tiorock joined #nim
06:38:12*rockcavera is now known as Guest4062
06:38:12*tiorock is now known as rockcavera
06:39:52*tiorock joined #nim
06:39:52*rockcavera is now known as Guest4296
06:39:52*Guest4296 quit (Killed (lithium.libera.chat (Nickname regained by services)))
06:39:52*tiorock is now known as rockcavera
06:41:31*Guest4062 quit (Ping timeout: 244 seconds)
06:49:49*disso-peach quit (Quit: Leaving)
06:52:12*nils` quit (Ping timeout: 260 seconds)
06:57:32FromDiscord<albassort> is there a nim docs t hat produces ascii output
07:18:12*skippy8 quit (Ping timeout: 244 seconds)
07:18:47*SchweinDeBurg quit (Quit: WeeChat 4.8.0-dev)
07:37:48*jkl joined #nim
07:45:59*SchweinDeBurg joined #nim
08:00:04*skippy8 joined #nim
08:01:06*andy-turner joined #nim
08:10:29*xtr00 quit (Ping timeout: 248 seconds)
08:10:54*xtr00 joined #nim
08:55:49FromDiscord<Zoom> The funny thing about nimdoc is that while it's a mix of md/rst, there's no option to export docs in their native format just stripping the nim code.
09:01:44FromDiscord<heysokam> As with everything tooling in nim, nimdoc is very half-baked
09:52:27*FromDiscord quit (Read error: Connection reset by peer)
09:54:14*FromDiscord joined #nim
10:29:19FromDiscord<randomstranger0812> What would be nice would be wasm support
10:37:53*nils` joined #nim
11:10:50*Guest64 joined #nim
11:11:55*Guest64 quit (Client Quit)
11:12:00FromDiscord<heysokam> I'd argue that a general laser-focus on tooling, in general, would be nice↵Wasm and everything in between↵Instead we keep chasing the next new big feature 🙁
11:16:54*nils` quit (Ping timeout: 244 seconds)
11:18:01*beholders_eye joined #nim
11:40:14*beholders_eye quit (Ping timeout: 252 seconds)
11:42:15*beholders_eye joined #nim
11:46:18FromDiscord<steamhacker_1837> If I were to create a Nim-native POSIX library, would it benefit the Nim community? And would there be sufficient demand?
11:47:03FromDiscord<steamhacker_1837> (edit) "benefit" => "helpful to"
11:52:25*anddam quit (Server closed connection)
11:52:43*anddam joined #nim
11:56:00*ttydes joined #nim
12:03:27*oisota quit (Quit: Ping timeout (120 seconds))
12:03:48*oisota joined #nim
12:29:18FromDiscord<albassort> In reply to @steamhacker_1837 "If I were to": feel like that might be useful to someone but by the time you're using low level posix stuff you're probably already using other c things
12:29:39FromDiscord<albassort> it would be most beneficial to the NLVM project because they have yet to work out clang stuff
12:51:28*om3ga quit (Ping timeout: 240 seconds)
12:53:41*beholders_eye quit (Ping timeout: 248 seconds)
12:54:01*om3ga joined #nim
12:55:29*beholders_eye joined #nim
13:04:16FromDiscord<heysokam> In reply to @steamhacker_1837 "If I were to": sounds like a project that you should do for your own learning and sense of realization
13:04:59FromDiscord<heysokam> saying that because implementations in C exist, and its platform dependent, so seeing the value in it might be hard↵Unless you do it because you really want to learn it
13:25:35*Guest10 joined #nim
13:25:35*Guest10 quit (Client Quit)
13:29:42FromDiscord<lainlaylie> it would be cool to be able to say "we have our own posix library"
13:30:47*via quit (Server closed connection)
13:30:54*via joined #nim
13:48:48*andy-turner quit (Ping timeout: 244 seconds)
13:48:48*andy-turner_ joined #nim
13:57:42FromDiscord<aintea> In reply to @heysokam "I'd argue that a": I believe that a language cannot go real bad as long as it has rock solid tooling
13:57:46FromDiscord<aintea> Just look at gleam
13:57:52FromDiscord<aintea> Rock solid tooling
13:57:54FromDiscord<aintea> Mid language
13:58:05FromDiscord<aintea> Still appreciated by most that use it and by those that don't use it
14:01:49*nils` joined #nim
14:05:49FromDiscord<thearchivalone> Today, I'm learning how to implement an sqlite database into my code
14:21:48FromDiscord<Robyn [She/Her]> In reply to @aintea "I believe that a": yeah, Nim's tooling is often agreed to be the worst part of the language
15:39:22*xolitude joined #nim
15:54:15FromDiscord<griffith1deadly> In reply to @battery.acid.bubblegum "yeah, Nim's tooling is": ||brainfuck lsp|||
15:57:18*rockcavera is now known as Guest1752
15:57:18*tiorock joined #nim
15:57:18*Guest1752 quit (Killed (lead.libera.chat (Nickname regained by services)))
15:57:18*tiorock is now known as rockcavera
15:58:24xolitudewhen trying to build nim 2.2.4 and running "./koch boot -d:release" and "./koch tools" i get this error: https://pbin.nadeko.net/?f00dc4863dcfcc69#HasP6jp5G4KZXKa3doGjq3PiXesfYLFYU2aysv42uJ9S
15:59:02xolitudecan anybody provide some insight on why this happens?
15:59:27*tiorock joined #nim
15:59:27*rockcavera is now known as Guest6332
15:59:27*Guest6332 quit (Killed (lithium.libera.chat (Nickname regained by services)))
15:59:27*tiorock is now known as rockcavera
16:12:31FromDiscord<leorize> your DNS is broken?
16:27:36xolitudeDNS works
16:30:25FromDiscord<leorize> can you ping github.com?
16:40:33xolitudeyep
16:40:54xolitudei figured out the problem tho, i built nim with wifi off
16:42:19FromDiscord<leorize> lol
17:17:22FromDiscord<albassort> leo if i wanted to make a super simple nim LSP
17:17:43FromDiscord<albassort> all it does it track the definitions of procs, and templates, when possible
17:17:48FromDiscord<albassort> so gd works
17:18:01FromDiscord<albassort> (edit) "all it does it track the definitions of procs, ... andmacros" added "templates," | "templates," => "macros"
17:18:18FromDiscord<albassort> maybe return types when possible, it has no compiler
17:18:30FromDiscord<albassort> does this lexer exist or would i need to make my own
17:20:52FromDiscord<leorize> you can just use the compiler's parser
17:21:15FromDiscord<leorize> it's small and gives you a bunch of nimnode-like
17:21:29FromDiscord<leorize> then scan through that to capture your procs and stuff
17:21:38FromDiscord<leorize> no compiling involved, just parsing
17:22:33FromDiscord<albassort> I find that the because nim 's too much of a shit show and incremental compiling doesn't really a thing, the lsps just aren't practical to run
17:22:51*skippy8 quit (Quit: WeeChat 4.6.3)
17:23:05FromDiscord<leorize> if you only use a parser and work on untyped AST it's pretty reasonable
17:23:13FromDiscord<albassort> yeah im sure that would be fine
17:23:26FromDiscord<albassort> if its slow i could just write my own shouldn't be too hard
17:23:32FromDiscord<leorize> tree-sitter-nim is also an option as a parser, but obviously it won't be as accurate as the real thing
17:23:53FromDiscord<albassort> i find it has an issue with folds in nvim sometimes
17:23:57FromDiscord<leorize> I do have to wonder if anyone made a tree-sitter powered lsp
17:24:00FromDiscord<albassort> it kinda breaks seems fragile
17:24:48FromDiscord<albassort> of course with macros and templates making the lsp works becomes pretty unsustainable
17:25:13FromDiscord<leorize> you're probably seeing this\: https://github.com/tree-sitter/tree-sitter/issues/4534↵(@albassort)
17:25:49FromDiscord<leorize> for the nim grammar it basically meant that edits after a `var` can temporary corrupts the syntax tree
17:25:50*skippy8 joined #nim
17:25:54FromDiscord<leorize> pretty annoying
17:27:42FromDiscord<leorize> you can also blame nim for being such a pita to parse, though 😛
17:29:46FromDiscord<albassort> hmm
17:30:23FromDiscord<albassort> i wrote an html parser that was going to be a portable handlebars parser
17:30:33FromDiscord<albassort> is there such a thing as an easy parser?
17:30:55FromDiscord<albassort> well, i mean, for human readable f ormats
17:58:47FromDiscord<Trayambak> "Easy parser" is an oxymoron unless it's a key value parser↵(@albassort)
19:02:28FromDiscord<0xfab_10> s-expressions and rpn are pretty trivial
19:04:18FromDiscord<leorize> LR(1) languages are relatively easy, all things considered↵(@albassort)
19:08:09FromDiscord<0xfab_10> parsing is kinda the easiest part, unless you want error recovery
19:09:53*xolitude quit (Quit: Leaving)
19:24:56*tiorock joined #nim
19:24:56*tiorock quit (Changing host)
19:24:56*tiorock joined #nim
19:24:56*rockcavera quit (Killed (lead.libera.chat (Nickname regained by services)))
19:24:56*tiorock is now known as rockcavera
19:27:03*tiorock joined #nim
19:27:03*tiorock quit (Changing host)
19:27:03*tiorock joined #nim
19:27:03*rockcavera is now known as Guest2683
19:27:03*tiorock is now known as rockcavera
19:29:48*Guest2683 quit (Ping timeout: 244 seconds)
19:37:28*skippy8 quit (Quit: WeeChat 4.6.3)
19:46:27*amadaluzia joined #nim
19:50:59*amadaluzia quit (Ping timeout: 244 seconds)
20:10:49*amadaluzia joined #nim
20:20:54*amadaluzia quit (Ping timeout: 252 seconds)
20:28:27*amadaluzia joined #nim
20:35:33*amadaluzia quit (Ping timeout: 248 seconds)
20:36:33*amadaluzia joined #nim
21:32:15*amadaluzia quit (Ping timeout: 244 seconds)
21:52:12*FromDiscord quit (Remote host closed the connection)
21:52:25*FromDiscord joined #nim
21:52:55*andy-turner_ quit (Quit: Leaving)
21:59:10*FromDiscord quit (Remote host closed the connection)
21:59:23*FromDiscord joined #nim
22:52:27*beholders_eye quit (Quit: WeeChat 4.6.3)
23:01:31FromDiscord<intellij_gamer> In reply to @albassort "all it does it": https://github.com/ire4ever1190/nimsight/↵Sounds similar to how my lsp works↵Just parses to get the outline
23:30:26*marcus quit (Server closed connection)
23:30:55*marcus joined #nim