!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
20 Mar 2026
@emilazy:matrix.orgemilyoh I guess it's the same serde type(?)11:36:05
@emilazy:matrix.orgemilyah I see11:36:08
@coca162:matrix.orgCocaits not the same serde type to be clear tho11:36:30
@emilazy:matrix.orgemilyyeah if it's looking up from a string rather than parsing into a full DOM that makes sense11:36:31
@emilazy:matrix.orgemilyalso means it'll happily eat up a ton of invalid documents...11:36:43
@piegames:flausch.socialpiegamesUnfortunately, this is not possible because of impurities, I was told11:36:57
@piegames:flausch.socialpiegamesI already had the idea of having the whole bytecode interpreter run in sync with the old interpreter for verification purposes, and unfortunately that's not possible11:37:26
@emilazy:matrix.orgemilyI'm not sure what you mean11:37:31
@emilazy:matrix.orgemilywell for full interpretation sure11:37:42
@emilazy:matrix.orgemilynot for JSON parsing11:38:18
@emilazy:matrix.orgemilyno existing thunks can go into fromJSON results11:38:51
@piegames:flausch.socialpiegamesah, you meant only in the JSON builtins, not all builtins11:39:18
@emilazy:matrix.orgemilyfor serialization it's a bit more involved but not unfixably especially considering you'll hit the same thunks11:39:30
@piegames:flausch.socialpiegamesmight be feasible then, yes11:39:22
@emilazy:matrix.orgemilywell, for another format parser/serializer really (but I guess JSON, TOML, ATerm, and arguably XML are the only really load-bearing ones there)11:41:09
@emilazy:matrix.orgemily * 11:41:15
@coca162:matrix.orgCocaborrowed and owned Values are parsed into DOMs, tape doesn't seem to end parsing early but instead goes over the (already partially parsed) mutable input and ends when it finds one. All Values are consistent with returning the first value.11:45:44
@coca162:matrix.orgCoca* borrowed and owned Values are parsed into DOMs, tape doesn't seem to end parsing early but instead goes over the (already partially parsed) mutated input and ends when it finds one. All Values are consistent with returning the first value.11:47:25
@emilazy:matrix.orgemily(btw, what is the plan for the GC story if eval is moving into Rust?)11:50:22
@piegames:flausch.socialpiegamesWill have to be rewritten eventually. Library search is still ongoing, but a custom solution might be necessary11:57:15
@emilazy:matrix.orgemilyI meant more non-eventually, since interop with Boehm could be weird (but maybe viable if done carefully)12:00:08
@emilazy:matrix.orgemilycustom GC in Rust is definitely not for the faint of heart, very tricky thing to write soundly (in any language but the Rust API side of things especially... admittedly Boehm punts on both the soundness and much of the complexity with conservative scanning)12:01:47
@piegames:flausch.socialpiegamesWell, for now I want to see if it is viable to have Rust code use C++ values via cxx and opaque pointers without too much pain12:07:30
@piegames:flausch.socialpiegames But also, having to write a custom GC isn't too bad if one has sufficient freedom in the design constraints 12:08:27
@piegames:flausch.socialpiegamesThings like "we only have 4 types which need GC", "doesn't have to be super fast", "Values are opaque pointers anyways because of pointer tagging" do make it less horrible12:10:21
@emilazy:matrix.orgemilythose aren't the hard parts12:10:35
@emilazy:matrix.orgemilyit's stack rooting, esp if you want a sound + precise Rust API (cf. https://manishearth.github.io/blog/2021/04/05/a-tour-of-safe-tracing-gc-designs-in-rust/)12:11:27
@emilazy:matrix.orgemily(let alone ergonomic 😅)12:11:34
@emilazy:matrix.orgemilythough refcounting with cycle collection is relatively simpler (but not sure if the perf would be appealing compared to Boehm for a language like Nix that has tons of cycles...)12:12:33
@piegames:flausch.socialpiegameshorrors say refcounting will be too slow12:13:00

Show newer messages


Back to Room ListRoom Version: 10