2025/02/19

Newest at the top

2025-02-19 14:47:10 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-19 14:46:45 +0100fp1(~Thunderbi@87-94-148-3.rev.dnainternet.fi) fp
2025-02-19 14:45:48 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-02-19 14:43:07 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2025-02-19 14:42:32 +0100CiaoSen(~Jura@ip-037-201-240-075.um10.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2025-02-19 14:41:46 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-19 14:41:24 +0100 <Inst> https://topos.institute/blog/2022-12-20-lenses-semi-monads/
2025-02-19 14:41:20 +0100 <Inst> it should be semimonad, not monadoid :(
2025-02-19 14:41:13 +0100 <Inst> how embarrassing, i've forgotten
2025-02-19 14:41:03 +0100Inst(~Inst@user/Inst) Inst
2025-02-19 14:40:17 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2025-02-19 14:40:00 +0100 <haskellbridge> <alexfmpe> * guess
2025-02-19 14:39:49 +0100 <haskellbridge> <alexfmpe> Map I guess? it already has an Apply instance and I just join would be double lookup like "(->) e"
2025-02-19 14:39:31 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2025-02-19 14:34:55 +0100Googulator13Googulator
2025-02-19 14:34:35 +0100tomsmedingwonders what interesting structures would become available if you drop the identity laws
2025-02-19 14:33:43 +0100acidjnk(~acidjnk@p200300d6e7283f64718e6a656831e8a3.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2025-02-19 14:27:48 +0100akegalj(~akegalj@141-136-246-173.dsl.iskon.hr)
2025-02-19 14:25:34 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-02-19 14:24:56 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-19 14:22:45 +0100 <Inst> *returned value
2025-02-19 14:22:32 +0100 <Inst> although tbh you CAN avoid right identity to some extent, simply by using the last monadic element, then <$ the returned element into it
2025-02-19 14:22:27 +0100mange(~user@user/mange) (Quit: Zzz...)
2025-02-19 14:20:52 +0100 <Inst> i mean associative law of functor join without identity laws of pure/eta
2025-02-19 14:19:24 +0100 <ski> right identity is for getting "monadic tail invokation"
2025-02-19 14:19:15 +0100 <Inst> i've forgotten if i used the term correctly
2025-02-19 14:18:55 +0100cstslrdg^(~cstslrdg@108.192.66.114)
2025-02-19 14:18:45 +0100ski's forgotten what "monadoids" refer to
2025-02-19 14:18:43 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2025-02-19 14:18:12 +0100 <Inst> the one for left identity, at least, and implicitly the right identity to permit a return through a neutral element
2025-02-19 14:17:38 +0100 <haskellbridge> <Morj> I like that it's similar to using a front-tick which is already idiomatic
2025-02-19 14:17:30 +0100 <ski> which, Inst ?
2025-02-19 14:17:11 +0100 <haskellbridge> <Morj> Does using var` lead to any ambiguities? To get "let a` = foo; a` = bar a`; a` = qux a` in ..." - mercury-style state variables
2025-02-19 14:17:09 +0100 <ski> `let par {a = b; b = a + b} in ..a..b..' vs. `let seq {a = b; b = a + b} in ..a..b..'
2025-02-19 14:16:45 +0100 <Inst> is this explanation of why monads instead of monadoids in the moggi papers?
2025-02-19 14:16:32 +0100 <ski> .. i guess one could imagine `seq {...}' and `par {...}', although that'd snarf the names of those standard functions
2025-02-19 14:15:01 +0100skinotes that `rec' doesn't work in list comprehensions, even with `MonadComprehensions' enabled
2025-02-19 14:14:14 +0100Inst(~Inst@user/Inst) Inst
2025-02-19 14:11:12 +0100 <ski> there already is `do rec {x <- ..y..; y <- ..x..}; ..x..y..'
2025-02-19 14:09:18 +0100skiidly wonders what could be a reasonable concrete syntax for sequential vs. collateral binding, in Haskell
2025-02-19 14:06:17 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm
2025-02-19 14:05:32 +0100AlexNoo_AlexNoo
2025-02-19 14:05:06 +0100Inst(~Inst@user/Inst) (Remote host closed the connection)
2025-02-19 14:04:19 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 260 seconds)
2025-02-19 14:03:06 +0100 <haskellbridge> <Morj> That's a cool feature
2025-02-19 14:02:24 +0100 <ski> (so it generates a sequence of variables for you, basically)
2025-02-19 14:01:52 +0100 <ski> <https://www.mercurylang.org/information/doc-latest/mercury_ref/Clauses.html#State-variables>
2025-02-19 14:01:47 +0100 <ski> Mercury has a "State variable" notation, where you can type `foo(...,!X),bar(!X,...),baz(...,!X...)', meaning `foo(...,!.X,!:X),bar(!.X,!:X,...),baz(...,!.X,!:X,...)', which basically amounts to `foo(...,X0,X1),bar(X1,X2,...),baz(...,X2,X3,...)', where `X0' is the initial value of `!X', and `X3' is the final value of `!X'. see
2025-02-19 14:01:18 +0100akegalj(~akegalj@89-172-194-52.adsl.net.t-com.hr) (Ping timeout: 268 seconds)
2025-02-19 13:59:27 +0100atwm(~andrew@19-193-28-81.ftth.cust.kwaoo.net) atwm