Newest at the top
2025-04-16 15:16:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-16 15:15:12 +0200 | Catty | catties |
2025-04-16 15:11:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-16 15:10:06 +0200 | <ski> | .. or `newtype State s a = MkState {runState :: s -> (a,s)}', using record syntax notation to automagically get the projection/selector |
2025-04-16 15:10:03 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-04-16 15:09:44 +0200 | Guest38 | (~Guest38@175.143.89.234) () |
2025-04-16 15:08:59 +0200 | Guest38 | (~Guest38@175.143.89.234) |
2025-04-16 15:08:45 +0200 | ski | would use `newtype State s a = MkState (s -> (a,s))', for clarity |
2025-04-16 15:07:02 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-16 15:00:54 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-04-16 14:54:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-04-16 14:51:07 +0200 | <bwe> | coming from: type State s a = (s -> (a, s)) |
2025-04-16 14:50:58 +0200 | amadaluzia | (~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 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 276 seconds) |
2025-04-16 14:50:25 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2025-04-16 14:50:02 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2025-04-16 14:49:37 +0200 | merijn | (~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 +0200 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada |
2025-04-16 14:41:43 +0200 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2025-04-16 14:41:07 +0200 | koz | (~koz@121.99.240.58) |
2025-04-16 14:37:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-04-16 14:32:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-16 14:30:00 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-04-16 14:29:10 +0200 | xff0x | (~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 +0200 | euleritian | (~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 +0200 | euleritian | (~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 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-16 14:19:51 +0200 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
2025-04-16 14:19:31 +0200 | euleritian | (~euleritia@dynamic-176-002-178-231.176.2.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-04-16 14:17:59 +0200 | amadaluzia_ | (~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 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-04-16 14:12:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-04-16 14:12:01 +0200 | amadaluzia_ | (~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 +0200 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-04-16 14:11:01 +0200 | j1n37 | (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
2025-04-16 14:10:23 +0200 | jespada | (~jespada@r190-133-10-247.dialup.adsl.anteldata.net.uy) jespada |
2025-04-16 14:07:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |