!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

431 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.144 Servers

Load older messages


SenderMessageTime
20 Mar 2026
@emilazy:matrix.orgemily(also for clarity: not just because you can get it wrong although that would be sufficient by itself, but also because even if you get recording the actual roots right it's quite likely that what you're telling the compiler with the resulting API shape will allow it to make assumptions that can lead to UB crashes)12:42:49
@piegames:flausch.socialpiegamesI mean, envision this: A special wrapper type which handles the manual root declaration, together with a special constructor and a macro that ensure the only way to get such a value is pinned on the stack. I'm daydreaming here, but doesn't sound completely implausible12:46:33
@emilazy:matrix.orgemilydid you read the blog post? :)12:49:07
@emilazy:matrix.orgemilyyou can do safe rooting APIs. it's just hard12:49:23
@emilazy:matrix.orgemily(and some of the obvious designs are broken)12:49:43
@emilazy:matrix.orgemilythat's the part that's not for the faint of heart (but ofc not impossible). in particular though you can run into tradeoffs between the structure of your GC algorithm and how easy it is to use in Rust remotely ergonomically12:50:39
@emilazy:matrix.orgemily(e.g. a moving collector is certainly a bit rough and brings its own constraints, though those aren't particularly fun to interface with in C++ either)12:51:18
@piegames:flausch.socialpiegames
In reply to @emilazy:matrix.org
did you read the blog post? :)
Years ago
12:52:17
@draupnir:lix.systems@draupnir:lix.systems left the room.13:21:43
@patrickdag:matrix.orgPatrick changed their display name from patrickdag to Patrick.14:52:31
@rosssmyth:matrix.org@rosssmyth:matrix.orgThere is memory management toolkit https://www.mmtk.io/16:25:53
@raitobezarius:matrix.orgraitobezarius(yeah lix people looked at it a couple of times)16:26:26
21 Mar 2026
@shalokshalom:kde.orgShalokShalomThere is also https://fil-c.org/12:32:23
@piegames:flausch.socialpiegamesFil-C is awesome12:42:59
@piegames:flausch.socialpiegamesExcept that memory safety is not our main problem with C++12:43:37
@k900:0upti.meK900 I do wonder if cppnix built with fil-c would be 10x slower or less somehow 13:10:06
@shalokshalom:kde.orgShalokShalom I read that compiled stuff becomes significantly slower, and that people use it to detect the issues, and not to run it it production. 13:11:03
@shalokshalom:kde.orgShalokShalom What is? 13:11:18
@raitobezarius:matrix.orgraitobezariusFil-C is not memory safe13:13:45
@raitobezarius:matrix.orgraitobezariusDon't see any interest in that thing13:14:21
@piegames:flausch.socialpiegames
In reply to @shalokshalom:kde.org
What is?
Ergonomics, developer experience, stdlib
13:15:45
@aloisw:kde.orgaloiswIt isn't? Memory safety is basically their headline claim …13:16:04
@piegames:flausch.socialpiegames Like, have you tried writing C++ code? C++ iterators are a work of madness 13:16:32
@qyriad:katesiria.orgQyriad^^^^^13:18:14
@raitobezarius:matrix.orgraitobezariusit doesn't solve data races, it doesn't any sort of reasoning over mutable aliasing13:18:16
@raitobezarius:matrix.orgraitobezariusit has a spatial safety instrumentation pass to clang (so out of band accesses)13:18:36
@raitobezarius:matrix.orgraitobezariusa runtime support library and a concurrent GC for temporal safety13:18:45
@qyriad:katesiria.orgQyriadWriting production C++ is like writing production Bash. It is extremely difficult to write Correct C++ code and it is extremely difficult to debug13:19:02
@raitobezarius:matrix.orgraitobezarius"memory safe, bounds checked, GCed ahead-of-time languages" (in the sense Fil-C claim to be) have been existing for a long time13:19:26
@raitobezarius:matrix.orgraitobezarius* it doesn't solve data races, it doesn't do any sort of reasoning over mutable aliasing13:20:12

Show newer messages


Back to Room ListRoom Version: 10