2025/09/29

Newest at the top

2025-09-29 14:06:18 +0200 <lambdabot> error: parse error on input ‘->’
2025-09-29 14:06:17 +0200 <yin> :t liftA2 @((->) _)
2025-09-29 14:06:03 +0200 <[exa]> yin: what's wrong with (+) <$> Just 1 <*> Just 2 ?
2025-09-29 14:05:20 +0200 <yin> in the language J, (h f g) is (liftA2 f h g), a "monadic fork" they call it, as a basic syntax feature, which is GREAT
2025-09-29 13:59:56 +0200 <[exa]> as in, it's not gonna be a pattern without some extra work, but you can stash it somewhere in guards: | Just arg <- preview (prefixed "hahaha") arg = ...
2025-09-29 13:56:28 +0200 <[exa]> chromoblob: you can do that pretty well with prisms
2025-09-29 13:56:01 +0200 <chromoblob> i also want pattern syntax ("abc" ++ s) - like n+k patterns, but for strings
2025-09-29 13:55:50 +0200 <yin> [exa]: at least that wouldn't trip markdown up
2025-09-29 13:55:10 +0200divlamir(~divlamir@user/divlamir) divlamir
2025-09-29 13:55:08 +0200[exa]wishes for back-backtick, the foretick, like ´ but worse
2025-09-29 13:54:59 +0200 <merijn> In practice I find it a nonissue, since you can trivially locally bind it infix for readability
2025-09-29 13:54:48 +0200divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-09-29 13:54:24 +0200 <merijn> chromoblob: That'd be nice, but thinking about ramification on parsing makes me throw that right out :p
2025-09-29 13:53:57 +0200 <[exa]> chromoblob: parser developers wish for backtick disambiguation tools
2025-09-29 13:50:59 +0200 <chromoblob> i want following syntax: Just 1 `(liftA2 (+))` Just 2
2025-09-29 13:46:33 +0200 <yin> not because of the ` symbol but because of its semantics
2025-09-29 13:45:58 +0200tromp(~textual@2001:1c00:3487:1b00:5d4:dfa6:7d7:2af3) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-29 13:44:38 +0200 <yin> i don't care which symbols we use, as long as it's consistent. in the case of `on`, the use of `` i find it's inelegant
2025-09-29 13:42:32 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-29 13:42:09 +0200 <yin> programming languages at least
2025-09-29 13:41:47 +0200 <yin> ... "logical languages"?
2025-09-29 13:39:45 +0200 <yin> sshine: i am vehemently agains the idea that logic languages should emulate natural language
2025-09-29 13:38:50 +0200 <yin> so we need the $
2025-09-29 13:38:15 +0200 <yin> in my mind, we would ideally bind the infix operator more tightly than function application, but that's not possible
2025-09-29 13:37:39 +0200 <lambdabot> Just 3
2025-09-29 13:37:37 +0200 <yin> > (+) `liftA2` (Just 1) $ (Just 2)
2025-09-29 13:35:17 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-09-29 13:33:37 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2025-09-29 13:28:52 +0200xff0x(~xff0x@2405:6580:b080:900:fe2c:68a3:b199:389f)
2025-09-29 13:28:39 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 250 seconds)
2025-09-29 13:26:34 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-09-29 13:22:41 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-29 13:22:24 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-09-29 13:19:10 +0200 <sshine> yin, at least `on` reads nicely.
2025-09-29 13:18:06 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2025-09-29 13:13:15 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-29 13:09:40 +0200 <yin> maybe you're right after all
2025-09-29 13:09:31 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 255 seconds)
2025-09-29 13:08:21 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-09-29 13:08:00 +0200 <merijn> Leary: I mean, that $ and & hack is approximately infinitely less readable than the prefix `liftA2` call, so I would argue no, it's also 2 operators + 1 a function, not a single infix thing :p
2025-09-29 13:08:00 +0200chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-09-29 13:06:24 +0200 <Leary> It worked, didn't it?
2025-09-29 13:06:11 +0200 <merijn> And if you're gonna bind a name, then you can easily to whatever infix you want
2025-09-29 13:05:55 +0200 <lambdabot> Just 5
2025-09-29 13:05:54 +0200 <merijn> > let (☃) = liftA2 (+) in Just 2 ☃ Just 3
2025-09-29 13:05:29 +0200justache(~justache@user/justache) (bye?)
2025-09-29 13:05:21 +0200 <merijn> You have to bind the partial application to a name, then
2025-09-29 13:05:01 +0200 <merijn> Leary: Right, but that can't be valid Haskell to begin with
2025-09-29 13:04:48 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-09-29 13:04:47 +0200 <lambdabot> Just 3