!9IQChSjwSHXPPWTa:lix.systems

Lix

1120 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-rooms302 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
11 Dec 2025
@hexa:lossy.networkhexamarkdown 😄 22:38:51
@piegames:flausch.socialpiegamesDraw the rest of the owl I guess22:38:51
@hexa:lossy.networkhexa
${foo} = "bar"

but you can do

foo.${bar} = "baz" 
22:39:25
@kfears:matrix.orgKFears (they/them)I don't have a structured view of it, but in general, something at the intersection of modules and the type system strikes me as odd, and makes me feel like modules are a very "DIY" kind of thing that you have to reimplement from scratch, and I guess I'd be happy if the language could help with that, though I'm not sure where to take it22:39:29
@hexa:lossy.networkhexa *
can't do

${foo} = "bar"

but you can do

foo.${bar} = "baz" 
22:39:34
@emilazy:matrix.orgemilyoverlays can be quite easily typed with row types.22:39:56
@kfears:matrix.orgKFears (they/them) Yeah, that's also weird... I'm not sure about it, like, it's convenient, but it feels weird, like I'd maybe expect a builtin that allows creating those kinds of arbitrarily-named attributes instead of it being a syntax thing 22:41:57
@emilazy:matrix.orgemily

e.g.

Overlay : Row -> Row -> Row -> Type
Overlay Final Prev Extra = {...Final} -> {...Prev} -> {...Extra}

data Overlays : Row -> Row -> Type where
  nil : forall Final. Overlays Final {}
  cons : forall Final Prev Extra. Overlay Final Prev Extra -> Overlays Final Prev -> Overlays Final (Prev // Extra)

addsFoo : forall Final Prev. Overlay Final Prev {foo : …}
addsFooUsingBar : forall FinalR Prev. Overlay (FinalR // {bar : …}) Prev {foo : …}
changesFoo : forall Final PrevR. Overlay Final (PrevR // {foo : …}) {foo : …}
changesFooUsingBar : forall FinalR PrevR. Overlay (FinalR // {bar : …}) (PrevR // {foo : …}) {foo : …}

(function to evaluate these left as an exercise)

22:48:44
@emilazy:matrix.orgemilyI'd say it's not really that much different to typing TypeScript objects tbh22:49:49
@raitobezarius:matrix.orgraitobezarius~~Now do IFDs~~23:20:26
@charles:computer.surgeryCharles Box<dyn Any> 23:25:25

Show newer messages


Back to Room ListRoom Version: 10