!9IQChSjwSHXPPWTa:lix.systems

Lix

1102 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
11 Dec 2025
@charles:computer.surgeryCharlesimmediately21:18:43
@helle:tacobelllabs.nethelle (just a stray cat girl)(because while most of the people discussing this here are aware of how to read documentation like this, it really needs to teachable to people who are not this deeply involved)21:18:45
@helle:tacobelllabs.nethelle (just a stray cat girl)also why the "i" choice (I mean I have some pros and cons to it, but one of the downsides is fonts not always being super clear with it)21:19:30
@charles:computer.surgeryCharlesalternatively you can replace "arbitrary characters" with "characters that aren't normally allowed in identifiers"21:19:38
@helle:tacobelllabs.nethelle (just a stray cat girl)welcome to me having some UX and teaching background :3 sorry about that21:19:55
@charles:computer.surgeryCharles i for identifier but i don't care, feel free to pick something else like v for variable 21:20:08
@commentator2.0:elia.gardenRutile (Commentator2.0) feel free to ping non-arbitrary = [a-zA-Z][\w-]*(?<=-) 21:20:09
@helle:tacobelllabs.nethelle (just a stray cat girl)s"" may actually work very welll, for string literal21:20:38
@commentator2.0:elia.gardenRutile (Commentator2.0) feel free to pingalso, what exactly is the difference between a variable and an identifier, especilaly in the context of nix?21:20:39
@helle:tacobelllabs.nethelle (just a stray cat girl)or idk21:20:43
@helle:tacobelllabs.nethelle (just a stray cat girl)but I am just using this to demonstrate cases to worry about with UX and teaching, not so much as an actual thing to work on right now21:21:08
@charles:computer.surgeryCharlesmy point is that i don't think this is complicated to explain, it's maybe one to three sentences depending on how specific you really want to be i guess21:21:17
@commentator2.0:elia.gardenRutile (Commentator2.0) feel free to ping * non-arbitrary = [a-zA-Z][\w-]*(?!<=-) 21:21:21
@helle:tacobelllabs.nethelle (just a stray cat girl)I agree, but already having to think about that helps shape further choices21:21:50
@charles:computer.surgeryCharlesit's not like i wasn't thinking about explainability when i came up with this idea21:22:14
@helle:tacobelllabs.nethelle (just a stray cat girl)like, I've seen some amazing programming concepts that people should learn early on, and omfg when I had to try and teach them to people21:22:29
@charles:computer.surgeryCharlesin the context of nix i don't think there really is a difference21:22:59
@charles:computer.surgeryCharlesin other languages though function names, class/struct/enum/type names, variable names, etc are all identifiers21:23:19
@helle:tacobelllabs.nethelle (just a stray cat girl)and this can go as simple as "well, Python has like at least 3 string formatting mini languages, of which 2 are relevant to this day"21:23:22
@commentator2.0:elia.gardenRutile (Commentator2.0) feel free to pingI'd just explain it as "has to be a letter at first, then any amount of word characters (letter or digit) and might include a hyphen; everything else requires wrapping in an ident string. 21:23:29
@helle:tacobelllabs.nethelle (just a stray cat girl)like that one gave us no end of headaches21:23:32
@charles:computer.surgeryCharlesvariable names are a subset of identifiers21:23:53
@helle:tacobelllabs.nethelle (just a stray cat girl)(we TA'ed at uni extensively and cowrote some courses)21:24:08
@charles:computer.surgeryCharlesnix doesn't have functions distinct from variables or types though so in nix's case the sets are equal21:24:09
@rosssmyth:matrix.orgrosssmythhorrifying 21:25:19
@charles:computer.surgeryCharlesyeah lol i'm very surprised that works21:25:42
@helle:tacobelllabs.nethelle (just a stray cat girl)check the Nix iceberg for more horrors21:25:45
@charles:computer.surgeryCharlesi would explain it as XID_Start followed by zero or more XID_Continue because that's what it is, and you don't need to explain what those are because explaining that is unicode's job21:27:15
@charles:computer.surgeryCharlesfor example https://doc.rust-lang.org/reference/identifiers.html#grammar-IDENTIFIER21:27:38
@charles:computer.surgeryCharles* for example https://doc.rust-lang.org/reference/identifiers.html21:27:50

Show newer messages


Back to Room ListRoom Version: 10