<< 20-11-2025 >>

00:01:23*beholders_eye quit (Ping timeout: 260 seconds)
00:13:54FromDiscord<alexander888alexander> this kind of stuff is common for big servers
00:14:17FromDiscord<alexander888alexander> unfortunately
00:18:10*Lord_Nightmare quit (Quit: ZNC - http://znc.in)
00:21:03*Lord_Nightmare joined #nim
01:07:46*xet7 quit (Remote host closed the connection)
02:24:35*Mister_Magister quit (Ping timeout: 244 seconds)
02:24:39*Mister_Magister_ joined #nim
02:27:44*Mister_Magister_ is now known as Mister_Magister
03:08:21*leoqi joined #nim
05:50:40*SchweinDeBurg quit (Quit: WeeChat 4.8.0-dev)
06:15:16*SchweinDeBurg joined #nim
06:22:25*leoqi quit (Remote host closed the connection)
06:22:34*leoqi joined #nim
06:27:59*leoqi quit (Ping timeout: 250 seconds)
07:23:30*Mister_Magister quit (Excess Flood)
07:25:08*Mister_Magister joined #nim
08:06:50*beholders_eye joined #nim
08:47:04*beholders_eye quit (Ping timeout: 246 seconds)
08:48:46*beholders_eye joined #nim
09:14:25*xtr00 quit (Ping timeout: 264 seconds)
09:20:02*xtr00 joined #nim
09:36:33*ehmry quit (Ping timeout: 260 seconds)
10:01:52*xtr00 quit (Read error: Connection reset by peer)
10:07:39*xtr00 joined #nim
10:12:13FromDiscord<alehander92> hey, is @alaviss in this server
10:13:20FromDiscord<alehander92> @leorize0713 are you alaviss (sorry if i am confused 😄 )
10:13:59FromDiscord<alehander92> @leorize are you alaviss (sorry if i am confused 😄 )
10:15:18FromDiscord<leorize> yea, but I'm more active on either disruptek channel or skull's channel↵(@alehander92)
10:15:46FromDiscord<alehander92> In reply to @leorize "yea, but I'm more": ah, i see; we wanted to use `tree-sitter-nim` in `codetracer`, and i wondered if i could ask several questions
10:16:24FromDiscord<alehander92> but not sure where is the best place, maybe pm or here or there
10:17:20FromDiscord<leorize> here is fine, feel free to ask
10:21:19FromDiscord<leorize> if you want to pm, hit me up on matrix, I'm not active on discord
10:22:54FromDiscord<alehander92> ok, here sounds good
10:26:11FromDiscord<alehander92> sent a long message, see https://pasty.ee/dAWlmfMl
10:26:44FromDiscord<alehander92> (edit) "https://pasty.ee/jPKWVRzv" => "https://pasty.ee/EePCAKmP"
10:28:29FromDiscord<alehander92> 2) it seems the `rewrite` branch is stable from your comments, with a small string issue, but we are not really depending on those kinds of nodes currently: if one needs mostly more high level things like branches/loop/function nodes: i assume one can already use it?
10:28:47FromDiscord<leorize> that's correct, I don't care too much about the software that employs the grammar, but if you improve it in anyway, I'd prefer that you contribute back↵(@alehander92)
10:28:59FromDiscord<alehander92> 3) is it possible that nim 2.x substantally changes things and breaks something in the grammar?
10:29:27FromDiscord<leorize> the rewrite branch has already been merged back to main (squashed), the branch remains only as a historical artifact↵(@alehander92)
10:30:12FromDiscord<alehander92> In reply to @leorize "the rewrite branch has": ahh i didnt realize that from the PR; ok
10:30:18FromDiscord<leorize> nim 2.x changes are semantics-oriented, the grammar is mostly unaffected↵(@alehander92)
10:31:00FromDiscord<alehander92> yes, we mostly use a subset of it so i also doubt it would be a problem even if there are smaller changes
10:31:25*ehmry joined #nim
10:32:13FromDiscord<alehander92> ok, thank you: about the size, i assume that now it's expected to be ~41 MiB
10:33:05FromDiscord<leorize> yep, there's not much meaningful size reduction that can be done from my side, but if you figure something out please contribute it back
10:34:08FromDiscord<alehander92> In reply to @leorize "yep, there's not much": i am not sure we will have the bandwidth, but surely if someone finds out something i assume he will!
10:35:14FromDiscord<alehander92> ok; we need to use it as a crate: we can point to your github i assume; do you want to publish a crate (or us to publish a crate and give you admin/owner rights on it, if you don't want to bother)? or if you're not interested, we can stay with the git/github option i assume
10:36:07FromDiscord<alehander92> (edit) "a crate" => "it?" | "a" => "the" | "(or us to publishthecrate ... and" added "on crates.io"
10:36:24FromDiscord<leorize> I'm not interested in maintaining or publishing a rust crate, so you will have to make do with the repo
10:37:11FromDiscord<leorize> most consumers are moving towards a wasm loader + wasm form of the grammar, which might be a decent path for your product, seeing that it's a kind of editor/debugger combo
10:37:32FromDiscord<alehander92> i think it's already auto-maintained: as your binding; one only needs to do `cargo publish`, but not doing that is perfectly ok indeed, we also havent published our tracepoint grammar one 😄
10:37:58FromDiscord<alehander92> In reply to @leorize "most consumers are moving": yes, i saw that in the difftastic PR, i didnt know of it before IIRC
10:38:35FromDiscord<alehander92> a colleague actually built some of the grammars/parsers for WASM, as we needed a separate pure-wasm build of db-backend, but we didn't know Zed uses is that way for extensions
10:39:16FromDiscord<leorize> it's very much a manual process where I have to bump the version and manage ts lib versionin the future the various wrappers might be purged from the repo↵(@alehander92)
10:40:05FromDiscord<alehander92> we might do that eventually, if we develop a stable extension-like mechanism, we had just a few languages supported with that backend; but now because we completely changed how our system lang support works, we reuse some of this for it too and yeah, many more parsers and bigger size
10:41:31FromDiscord<alehander92> but it would be good to eventually make those flexible indeed
10:42:14FromDiscord<alehander92> In reply to @leorize "it's very much a": yes that's true: we can do the bureacracy here, but we might suddenly stop, so i assume it's better to just not do it indeed as you say
10:42:30FromDiscord<alehander92> thank you a lot for the grammar and libraries!!!
10:44:14FromDiscord<leorize> you're welcome 😄. do let me know if the grammar works well enough for your use cases
10:52:54FromDiscord<systemblue_2010> sent a long message, see https://pasty.ee/APyjfLPb
10:54:09FromDiscord<systemblue_2010> but GPL, LGPL, AGPL, MPL makes developer who use there library to open source code↵but it makes developer to avoid these libraries
10:54:17FromDiscord<systemblue_2010> (edit) "library" => "libraries"
11:35:49FromDiscord<leorize> MPL is not "viral", it does not require the combined product to be open sourced
12:04:16*beholders_eye quit (Ping timeout: 264 seconds)
12:21:58FromDiscord<systemblue_2010> In reply to @systemblue_2010 "I think Nim library": except MPL
12:33:27*beholders_eye joined #nim
12:58:32*beholders_eye quit (Ping timeout: 244 seconds)
13:09:29*beholders_eye joined #nim
14:13:54*xet7 joined #nim
14:26:59FromDiscord<pmunch> Hmm, I've found a very strange bug with term rewriting templates
14:27:52FromDiscord<pmunch> sent a code paste, see https://play.nim-lang.org/#pasty=oYgxwJPG
14:34:01FromDiscord<pmunch> Damn, this is worse than I though..
14:34:12FromDiscord<pmunch> It's very arbitrary where it cuts off
14:34:22FromDiscord<pmunch> Tried to move an echo around to see
14:34:40FromDiscord<pmunch> And it's almost on a specific line of code where it stops working..
14:38:57FromDiscord<pmunch> > To avoid putting the compiler into an infinite loop, there is a hard limit on how many times a single term rewriting macro can be applied. Once this limit has been passed, the term rewriting macro will be ignored.
14:39:07FromDiscord<pmunch> God damn it
14:39:09FromDiscord<pmunch> WHY?!
14:54:05*beholders_eye quit (Ping timeout: 264 seconds)
15:02:47FromDiscord<pmunch> Found the offending line https://github.com/nim-lang/Nim/blob/devel/compiler/hlo.nim#L67
15:03:08FromDiscord<pmunch> Commented that out and built a local copy of Nim, now everything works..
15:18:08*beholders_eye joined #nim
15:22:27*xtr00 quit (Ping timeout: 255 seconds)
15:24:38FromDiscord<pmunch> Hmm, it seems like what's supposed to be a recursion limit isn't properly reset. So if you have more than 300 statements in a proc it just stops
15:25:20FromDiscord<pmunch> The counter should probably be reset before this line: https://github.com/nim-lang/Nim/blob/0f7b37846773f3193f29e628f75086788ac93fe5/compiler/hlo.nim#L81
15:26:06*xtr00 joined #nim
15:35:25*xtr00 quit (Ping timeout: 264 seconds)
15:41:20*xtr00 joined #nim
15:47:25*xtr00 quit (Ping timeout: 245 seconds)
15:51:24*xtr00 joined #nim
15:58:38*xtr00 quit (Ping timeout: 260 seconds)
16:01:12*xtr00 joined #nim
16:03:37*beholders_eye quit (Ping timeout: 264 seconds)
16:15:23FromDiscord<pmunch> Or possibly just be increased before this line: https://github.com/nim-lang/Nim/blob/0f7b37846773f3193f29e628f75086788ac93fe5/compiler/hlo.nim#L93
16:17:06*leoqi joined #nim
16:24:53*xtr00 quit (Ping timeout: 260 seconds)
16:25:40*xtr00 joined #nim
16:34:49*xtr00 quit (Ping timeout: 264 seconds)
16:40:00*xet7 quit (Remote host closed the connection)
16:45:32*xtr00 joined #nim
16:53:58*xtr00 quit (Read error: Connection reset by peer)
16:54:58*beholders_eye joined #nim
16:58:56*xtr00 joined #nim
17:06:45*xtr00 quit (Read error: Connection reset by peer)
17:09:52*xtr00 joined #nim
17:23:37*leoqi quit (Ping timeout: 250 seconds)
17:38:14*xtr00 quit (Read error: Connection reset by peer)
17:41:12FromDiscord<mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=CHjkjRll
17:41:15FromDiscord<mjsdev> Why tho?
17:44:22*xtr00 joined #nim
18:14:24*beholders_eye quit (Ping timeout: 252 seconds)
18:33:58FromDiscord<nasuray> > as it accesses 'this' which is a global using GC'ed memory
18:41:02*xtr00 quit (Read error: Connection reset by peer)
18:44:23*xtr00 joined #nim
19:16:34FromDiscord<mjsdev> But `this` is part of the environment to a closure which is not GCed.
19:19:04FromDiscord<mjsdev> Well, technically it is GCed, but not until the main thread exits (as afar as I understand)... more importantly though... I don't understand the point of {. gcsafe .} if it's not telling the compiler, "despite what you believe, this is gcsafe."
19:21:43FromDiscord<mjsdev> Like, if the compiler is just gonna do whatever it wants based on whether or not it determines it to be GC safe... what's the point?
19:29:17*Lord_Nightmare quit (Quit: ZNC - http://znc.in)
19:33:28*Lord_Nightmare joined #nim
20:26:03*xtr00 quit (Read error: Connection reset by peer)
20:28:31*xtr00 joined #nim
20:33:55*xtr00 quit (Ping timeout: 264 seconds)
20:35:27*xtr00 joined #nim
20:41:43*xtr00 quit (Ping timeout: 264 seconds)
20:47:38*xtr00 joined #nim
20:51:40FromDiscord<nasuray> In reply to @mjsdev "Well, technically it is": IIUC marking the proc `{.gcsafe.}` is communicating to the compiler that it is...but helpfully it's telling you that's not true. ↵to override you need to use `cast(gcsafe)` see here https://nim-lang.org/docs/manual.html#effect-system-gc-safety-effect
20:52:23FromDiscord<nasuray> the `gcsafe` on procs is otherwise inferred by the compiler
21:02:20FromDiscord<mjsdev> yeah, I tried the cast() thing, tried also just {. gcsafe .} as a block... none of those seem to work. I just turned off threadAnalysis for now, which ironically, still seems to raise such issues, but not the one I'm concerned with, and ones which I would consider otherwise valid.
22:18:31FromDiscord<nasuray> In reply to @mjsdev "yeah, I tried the": You used a cast(gcsafe) block everywhere you accessed gc'ed memory?
22:31:00*xtr00 quit (Read error: Connection reset by peer)
22:53:31FromDiscord<mjsdev> Where it was yelling about.
23:10:12*beholders_eye joined #nim