2025/04/16

Newest at the top

2025-04-16 14:51:07 +0200 <bwe> coming from: type State s a = (s -> (a, s))
2025-04-16 14:50:58 +0200amadaluzia(~amadaluzi@user/amadaluzia) amadaluzia
2025-04-16 14:50:41 +0200 <bwe> So, I am starting now with: newtype State s a = State (s -> (a, s))
2025-04-16 14:50:34 +0200amadaluzia(~amadaluzi@user/amadaluzia) (Ping timeout: 276 seconds)
2025-04-16 14:50:25 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2025-04-16 14:50:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2025-04-16 14:49:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-16 14:49:13 +0200 <[exa]> which is annoying but that ensures that the typesystem can actually work with your stateful computation s->(s,a) specially, not just like some other function
2025-04-16 14:48:50 +0200 <[exa]> yes you suddenly have to remove&add the "type tag" everywhere
2025-04-16 14:46:24 +0200 <bwe> [exa]: that's interesting, shifting from type alias to newtype is bringing me headaches. The function body of the bind does not compile anymore, wherever I try to put State as data constructor.
2025-04-16 14:46:13 +0200jespada(~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada
2025-04-16 14:41:43 +0200jespada(~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-04-16 14:41:07 +0200koz(~koz@121.99.240.58)
2025-04-16 14:37:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-04-16 14:32:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-16 14:30:00 +0200poscat(~poscat@user/poscat) poscat
2025-04-16 14:29:10 +0200xff0x(~xff0x@2405:6580:b080:900:1f70:b482:b471:6289)
2025-04-16 14:28:39 +0200 <[exa]> (the types of these should be roughly `s -> State s ()` and `State s s`, respectively)
2025-04-16 14:28:06 +0200euleritian(~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de)
2025-04-16 14:27:56 +0200 <[exa]> bwe: as the next task try to think how to implement "set state" function and "get state" function
2025-04-16 14:27:19 +0200euleritian(~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2025-04-16 14:25:26 +0200 <[exa]> in particular the last line is basically what you just throw to the monad instance and it should work
2025-04-16 14:24:32 +0200 <[exa]> anyway the rest of that seems ok
2025-04-16 14:24:03 +0200 <[exa]> (doing instances on `type` aliases is .... well, complicated)
2025-04-16 14:23:29 +0200 <[exa]> usually we do with `data` or `newtype`, in this case `newtype State ... = State (.. -> ..)` is probably the way
2025-04-16 14:23:05 +0200 <[exa]> bwe: ok good, first you'll want to make instances on that so you need some kind of type tag for the "function" in your type there
2025-04-16 14:22:05 +0200 <bwe> [exa]: https://github.com/benjaminweb/state-monad/blob/main/src/MyLib.hs
2025-04-16 14:19:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-04-16 14:19:51 +0200euleritian(~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de)
2025-04-16 14:19:31 +0200euleritian(~euleritia@dynamic-176-002-178-231.176.2.pool.telefonica.de) (Read error: Connection reset by peer)
2025-04-16 14:17:59 +0200amadaluzia_(~amadaluzi@user/amadaluzia) amadaluzia
2025-04-16 14:17:50 +0200 <haskellbridge> <eldritchcookie> hello is there any dependency light way for equivalents of System.Environment on OsString?
2025-04-16 14:15:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-16 14:12:29 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-04-16 14:12:01 +0200amadaluzia_(~amadaluzi@user/amadaluzia) (Quit: Hi, this is Paul Allen. I'm being called away to London for a few days. Meredith, I'll call you when I get back. Hasta la vista, baby.)
2025-04-16 14:11:50 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-16 14:11:01 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-04-16 14:10:23 +0200jespada(~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada
2025-04-16 14:07:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-16 14:05:00 +0200koz(~koz@121.99.240.58) (Ping timeout: 272 seconds)
2025-04-16 14:03:26 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-04-16 14:01:03 +0200poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-04-16 13:55:19 +0200fp(~Thunderbi@wireless-86-50-140-117.open.aalto.fi) (Ping timeout: 276 seconds)
2025-04-16 13:54:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-04-16 13:52:44 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-04-16 13:52:17 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 248 seconds)
2025-04-16 13:47:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-04-16 13:44:06 +0200 <[exa]> (this apparent failure guarantees more luck next time!)
2025-04-16 13:43:44 +0200 <[exa]> ok well, I hoped there's an intermediate package there
2025-04-16 13:40:08 +0200 <haskellbridge> <Morj> And servant-typescript generates code using "string-interpolate", not very useful