!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
9 Nov 2025
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Tvix folks have great insights into the pointer equality semantics. I did get a lot of grumbling about pointer equality semantics from glittershark and edef18:30:27
* @raitobezarius:matrix.orgraitobezarius nods18:31:02
@raitobezarius:matrix.orgraitobezarius(i also listened more than once to edef about ptr equalities)18:31:14
@aloisw:julia0815.dealoisw Well the pointer equality only matters for types that use an auxiliary block, so I assume copying that in the places where the value was previously copied would work? 18:40:11
10 Nov 2025
@adis:blad.is@adis:blad.is left the room.04:58:06
@piegames:flausch.socialpiegamesThe would probably not mesh well with future performance optimisations08:07:14
@piegames:flausch.socialpiegamesmixing code with data was a mistake08:17:16
@k900:0upti.meK900 Honestly IMO the only way to do function equality at this point is to hard ban it 08:17:52
@k900:0upti.meK900 Because any attempt to fix the semantics will lead to code that evaluates subtly differently wrong on new and old semantics 08:18:25
@piegames:flausch.socialpiegamesYes but once you ban it you want to move off all functions off your data structures to retain the ability to compare your data08:18:42
@k900:0upti.meK900Yes08:18:57
@k900:0upti.meK900 Unironically yes 08:18:58
@qyriad:katesiria.orgQyriad
In reply to @piegames:flausch.social
Yes but once you ban it you want to move off all functions off your data structures to retain the ability to compare your data
well, unless you simply don't count functions in structure comparisons
08:19:09
@piegames:flausch.socialpiegamesGlad we agree. I still need a vision how to do that for a language within the Nix ecosystem tbh08:19:45
@k900:0upti.meK900 There's literally one place in nixpkgs where this is relevant 08:19:47
@k900:0upti.meK900 And it can be fixed with a treewide 08:19:57
@k900:0upti.meK900 Annoying as that may be 08:20:02
@piegames:flausch.socialpiegamesThat would be possible but honestly feel weird08:20:12
@piegames:flausch.socialpiegamesWhich one?08:20:17
@k900:0upti.meK900 Platform equality 08:20:28
@qyriad:katesiria.orgQyriad
In reply to @piegames:flausch.social
That would be possible but honestly feel weird
it would make comparison trinary, ¯\_(ツ)_/¯ 
08:20:52
@piegames:flausch.socialpiegamesHow so?08:21:29
@k900:0upti.meK900 Expr::eq(this, that) -> MsoTristate 08:21:36
@k900:0upti.meK900 When 08:21:36
@qyriad:katesiria.orgQyriad you're probably right that it's better to not, though 08:22:03
@k900:0upti.meK900 (in case anyone isn't familiar, https://learn.microsoft.com/en-us/dotnet/api/microsoft.office.core.msotristate?view=office-pia) 08:22:29
@piegames:flausch.socialpiegamesWhat I dislike is that you have some data structure, it compares nicely, now you want to add a helper function that manipulates the data, suddenly your data has no equality anymore08:24:22
@qyriad:katesiria.orgQyriad yeah that's whatI don't like either 08:57:14
@qyriad:katesiria.orgQyriad * yeah that's what I don't like either 08:57:34
@commentator2.0:elia.gardenRutile (Commentator2.0) feel free to ping == vs ===? /hj 09:11:18

Show newer messages


Back to Room ListRoom Version: 10