!9IQChSjwSHXPPWTa:lix.systems

Lix

1103 Members
Lix user channel. Feel free to discuss on-topic issues here and give each other help. For matrix.to links to the rest of the Lix channels, see: https://wiki.lix.systems/books/lix-organisation/page/matrix-rooms295 Servers

Load older messages


SenderMessageTime
1 Dec 2025
@raitobezarius:matrix.orgraitobezarius setMetaAttributes attrs { __eq = x; } ? 12:30:00
@qyriad:katesiria.orgQyriadYeah something like that12:30:14
@qyriad:katesiria.orgQyriadWhich would return a new attrset obvi, not mutate12:30:23
@raitobezarius:matrix.orgraitobezariusye12:30:32
@k900:0upti.meK900Y'all are actualyl just going to reinvent metatables aren't you12:30:43
@k900:0upti.meK900* Y'all are actually just going to reinvent metatables aren't you12:30:46
@raitobezarius:matrix.orgraitobezariuslua arc for lix letsgo12:30:57
@raitobezarius:matrix.orgraitobezariuspersonally idk yet12:31:12
@raitobezarius:matrix.orgraitobezariusthe idea is interesting for sure12:31:16
@raitobezarius:matrix.orgraitobezariusand would provide a very nice way to escape from the funext mess12:31:25
@qyriad:katesiria.orgQyriadIt 110% needs like, to be very well thought out so we don't trap ourselves, but we do think something in that direction is the right direction for Lix12:32:36
@k900:0upti.meK900I mean honestly I don't mind metatables12:33:07
@k900:0upti.meK900I do mind the rest of Lua12:33:12
@qyriad:katesiria.orgQyriadSame12:33:13
@k900:0upti.meK900But metatables are fine12:33:16
@qyriad:katesiria.orgQyriadYes valid12:33:18
@qyriad:katesiria.orgQyriadIt would also help the general problem of "attrsets represent packages you can enumerate but also other stuff and if you shove metadata into the set of packages now suddenly enumerating packages is more complicated" etc12:33:51
@niko:nrab.lolniko ⚡️
In reply to @qyriad:katesiria.org
scopedImport disables that caching
Is the caching also on expressions themselves? Because if importing twice reuses the same eval, I’d expect let f = _: x: x; in f 0 == f 0 to also be true, at least based on vibes again, since applying a function feels equivalent to importing, for some definition of feeling
12:34:31
@qyriad:katesiria.orgQyriad Function calls are not cached iwrc, but the attrs they return are? I think? 12:36:12
@niko:nrab.lolniko ⚡️ I think this is where problems start for me personally 12:39:55
@niko:nrab.lolniko ⚡️ Probably because of my biases, but I don’t have a problem with pointer comparison itself. The fact that I can’t tell just looking at code if the return value will be the same across calls is the most trippy personally 12:40:55
@qyriad:katesiria.orgQyriad I mean that's unavoidable when we compare my pointer, that's why it's such a problem 12:47:51
@piegames:flausch.socialpiegames
In reply to @qyriad:katesiria.org
scopedImport disables that caching
For now at least
12:50:07
@niko:nrab.lolniko ⚡️Just use pointer equality for the scope to decide on cache key /j12:50:52
@kloenk:kloenk.eukloenkPlease don’t remind me of the horrors of the internals of the Linux kernel (they actually have structs that just contain an int so they can take a pointer to it as a unique value)12:58:33
@raitobezarius:matrix.orgraitobezariusthat's why we can never use function pointer equality14:44:09
@raitobezarius:matrix.orgraitobezariusunless we have function semantical equality imho14:44:15
@raitobezarius:matrix.orgraitobezariuswe don't want to let people develop a model of evaluation order, laziness semantics and so on14:44:28
@raitobezarius:matrix.orgraitobezarius(we want a rigorous model of course, but no one is allowed to tie their implementation to it)14:44:38
@raitobezarius:matrix.orgraitobezariusbecause funext only works via funptr equality, then funext must die14:44:52

Show newer messages


Back to Room ListRoom Version: 10