2025/03/28

Newest at the top

2025-03-28 21:39:21 +0100 <haskellbridge> <Liamzee> i mean linear types imply that a value is consumed, meaning that its allocation can be cleared
2025-03-28 21:37:30 +0100 <EvanR> free what
2025-03-28 21:36:31 +0100 <EvanR> what do you mean
2025-03-28 21:35:58 +0100 <haskellbridge> <Liamzee> EvanR: but while doing the computation, you could potentially do free after use, but i'm not sure if the allocator works that way
2025-03-28 21:32:56 +0100 <haskellbridge> <Liamzee> https://hackage.haskell.org/package/linear-base-0.4.0/docs/src/Data.Unrestricted.Linear.Internal.U…
2025-03-28 21:32:13 +0100weary-traveler(~user@user/user363627) user363627
2025-03-28 21:32:04 +0100 <haskellbridge> <Liamzee> it's up to 0.4.0, and maybe 0.5.0 :)
2025-03-28 21:31:56 +0100 <haskellbridge> <Liamzee> oh, i realize the problem now
2025-03-28 21:31:51 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2025-03-28 21:31:42 +0100 <haskellbridge> <Liamzee> https://hackage.haskell.org/package/linear-base-0.1.0/docs/Control-Functor-Linear.html
2025-03-28 21:31:16 +0100 <EvanR> disabling of the GC when using linear haskell doesn't sound like a thing
2025-03-28 21:30:45 +0100 <EvanR> which seems to be plainly false
2025-03-28 21:30:34 +0100 <EvanR> I'm concerned about your premise that Ur is not a moand
2025-03-28 21:28:24 +0100 <haskellbridge> <Liamzee> "Rust as a monadic eDSL" ;)
2025-03-28 21:28:14 +0100 <haskellbridge> <Liamzee> having Ur being a monad would be useful for LInear Haskell, so it's interesting to ask why it's not
2025-03-28 21:27:49 +0100 <haskellbridge> <Liamzee> but we talked about the possibility of Linear Haskell simply being a concern for library writers, but you called LH for better memory usage or a disabled GC
2025-03-28 21:27:30 +0100 <haskellbridge> <Liamzee> i'm not sure what the technical term is, i spoke to a friend who did stuff with Linear Haskell
2025-03-28 21:25:55 +0100polyphem(~rod@p3ee3f49b.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2025-03-28 21:21:26 +0100 <EvanR> Ur a >>= f = f a
2025-03-28 21:21:16 +0100 <EvanR> instance Prelude.Monad Ur where
2025-03-28 21:18:13 +0100 <haskellbridge> <Liamzee> Ur isn't a monad?
2025-03-28 21:18:12 +0100 <haskellbridge> <Liamzee> hmmm, that's interesting
2025-03-28 21:13:18 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 272 seconds)
2025-03-28 21:12:48 +0100zungi(~tory@user/andrewchawk) (Ping timeout: 264 seconds)
2025-03-28 21:11:29 +0100dhil(~dhil@2a0c:b381:52e:3600:cbb4:807:319f:c7af) (Ping timeout: 248 seconds)
2025-03-28 21:10:48 +0100aetepe(~aetepe@188.119.58.34) (Remote host closed the connection)
2025-03-28 21:10:14 +0100j1n37(~j1n37@user/j1n37) (Ping timeout: 260 seconds)
2025-03-28 21:09:29 +0100j1n37-(~j1n37@user/j1n37) j1n37
2025-03-28 21:08:55 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-03-28 21:07:38 +0100slack1256(~slack1256@2803:c600:5111:9ab8:84f4:ae24:2907:edab) (Remote host closed the connection)
2025-03-28 21:00:36 +0100AlexZenon(~alzenon@178.34.150.194)
2025-03-28 20:59:21 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-03-28 20:58:10 +0100 <absence> tomsmeding: So I've heard, it just feels extra weird when it's inside a functor. But I guess there's no other way?
2025-03-28 20:57:57 +0100AlexZenon(~alzenon@178.34.150.194) (Ping timeout: 252 seconds)
2025-03-28 20:57:17 +0100 <[exa]> ok thanks guys for consultation again! :)
2025-03-28 20:57:01 +0100 <tomsmeding> the standard fix for simplified subsumption breaking your code is indeed eta-expansion
2025-03-28 20:56:52 +0100Square(~Square@user/square) (Ping timeout: 252 seconds)
2025-03-28 20:56:52 +0100Square2(~Square@user/square) (Ping timeout: 252 seconds)
2025-03-28 20:56:50 +0100 <[exa]> merijn: yeah I think that will be it
2025-03-28 20:56:41 +0100ljdarj1ljdarj
2025-03-28 20:56:41 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-03-28 20:56:39 +0100 <absence> What's the best way to deal with forall mismatches after simplified subsumption? I just made some code compile by writing "fmap (\f x -> f x)", which looks a bit silly, and isn't very intuitive...
2025-03-28 20:56:27 +0100 <[exa]> ok this actually at least proves that my idea with writer is off
2025-03-28 20:56:21 +0100 <merijn> [exa]: conduit works really well with the various parsecs where you just write a parser for one record and emit as you finish them
2025-03-28 20:56:11 +0100 <[exa]> tomsmeding: good point, it should hold until it's clear that it won't backtrack
2025-03-28 20:55:54 +0100 <merijn> [exa]: You probably want streaming libraries then, yeah
2025-03-28 20:55:41 +0100 <tomsmeding> [exa]: what if the Parser backtracks? Do you keep your writer state? (Flashback to a few days ago)
2025-03-28 20:55:20 +0100 <[exa]> sounds kinda like I want the actual streamy libraries, right.
2025-03-28 20:55:02 +0100 <[exa]> yeah this is for something like RDF turtle, I was thinking about emitting the triples directly without structure.
2025-03-28 20:54:38 +0100 <tomsmeding> wanting to output the parsed values via `tell` sounds like you want a non-Parser that optionally uses Parser inside to parse little chunks