Newest at the top
| 2025-12-16 11:09:19 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 240 seconds) |
| 2025-12-16 11:09:18 +0100 | humasect_ | (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 260 seconds) |
| 2025-12-16 11:06:28 +0100 | mangoiv | (~mangoiv@user/mangoiv) mangoiv |
| 2025-12-16 11:04:52 +0100 | merijn | (~merijn@77.242.116.146) merijn |
| 2025-12-16 11:04:41 +0100 | humasect_ | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-16 11:00:10 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-12-16 10:58:07 +0100 | fp1 | (~Thunderbi@wireless-86-50-140-165.open.aalto.fi) (Ping timeout: 240 seconds) |
| 2025-12-16 10:58:05 +0100 | fp | (~Thunderbi@130.233.70.102) (Ping timeout: 250 seconds) |
| 2025-12-16 10:57:49 +0100 | <dminuoso> | This. |
| 2025-12-16 10:57:47 +0100 | <dminuoso> | `bindEither :: (Enum a, Selective f) => f (Either a b) -> (a -> f b) -> f b` |
| 2025-12-16 10:57:08 +0100 | <dminuoso> | Ah no, not quite. |
| 2025-12-16 10:57:03 +0100 | poscat0x04 | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-12-16 10:56:30 +0100 | chromoblob | ✌️ ski |
| 2025-12-16 10:56:30 +0100 | <dminuoso> | I think you should be able to write `>>= :: (Enum a, Selective f) => f a -> (a -> f b) -> f b` |
| 2025-12-16 10:55:30 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2025-12-16 10:55:07 +0100 | <dminuoso> | This should be a fun excercise, let me try this. |
| 2025-12-16 10:54:07 +0100 | fp1 | (~Thunderbi@wireless-86-50-140-165.open.aalto.fi) fp |
| 2025-12-16 10:53:41 +0100 | <gentauro> | makes sense |
| 2025-12-16 10:53:38 +0100 | fp | (~Thunderbi@130.233.70.102) fp |
| 2025-12-16 10:53:20 +0100 | <dminuoso> | But it would result in downright silly performance. |
| 2025-12-16 10:53:09 +0100 | <dminuoso> | gentauro: I think you could do a kind of recursion trick parsing it with `select` perhaps. |
| 2025-12-16 10:52:59 +0100 | <gentauro> | ex: list of strings |
| 2025-12-16 10:52:30 +0100 | <gentauro> | if you parse, lets say encoded bytes over the wire, where the length is encoded in varInt/zigZag/…, you MUST use `>>=` to parse length to ensure correct boundries with upcoming bytes? |
| 2025-12-16 10:51:49 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 260 seconds) |
| 2025-12-16 10:50:45 +0100 | <dminuoso> | I'll leave the decision up to you whether you should do that. :-) |
| 2025-12-16 10:50:26 +0100 | <dminuoso> | [exa]: *If* your Int is bounded, in theory you could also describe it with Selective of course if you enumerate every possible number in your program. |
| 2025-12-16 10:48:51 +0100 | <dminuoso> | This describes precisely an effect that depends on the result of a previous effect. |
| 2025-12-16 10:48:17 +0100 | <yahb2> | (>>=) :: Monad m => m a -> (a -> m b) -> m b |
| 2025-12-16 10:48:17 +0100 | <dminuoso> | % :t (>>=) |
| 2025-12-16 10:48:12 +0100 | <yahb2> | <interactive>:1:1: error: [GHC-88464] ; Variable not in scope: >>=> ; Suggested fix: Perhaps use ‘>>=’ (imported from Prelude) |
| 2025-12-16 10:48:12 +0100 | <dminuoso> | % :t (>>=>) |
| 2025-12-16 10:47:49 +0100 | <dminuoso> | [exa]: No, that's precisely the upgrade you get from Monad over Applicative or Selective. |
| 2025-12-16 10:46:19 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-12-16 10:45:56 +0100 | trickard_ | trickard |
| 2025-12-16 10:45:05 +0100 | <gentauro> | but truth to be told, I'm building from GIT (scratch), so I'm not really impacted by that issue. (they have made a simplex-chat-desktop heavy on the UI, but not the simplex-chat-cli, which is what I'm trying to do, but, if I can't build locally, pretty diff to make a pkg) |
| 2025-12-16 10:44:54 +0100 | <dminuoso> | s/AMPD/AMP/ |
| 2025-12-16 10:44:49 +0100 | <dminuoso> | gentauro: I favour `pure` only, but I learned Haskell post AMPD. |
| 2025-12-16 10:42:22 +0100 | <gentauro> | tomsmeding: jep xD |
| 2025-12-16 10:34:33 +0100 | fp | (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 256 seconds) |
| 2025-12-16 10:30:48 +0100 | kuribas | (~user@2a02:1808:41:7270:9839:ee7c:6379:63a8) (Ping timeout: 260 seconds) |
| 2025-12-16 10:28:36 +0100 | sp1ff | (~user@2601:1c2:4c00:6820::c593) sp1ff |
| 2025-12-16 10:24:01 +0100 | sp1ff | (~user@2601:1c2:4c00:6820::c593) (Ping timeout: 246 seconds) |
| 2025-12-16 10:18:40 +0100 | Googulator18 | Googulator |
| 2025-12-16 10:18:18 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2025-12-16 10:16:28 +0100 | chele | (~chele@user/chele) chele |
| 2025-12-16 10:16:14 +0100 | fp1 | fp |
| 2025-12-16 10:16:14 +0100 | fp | (~Thunderbi@dhcp-86-128.eduroam.aalto.fi) (Ping timeout: 260 seconds) |
| 2025-12-16 10:15:43 +0100 | Googulator18 | (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-16 10:15:42 +0100 | Googulator | (~Googulato@2a01-036d-0106-01cb-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-16 10:15:38 +0100 | fp1 | (~Thunderbi@2001:708:20:1406::1370) fp |