2025/03/28

Newest at the top

2025-03-28 05:36:07 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-28 05:36:06 +0100LainExperiments(~LainExper@user/LainExperiments) (Ping timeout: 240 seconds)
2025-03-28 05:34:47 +0100LainExperiments4(~LainExper@user/LainExperiments) LainExperiments
2025-03-28 05:33:14 +0100aetepe(~aetepe@188.119.58.34) (Ping timeout: 260 seconds)
2025-03-28 05:31:30 +0100 <haskellbridge> <thirdofmay18081814goya> i'll check out the partiality monad, thanks!
2025-03-28 05:31:23 +0100aforemny(~aforemny@i577B139C.versanet.de) aforemny
2025-03-28 05:30:48 +0100aforemny_(~aforemny@2001:9e8:6cdb:6d00:dc2e:87c9:d5a9:a75) (Ping timeout: 245 seconds)
2025-03-28 05:30:10 +0100 <EvanR> well, now it's nearly the partiality monad
2025-03-28 05:29:55 +0100LainExperiments(~LainExper@user/LainExperiments) LainExperiments
2025-03-28 05:29:53 +0100 <Leary> `fixMaxDepth :: Int -> (a -> Either a b) -> Maybe b`?
2025-03-28 05:29:24 +0100 <Leary> Err, maybe not.
2025-03-28 05:29:04 +0100 <Leary> I would write `fixMaxDepth :: Int -> (a -> a) -> Maybe a`.
2025-03-28 05:28:46 +0100 <EvanR> this isn't doesn't "monkey patch" the way you want, but the partiality monad will let you decide elsewhere how long a recursive algorithm gets to terminate
2025-03-28 05:28:21 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-03-28 05:28:06 +0100aetepe(~aetepe@188.119.58.34) aetepe
2025-03-28 05:27:26 +0100 <haskellbridge> <thirdofmay18081814goya> trivially a catamorphism whose algebra returns a pair can do this, any other ideas?
2025-03-28 05:26:36 +0100 <haskellbridge> <thirdofmay18081814goya> so that you can also use it without enforcing the max recursive call
2025-03-28 05:26:19 +0100 <haskellbridge> <thirdofmay18081814goya> the idea would be to have a recursive function whose specification is separate from the requirement that it terminates after n calls
2025-03-28 05:24:57 +0100 <haskellbridge> <thirdofmay18081814goya> i guess necessarily some method with recursion-schemes right
2025-03-28 05:24:38 +0100 <haskellbridge> <thirdofmay18081814goya> does anyone know if there's a way to embed a max number of recursive calls in an arbitrary recursive function?
2025-03-28 05:23:43 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-28 05:23:23 +0100michalz(~michalz@185.246.207.205)
2025-03-28 05:19:49 +0100 <EvanR> Ur/Web
2025-03-28 05:19:40 +0100 <EvanR> it's not linearly typed but it does do the thing everyone thinks linear types are for http://www.impredicative.com/ur/
2025-03-28 05:18:36 +0100LainExperiments3(LainExperi@user/LainExperiments) (Quit: Client closed)
2025-03-28 05:17:03 +0100aetepe(~aetepe@188.119.58.34) (Ping timeout: 245 seconds)
2025-03-28 05:16:54 +0100 <haskellbridge> <Liamzee> by bodigrim
2025-03-28 05:16:50 +0100 <haskellbridge> <Liamzee> https://hackage.haskell.org/package/text-builder-linear
2025-03-28 05:16:49 +0100 <haskellbridge> <Liamzee> fun recent linear types:
2025-03-28 05:14:05 +0100 <haskellbridge> <Liamzee> but no one has built a linearly typed webserver and put it on hackage?
2025-03-28 05:13:01 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-28 05:12:21 +0100aetepe(~aetepe@188.119.58.34) aetepe
2025-03-28 05:10:43 +0100 <Leary> thirdofmay: Err, I guess that should have been `data Catch e m a where Catch :: m x -> (Either e x -> a) -> Catch e m a`, which probably clarifies the rest of what I said.
2025-03-28 05:10:00 +0100 <EvanR> there is also a destination array thing in there
2025-03-28 05:09:10 +0100 <haskellbridge> <Liamzee> oh, i never realized that linear base had dynamic vectors, only mutable ones
2025-03-28 05:07:56 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-28 05:06:28 +0100 <jackdk> https://hackage.haskell.org/package/linear-base-0.4.0/docs/Control-Functor-Linear.html#g:4 Not the module I would've expected
2025-03-28 05:03:00 +0100 <Axman6> Is there a linear state monad or something that can make passing around linear values a little nicer?
2025-03-28 04:59:44 +0100 <EvanR> https://hackage.haskell.org/package/linear-base-0.4.0/docs/Data-Vector-Mutable-Linear.html
2025-03-28 04:59:17 +0100 <Axman6> I feel like there wasn't all that much left
2025-03-28 04:58:44 +0100 <Axman6> We should finish that
2025-03-28 04:58:15 +0100 <jackdk> Axman6 and I have a half-done port of streaming-bytestring to linear types but never finished it
2025-03-28 04:57:12 +0100 <haskellbridge> <Liamzee> i still feel bad about not writing a linearly typed growable vector lib, because it wouldn't have been any good
2025-03-28 04:56:39 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-28 04:49:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-28 04:49:31 +0100 <haskellbridge> <Liamzee> are people doing much with civilian linear types these days?
2025-03-28 04:46:52 +0100 <EvanR> I had to look at join parts to get that one
2025-03-28 04:45:08 +0100 <haskellbridge> <thirdofmay18081814goya> Leary: I see! thanks a lot for the comment!
2025-03-28 04:42:06 +0100LainExperiments(~LainExper@user/LainExperiments) (Ping timeout: 240 seconds)
2025-03-28 04:41:15 +0100 <jackdk> Is LainExperiments serially-numbered?