!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-rooms294 Servers

Load older messages


SenderMessageTime
15 Nov 2025
@347online:matrix.orgKatie and have /foo/.match be essentially syntax sugar for builtins.match /foo/.source 18:42:37
@k900:0upti.meK900FOr one18:42:48
@k900:0upti.meK900* For one18:42:50
@aloisw:julia0815.dealoisw In what sense is the empty list "conventionally falsy"? 18:43:22
@k900:0upti.meK900 In the any other language but Nix sense 18:43:56
@347online:matrix.orgKatieempty list is truthy in JS18:44:50
@aloisw:julia0815.dealoisw That's straight up not going to work because /foo/.match is a path literal. And yes, you could make it work with a space, but at the cost of introducing another footgun if the user forgets that space. 18:45:01
@347online:matrix.orgKatie which I think why no match returns null 18:45:05
@k900:0upti.meK900I said language18:45:30
@k900:0upti.meK900Not eldritch abomination18:45:30
@347online:matrix.orgKatieMMMM... got it, yes, that is a problem18:45:37
@347online:matrix.orgKatiemaybe (/foo/).match18:45:50
@347online:matrix.orgKatieor maybe a different bookend token18:46:10
@347online:matrix.orgKatie|foo|18:46:18
@antifuchs:asf.computerantifuchsEmpty list is falsy in the originator of the meme, lisp (fixed in scheme though); still not sure I love it there18:46:21
@aloisw:julia0815.dealoisw It's quite reasonable given how builtins.match semantics work. Unmatched capture groups give null, matched capture groups give the list of its submatches. 18:46:31
@aloisw:julia0815.dealoisw Same problem of being a footgun if the user leaves off the seemingly redundant parenthesis. 18:47:00
@347online:matrix.orgKatieYeah, I don't love the parentheses idea18:47:24
@aloisw:julia0815.dealoisw Like I don't see the point of syntactic sugar that makes an uncommon operation look slightly shorter at the cost of adding massive footguns. 18:47:29
@347online:matrix.orgKatieI don't know how convincing it will be to you, but I can try to offer my perspective there on the appeal for me18:48:38
@347online:matrix.orgKatie I have... god only knows what kind of dyslexia-adjacent cognitive bullshit going on in addition to my really crappy vision. RegEx literals being their own unique semantic construct unto themselves that IDEs can differentiate and color/highlight as such is a HUGE benefit to me. I'm loathe to praise JavaScript for almost anything, but RE literals are a huge win for me there that I really miss when writing say, Rust. I find Nix Path Literals exceptionally ergonomic for very similar reasons. It just helps me see and understand much more clearly what I'm looking at, vs. just another string 18:53:25
@347online:matrix.orgKatie
  • shorter is nice too
18:54:10
@347online:matrix.orgKatie* plus shorter is nice too18:54:16
@347online:matrix.orgKatie at the risk of sounding naively optimistic, I imagine their must be some happy path to deliver the benefits sans footguns 18:55:40
@522_:catgirl.cloud522 it/its ⛯ΘΔusage aware highlighting (if this is used inside a builtins.match / passed to something that takes a regex(not that nix really has a type system that'd make that easy to determine)) would also help that18:56:32
@aloisw:julia0815.dealoisw I feel like highlighting the first argument of builtins.match will get you 90% of the way for the thing you have mentioned. 18:56:33
@522_:catgirl.cloud522 it/its ⛯ΘΔwithout needing language changes18:56:36
@522_:catgirl.cloud522 it/its ⛯ΘΔ treesitter can do some level of that (things passed to writeShellApplication are highlighted as bash) 18:57:37
@522_:catgirl.cloud522 it/its ⛯ΘΔimage.png
Download image.png
18:58:39
@522_:catgirl.cloud522 it/its ⛯ΘΔplus this to manually specify the language, though that's quite verbose for single line things18:58:56

Show newer messages


Back to Room ListRoom Version: 10