2025/03/28

Newest at the top

2025-03-28 13:57:37 +0100weary-traveler(~user@user/user363627) user363627
2025-03-28 13:57:30 +0100hattckory(~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
2025-03-28 13:54:55 +0100 <lambdabot> forall k (t :: * -> *) (f :: k -> *) (a1 :: k) a2. (Foldable t, Monoid (Ap f a1)) => (a2 -> f a1) -> t a2 -> f a1
2025-03-28 13:54:54 +0100 <Leary> :t (getAp .) . foldMap . (Ap .)
2025-03-28 13:54:45 +0100 <__monty__> That does seem similar.
2025-03-28 13:54:37 +0100 <lambdabot> Data.Vector.Fusion.Stream.Monadic foldrM :: Monad m => (a -> b -> m b) -> b -> Stream m a -> m b
2025-03-28 13:54:37 +0100 <lambdabot> Data.Vector.Fusion.Bundle.Monadic foldrM :: Monad m => (a -> b -> m b) -> b -> Bundle m v a -> m b
2025-03-28 13:54:37 +0100 <lambdabot> Data.Foldable foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b
2025-03-28 13:54:36 +0100 <__monty__> @hoogle foldrM
2025-03-28 13:52:50 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-03-28 13:51:03 +0100 <__monty__> I think the reason not to use the GHC modules is the size of the package.
2025-03-28 13:48:21 +0100 <vpan> hi, `foldMapM` from GHC.Utils.Monad seems useful (found it on hoogle), but calling something from the compiler's namespace feels wrong. There must be a reason those functions aren't in base. Is my intuition correct that typical applications (that don't process Haskell code) should stay away from GHC.*?
2025-03-28 13:48:06 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-03-28 13:47:14 +0100Googulator(~Googulato@81.183.235.203)
2025-03-28 13:44:27 +0100 <__monty__> In what context is it important to consume the argument? Limiting to once is easier to reason about, side-effects are a good reason for example.
2025-03-28 13:43:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-28 13:43:24 +0100zungi(~tory@user/andrewchawk) (Ping timeout: 264 seconds)
2025-03-28 13:40:36 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-28 13:37:58 +0100 <tomsmeding> __monty__: it means exactly once. At most once would be an "affine" arrow, not a "linear" one, I think, in the prevailing jargon
2025-03-28 13:35:56 +0100ft(~ft@p508db463.dip0.t-ipconnect.de) ft
2025-03-28 13:35:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-28 13:35:18 +0100Googulator(~Googulato@81.183.235.203) (Ping timeout: 240 seconds)
2025-03-28 13:33:59 +0100 <yushyin> i think it is exactly once
2025-03-28 13:29:23 +0100tromp(~textual@2001:1c00:3487:1b00:6095:11f3:6fa5:fb3d) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-03-28 13:28:36 +0100 <__monty__> I thought `%1 ->` meant at most once, not exactly once?
2025-03-28 13:23:48 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-03-28 13:22:53 +0100Googulator(~Googulato@81.183.235.203)
2025-03-28 13:17:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-28 13:16:53 +0100acidjnk(~acidjnk@p200300d6e71c4f71c835c1b6e3010b6c.dip0.t-ipconnect.de) acidjnk
2025-03-28 13:10:58 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-03-28 13:04:31 +0100fp(~Thunderbi@130.233.70.95) fp
2025-03-28 13:03:51 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-03-28 13:03:30 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-03-28 13:00:52 +0100 <tomsmeding> Liamzee: in other words, that `lseq` is actually doing something, see its definition and the Consumable class
2025-03-28 12:59:56 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 272 seconds)
2025-03-28 12:59:04 +0100aetepe(~aetepe@188.119.58.34) aetepe
2025-03-28 12:58:00 +0100fp(~Thunderbi@130.233.70.95) (Ping timeout: 252 seconds)
2025-03-28 12:57:35 +0100tremon(~tremon@83.80.159.219) tremon
2025-03-28 12:57:24 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-03-28 12:57:13 +0100aetepe(~aetepe@188.119.58.34) (Ping timeout: 265 seconds)
2025-03-28 12:39:18 +0100Googulator(~Googulato@81.183.235.203) (Ping timeout: 240 seconds)
2025-03-28 12:38:07 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-03-28 12:37:36 +0100 <haskellbridge> <jv> under a different nick though
2025-03-28 12:36:55 +0100 <jackdk> Because if you have [a] %1 -> b, then you need to do away with the entire list, not just the prefix that you take
2025-03-28 12:36:54 +0100 <haskellbridge> <jv> or so
2025-03-28 12:36:37 +0100 <haskellbridge> <jv> Liamzee: i remember having it done beautifully on this channel (or maybe #haskell-beginners). should be in the logs from about 6 years ago
2025-03-28 12:27:44 +0100ash3en(~Thunderbi@185.209.196.192) (Ping timeout: 265 seconds)
2025-03-28 12:26:49 +0100acidjnk(~acidjnk@p200300d6e71c4f71c835c1b6e3010b6c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-03-28 12:20:50 +0100ubert1(~Thunderbi@2a02:8109:ab8a:5a00:7d86:d0e8:c2d1:2ee3) ubert
2025-03-28 12:20:48 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)