| 11 Dec 2025 |
Charles | my 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 guess | 21:21:17 |
Rutile (rootile) | * non-arbitrary = [a-zA-Z][\w-]*(?!<=-) | 21:21:21 |
helle (just a stray cat girl) | I agree, but already having to think about that helps shape further choices | 21:21:50 |
Charles | it's not like i wasn't thinking about explainability when i came up with this idea | 21:22:14 |
helle (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 people | 21:22:29 |
Charles | in the context of nix i don't think there really is a difference | 21:22:59 |
Charles | in other languages though function names, class/struct/enum/type names, variable names, etc are all identifiers | 21:23:19 |
helle (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 |
Rutile (rootile) | I'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 (just a stray cat girl) | like that one gave us no end of headaches | 21:23:32 |
Charles | variable names are a subset of identifiers | 21:23:53 |
helle (just a stray cat girl) | (we TA'ed at uni extensively and cowrote some courses) | 21:24:08 |