2025/12/26

2025-12-26 00:02:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 00:07:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 00:17:57 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-26 00:18:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 00:22:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 00:23:14 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 260 seconds)
2025-12-26 00:30:32 +0000haskellbridge(~hackager@96.28.224.214) (Remote host closed the connection)
2025-12-26 00:31:03 +0000haskellbridge(~hackager@96.28.224.214) hackager
2025-12-26 00:31:03 +0000ChanServ+v haskellbridge
2025-12-26 00:40:53 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-12-26 00:52:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 00:56:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 00:56:55 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2025-12-26 00:59:52 +0000poscat(~poscat@user/poscat) poscat
2025-12-26 01:00:40 +0000CloneOfNone(~CloneOfNo@user/CloneOfNone) (Read error: Connection reset by peer)
2025-12-26 01:00:50 +0000CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2025-12-26 01:08:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 01:09:50 +0000Digit(~Digit@user/digit) Digit
2025-12-26 01:13:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 01:21:20 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-26 01:23:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 01:24:44 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2025-12-26 01:24:54 +0000divlamir(~divlamir@user/divlamir) divlamir
2025-12-26 01:28:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 01:29:39 +0000Tuplanolla(~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.)
2025-12-26 01:32:49 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2025-12-26 01:39:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 01:44:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 01:46:15 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2025-12-26 01:54:16 +0000iqubic(~sophia@2601:602:9203:1660:9e23:79cc:546:311b) iqubic
2025-12-26 01:55:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 01:55:49 +0000 <iqubic> Is there a library that will let me memoize a function of type "Set a -> b"? I understand this might need an additional constraint on 'a', but I'm not sure what it would be.
2025-12-26 01:56:20 +0000tabemann(~tabemann@12.215.215.61) tabemann
2025-12-26 01:59:15 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-26 02:00:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 02:06:55 +0000 <geekosaur> Ord a
2025-12-26 02:08:43 +0000polykernel_(~polykerne@user/polykernel) polykernel
2025-12-26 02:11:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 02:11:09 +0000polykernel(~polykerne@user/polykernel) (Ping timeout: 260 seconds)
2025-12-26 02:11:09 +0000polykernel_polykernel
2025-12-26 02:13:47 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2025-12-26 02:15:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 02:22:38 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-12-26 02:23:43 +0000annamalai(~annamalai@157.32.199.28) (Ping timeout: 240 seconds)
2025-12-26 02:29:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 02:33:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 02:42:11 +0000 <Leary> iqubic: Presumably you can find this on hackage somewhere, but: https://gist.github.com/LSLeary/33a854e1ec1230e7fbcc09e44e1ee71d
2025-12-26 02:58:15 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-26 03:00:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 03:04:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 03:11:25 +0000 <iqubic> I was trying to use MemoTrie, but that doesn't seem to work...
2025-12-26 03:11:49 +0000 <iqubic> @Hackage MemoTrie
2025-12-26 03:11:49 +0000 <lambdabot> https://hackage.haskell.org/package/MemoTrie
2025-12-26 03:13:18 +0000 <iqubic> geekosaur: Do you know if there are any off the shelf ways to memoize functions taking Sets or Maps?
2025-12-26 03:13:31 +0000 <geekosaur> not off the top of my head
2025-12-26 03:14:16 +0000 <iqubic> Hmm... that's annoying. MemoTrie looks good, but it doesn't have instances for Set or Map...
2025-12-26 03:14:21 +0000 <geekosaur> I don't usually have much use for memoization, and the fact that most memoizing functions use `Map` internally makes me wonder if you're just asking for the wrong thing to begin with
2025-12-26 03:15:23 +0000 <iqubic> Well, I'm using this 'Map' to store the state of the system I'm modeling.
2025-12-26 03:15:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 03:20:05 +0000pebble(~pebble@37.63.33.138) pebble
2025-12-26 03:21:21 +0000 <geekosaur> the other issue is that a large `Set` or `Map` would function in that case as an arbitrary number of "parameters", which would make memoization more expensive possibly to the point that it would have diminishing returns
2025-12-26 03:22:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 03:23:19 +0000 <iqubic> Yeah, that does make sense.
2025-12-26 03:24:23 +0000 <iqubic> Why does memoizing over a list make sense?
2025-12-26 03:25:56 +0000 <geekosaur> large lists are kinda their own punishment 🙂
2025-12-26 03:26:52 +0000 <Leary> iqubic: The approach that 'MemoTrie' and related pure approaches take is to index into a lazy data type with one position for each possible argument (holding the result of applying the function). If you can design such a type for `Set` or `Map` then you can use it, but you'll likely be stymied by the fact that they're abstract types.
2025-12-26 03:27:01 +0000 <geekosaur> that said, a more practical reason for not having `Set` or `Map` instances is that instances that require additional constraints have severe limitations when possible at all, and both those instances would require an added `Ord` instance
2025-12-26 03:27:38 +0000 <geekosaur> same reason why you can't have `Set` or `Map` `Monad` instances
2025-12-26 03:29:18 +0000 <Leary> Though `splitRoot` is essentially a look into the internals, so you can probably hack a `HasTrie` instance with it.
2025-12-26 03:30:10 +0000 <glguy> Probably the easiest starting point is to use to list and memoize with a list argument
2025-12-26 03:33:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 03:38:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 03:44:28 +0000emmanuelux_(~emmanuelu@user/emmanuelux) emmanuelux
2025-12-26 03:44:32 +0000kaskal(~kaskal@84-115-235-223.cable.dynamic.surfer.at) (Ping timeout: 240 seconds)
2025-12-26 03:44:33 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-12-26 03:45:59 +0000kaskal(~kaskal@2a02:8388:1a8b:7d00:5666:a937:cb77:6c3b) kaskal
2025-12-26 03:49:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 03:53:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-26 03:54:14 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-12-26 04:05:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 04:10:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-26 04:14:10 +0000acidjnk(~acidjnk@p200300d6e7171922bda2454d8bce8e38.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2025-12-26 04:19:24 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-26 04:21:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 04:21:37 +0000tabemann(~tabemann@12.215.215.61) (Ping timeout: 264 seconds)
2025-12-26 04:26:07 +0000 <haskellbridge> <Zemyla> You could potentially have a Map Monad instance, since the Ord constraint is on k, not a. The main problem is it doesn't let you implement pure.
2025-12-26 04:29:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 04:30:51 +0000 <haskellbridge> <Zemyla> Map k is an alternate form of ReaderT k Maybe.
2025-12-26 04:32:27 +0000jreicher(~user@user/jreicher) jreicher
2025-12-26 04:37:32 +0000hsw(~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) hsw
2025-12-26 04:37:36 +0000hsw_(~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) hsw
2025-12-26 04:37:45 +0000hsw_(~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) (Remote host closed the connection)
2025-12-26 04:40:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 04:42:40 +0000tabemann(~tabemann@12.215.215.61) tabemann
2025-12-26 04:45:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-26 04:46:18 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 260 seconds)
2025-12-26 04:50:28 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-12-26 04:54:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 04:59:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 05:01:33 +0000vanishingideal(~vanishing@user/vanishingideal) (Remote host closed the connection)
2025-12-26 05:05:27 +0000spew(~spew@user/spew) (Quit: nyaa~)
2025-12-26 05:10:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 05:14:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 05:18:06 +0000annamalai(~annamalai@157.32.132.85) annamalai
2025-12-26 05:26:12 +0000merijn(~merijn@62.45.136.136) merijn
2025-12-26 05:30:55 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds)
2025-12-26 05:31:15 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2025-12-26 05:34:03 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
2025-12-26 05:36:15 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-26 05:36:33 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-12-26 05:36:52 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-26 05:40:22 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2025-12-26 05:41:32 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-12-26 05:41:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 05:47:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-12-26 05:57:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 06:01:33 +0000itaipu(~itaipu@168.121.97.28) (Read error: Connection reset by peer)
2025-12-26 06:04:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 06:15:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 06:19:04 +0000itaipu(~itaipu@168.121.97.28) itaipu
2025-12-26 06:19:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-26 06:31:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 06:36:09 +0000pebble(~pebble@37.63.33.138) (Read error: Connection reset by peer)
2025-12-26 06:36:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 06:46:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 06:51:27 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-26 06:55:32 +0000synchromesh(~john@2406:5a00:2412:2c00:c4e1:4071:89e4:83f7) (Read error: Connection reset by peer)
2025-12-26 06:55:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 06:56:06 +0000synchromesh(~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) synchromesh
2025-12-26 07:00:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 07:05:58 +0000j1n37-(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-12-26 07:06:08 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-12-26 07:11:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 07:15:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-12-26 07:26:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 07:30:23 +0000annamalai(~annamalai@157.32.132.85) (Remote host closed the connection)
2025-12-26 07:30:38 +0000annamalai(~annamalai@2409:4042:218b:8d26::2684:98a1) annamalai
2025-12-26 07:31:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 07:42:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 07:46:17 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2025-12-26 07:47:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-26 07:56:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 08:03:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 08:14:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 08:15:01 +0000sroso(~sroso@user/SrOso) (Quit: Leaving :))
2025-12-26 08:19:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 08:22:35 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds)
2025-12-26 08:23:07 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-26 08:30:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 08:34:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 08:35:39 +0000haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-12-26 08:43:06 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2025-12-26 08:43:26 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-12-26 08:45:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 08:48:56 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-12-26 08:52:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 08:57:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 09:00:38 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-26 09:02:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-26 09:11:11 +0000emmanuelux_(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-12-26 09:15:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 09:20:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-26 09:31:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 09:35:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 09:43:37 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-12-26 09:46:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 09:51:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-26 09:58:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 09:58:43 +0000ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-12-26 10:00:02 +0000ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-12-26 10:00:07 +0000ljdarj1ljdarj
2025-12-26 10:03:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-26 10:13:25 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds)
2025-12-26 10:14:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 10:18:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 10:26:38 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-12-26 10:27:36 +0000califax(~califax@user/califx) califx
2025-12-26 10:28:23 +0000ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-12-26 10:28:48 +0000ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-12-26 10:28:50 +0000ljdarj1ljdarj
2025-12-26 10:29:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 10:31:21 +0000ljdarj(~Thunderbi@user/ljdarj) (Read error: Connection reset by peer)
2025-12-26 10:34:02 +0000Tuplanolla(~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) Tuplanolla
2025-12-26 10:36:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 10:41:24 +0000rainbyte(~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
2025-12-26 10:42:05 +0000rainbyte(~rainbyte@186.22.19.214) rainbyte
2025-12-26 10:44:16 +0000068AABI46(~wz1000@2a01:4f9:c012:de50::1) (Quit: ZNC 1.8.2 - https://znc.in)
2025-12-26 10:47:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 10:50:56 +0000pebble(~pebble@37.63.33.138) pebble
2025-12-26 10:52:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 10:55:03 +0000acidjnk(~acidjnk@p200300d6e7171923edacc98e824f0ce3.dip0.t-ipconnect.de) acidjnk
2025-12-26 10:59:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 11:04:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-26 11:15:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 11:20:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 11:31:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 11:33:01 +0000karenw(~karenw@user/karenw) karenw
2025-12-26 11:33:21 +0000califax_(~califax@user/califx) califx
2025-12-26 11:34:47 +0000califax(~califax@user/califx) (Ping timeout: 252 seconds)
2025-12-26 11:34:47 +0000califax_califax
2025-12-26 11:36:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-26 11:46:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 11:51:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-26 12:00:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 12:05:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 12:10:35 +0000Digit(~Digit@user/digit) (Ping timeout: 240 seconds)
2025-12-26 12:10:43 +0000Digitteknohippie(~Digit@user/digit) Digit
2025-12-26 12:16:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 12:17:16 +0000karenw(~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2025-12-26 12:21:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-26 12:32:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 12:36:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 12:39:31 +0000lockna_(~lockna@193-81-168-132.hdsl.highway.telekom.at) lockna
2025-12-26 12:44:13 +0000haritz(~hrtz@user/haritz) haritz
2025-12-26 12:45:38 +0000poscat(~poscat@user/poscat) (Quit: Bye)
2025-12-26 12:45:48 +0000poscat(~poscat@user/poscat) poscat
2025-12-26 12:52:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 12:56:01 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-12-26 12:56:47 +0000sshine(~simon@dao.mechanicus.xyz) ()
2025-12-26 12:57:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 12:58:22 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-26 12:58:54 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-26 13:01:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 13:08:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 13:11:18 +0000 <ncf> Map k isn't a Monad, but it is a Bind (a monad without unit, or "semigroupad"). it is also equipped with a morphism Map k (Either a (Map k a)) → Map k a, which means that Either a (Map k a) is in a sense the "free monad" on this semigroupad (equivalently, Map k is the T₀ part of an ideal monad https://hackage.haskell.org/package/monad-ideals)
2025-12-26 13:18:03 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-26 13:19:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 13:20:40 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2025-12-26 13:21:00 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-12-26 13:21:59 +0000califax(~califax@user/califx) califx
2025-12-26 13:24:01 +0000 <yin> Morj: I used to have haskell-language-server-wrapper. I still do, but I used to too.
2025-12-26 13:24:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-26 13:26:14 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-12-26 13:26:40 +0000wennefer0_____(~wennefer0@user/wennefer0) wennefer0
2025-12-26 13:27:45 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-12-26 13:28:42 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds)
2025-12-26 13:30:55 +0000wennefer0_____(~wennefer0@user/wennefer0) (Ping timeout: 240 seconds)
2025-12-26 13:31:51 +0000ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-12-26 13:32:29 +0000ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
2025-12-26 13:32:29 +0000ljdarj1ljdarj
2025-12-26 13:35:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 13:35:59 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-12-26 13:37:10 +0000califax(~califax@user/califx) califx
2025-12-26 13:38:51 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-12-26 13:40:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 13:49:55 +0000 <[exa]> meh, is there any intuition/good examples for explaining why Monad Complex is written as it is? `a :+ b >>= f = realPart (f a) :+ imagPart (f b)`
2025-12-26 13:51:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 13:51:46 +0000 <Franciman> seems like monad for (a, a)
2025-12-26 13:52:17 +0000 <Franciman> ah no
2025-12-26 13:55:06 +0000 <Franciman> f :: x -> Complex x, but you only extract real part
2025-12-26 13:55:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 13:56:08 +0000 <Franciman> what example has type x -> Complex x ?
2025-12-26 13:56:36 +0000 <Franciman> given a real, you want to build a complex
2025-12-26 13:57:46 +0000 <Franciman> ok one example is given theta, build e^{i*theta} = sin(theta) + i cos(theta)
2025-12-26 14:00:01 +0000 <Franciman> [exa]: https://vitez.me/complex-monad
2025-12-26 14:00:16 +0000 <Franciman> here they say they don't like it, and it seems it's more for general pairing than actual complex structure
2025-12-26 14:00:41 +0000 <Franciman> this is more interesting
2025-12-26 14:00:43 +0000 <Franciman> https://stackoverflow.com/questions/47181078/meaning-and-usage-of-complex-number-functor-and-monad
2025-12-26 14:02:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 14:05:02 +0000 <ncf> [exa]: it's the Pair monad, aka Reader Bool
2025-12-26 14:05:22 +0000spew(~spew@user/spew) spew
2025-12-26 14:05:37 +0000 <ncf> (i don't know why Complex needs a Monad instance, but here you go)
2025-12-26 14:07:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 14:18:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 14:22:08 +0000Pozyomka(~pyon@user/pyon) (Quit: bbl)
2025-12-26 14:23:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 14:24:41 +0000rainbyte(~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
2025-12-26 14:27:17 +0000rainbyte(~rainbyte@186.22.19.214) rainbyte
2025-12-26 14:34:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 14:38:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 14:48:18 +0000__monty__(~toonn@user/toonn) toonn
2025-12-26 14:49:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 14:55:45 +0000YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 245 seconds)
2025-12-26 14:56:25 +0000Pozyomka(~pyon@user/pyon) pyon
2025-12-26 14:56:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 15:00:01 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-26 15:00:07 +0000YoungFrog(~youngfrog@2a02:a03f:ca07:f900:2fab:8436:f7d2:8c4a) youngfrog
2025-12-26 15:01:54 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-12-26 15:03:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 15:04:23 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds)
2025-12-26 15:06:26 +0000karenw(~karenw@user/karenw) karenw
2025-12-26 15:08:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-26 15:18:20 +0000 <[exa]> Franciman ncf oh so it's mainly to force the instance into existence while aligning with how the applicative works
2025-12-26 15:18:24 +0000 <[exa]> ok fair enough
2025-12-26 15:18:33 +0000 <[exa]> thanks :)
2025-12-26 15:19:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 15:19:32 +0000 <ncf> (well, i think there's only one (lawful) monad instance you can write)
2025-12-26 15:20:07 +0000 <Franciman> they mention this phenomenon in the mailing list that is referred to in the stackoverflow thread
2025-12-26 15:21:54 +0000 <Franciman> hi ncf !
2025-12-26 15:23:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 15:28:23 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-12-26 15:31:28 +0000 <[exa]> yeah, it's ... unpleasantly rigorous
2025-12-26 15:34:24 +0000Sgeo(~Sgeo@user/sgeo) Sgeo
2025-12-26 15:35:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 15:40:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-12-26 15:50:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 15:55:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-26 16:00:32 +0000karenw(~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2025-12-26 16:03:58 +0000Axman6(~Axman6@user/axman6) (Remote host closed the connection)
2025-12-26 16:04:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 16:09:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 16:20:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 16:24:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 16:32:10 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds)
2025-12-26 16:36:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 16:37:44 +0000ZLima12_(~zlima12@user/meow/ZLima12) ZLima12
2025-12-26 16:37:59 +0000ZLima12(~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
2025-12-26 16:40:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-12-26 16:51:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 16:56:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-26 16:56:39 +0000DigitteknohippieDigit
2025-12-26 17:05:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 17:10:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-26 17:11:43 +0000 <haskellbridge> <Liamzee> umm, been thinking, doesn't unsafeInterleaveIO violate referential transparency? I guess that's implied by the name!
2025-12-26 17:12:42 +0000 <geekosaur> yes
2025-12-26 17:12:54 +0000 <haskellbridge> <Liamzee> but, implicitly, i can have a pure function trigger an effect on its own simply by evaluating a value that causes unsafeInterleaveIO to throw effects
2025-12-26 17:13:11 +0000 <geekosaur> yep, that's exactly the point of it
2025-12-26 17:13:17 +0000sroso(~sroso@user/SrOso) SrOso
2025-12-26 17:13:23 +0000 <geekosaur> and why it's `unsafe`
2025-12-26 17:14:04 +0000 <haskellbridge> <Liamzee> i just never thought about it in the sense of having pure functions evaluate through unsafeInterleaveIO
2025-12-26 17:14:14 +0000 <haskellbridge> <Liamzee> I thought of it more like, actions doing so
2025-12-26 17:15:31 +0000 <ncf> ?
2025-12-26 17:16:25 +0000synchromesh(~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) (Read error: Connection reset by peer)
2025-12-26 17:16:33 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2025-12-26 17:16:43 +0000 <ncf> oh never mind, i misread
2025-12-26 17:17:52 +0000synchromesh(~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) synchromesh
2025-12-26 17:20:03 +0000 <c_wraith> At least there's still an IO in the type at the end to tell you there are effects going on.
2025-12-26 17:20:42 +0000 <c_wraith> Compare that to unsafeInterleaveST, which leaves no traces behind....
2025-12-26 17:21:12 +0000 <ski> Liamzee : there is an argument that observed differences in behaviour as to if and when the I/O occurs, is due to the nondeterminacy of the `IO' in the result type of `unsafeInterleaveIO', similarly to how `forkIO' (concurrency) introduce nondeterminacy with how threads will be scheduled wrt each other. iow, `unsafeInterleaveIO' would guarantee that the I/O might or might not happen (but obviously must've
2025-12-26 17:21:18 +0000 <ski> happened before forcing the returned value, if that happens)
2025-12-26 17:21:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 17:24:01 +0000 <ski> iow, the "have a pure function trigger an effect on its own simply by evaluating a value that causes unsafeInterleaveIO to throw effects" would be a particular implementation choice, for efficiency, but the compiler would be allowed to schedule the I/O to happen earlier (and so earlier than other I/O actions not sequenced wrt this one), if it could show that the result value would eventually get forced
2025-12-26 17:25:20 +0000 <ski> otoh, this argument does not work for `unsafeInterleaveST', there's no concurrency in `ST s'
2025-12-26 17:26:32 +0000 <ncf> now that i think about it: is it true that unsafeInterleaveIO ma = pure (unsafePerformIO ma) ? it sure seems like that's what the implementation is doing
2025-12-26 17:27:09 +0000 <ncf> ah, not quite, it's using the input RealWorld instead of creating one out of thin air
2025-12-26 17:27:44 +0000 <ski> you'd not be surprised by an I/O action in an invocation of `forkIO' happening at different times, on different runs, so you should also not be surprised by the I/O with `unsafeInterleaveIO' being hard to predict when it happens
2025-12-26 17:27:45 +0000 <haskellbridge> <Liamzee> TBH I'm still looking at FFI and I'm thinking about using unsafeInterleaveIO with a mutex to allow streaming of FFI read-in-place
2025-12-26 17:27:47 +0000ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-12-26 17:27:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-12-26 17:28:21 +0000 <haskellbridge> <Liamzee> but w/e this is fancy, I'll be happy just to get RecordBatch from arrow-rs being converted to a dataframe without segfaulting
2025-12-26 17:28:28 +0000 <haskellbridge> <Liamzee> via a copy
2025-12-26 17:30:42 +0000 <ncf> so an equivalent formulation of unsafeInterleaveIO should be choice :: IO (IO a → a)
2025-12-26 17:31:21 +0000 <ncf> well, not equivalent, more primitive
2025-12-26 17:31:41 +0000 <ncf> given choice, you can implement unsafeInterleaveIO ma = choice <*> ma
2025-12-26 17:32:07 +0000 <ncf> (i call it choice because it's a form of choice if you replace IO with a propositional truncation modality, but this is a bad name)
2025-12-26 17:32:47 +0000 <ski> you mean `choice <*> pure ma' ?
2025-12-26 17:32:59 +0000 <ncf> yeah
2025-12-26 17:33:20 +0000 <ski> (aka `($ ma) <$> choice')
2025-12-26 17:34:03 +0000 <haskellbridge> <Liamzee> now that i think about it: is it true that unsafeInterleaveIO ma = pure (unsafePerformIO ma) ? it sure seems like that's what the implementation is doing
2025-12-26 17:34:06 +0000 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/pUZqcmzrNFjqpSRguxhgPvfI/iqhSMNoSnW4 (3 lines)
2025-12-26 17:34:31 +0000 <ncf> in terms of the state monad, choice s = (\ k -> fst (k s), s)
2025-12-26 17:34:36 +0000 <ski> type reminds me a little of `loeb :: Functor f => f (f a -> a) -> f a'
2025-12-26 17:34:37 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-12-26 17:35:04 +0000 <ncf> yeah, it has the form of the premise. i don't think it's really related though, since we're not interested in taking fixed points
2025-12-26 17:35:36 +0000 <ski> mm
2025-12-26 17:36:10 +0000 <ncf> it comes up in https://lmcs.episciences.org/3217/pdf theorem 7.7
2025-12-26 17:36:40 +0000 <ncf> if you replace IO with propositional truncation, then the assumption of choice as above is equivalent to the "world's smallest axiom of choice" (choice over propositions)
2025-12-26 17:37:19 +0000 <ski> "How does it matter that it's still using the original RealWorld?" -- mm, i guess it means the action can't be scheduled to happen before the invocation of `unsafeInterleaveIO' happens
2025-12-26 17:37:19 +0000 <ncf> it also comes up here https://proofassistants.stackexchange.com/a/932 as the "irrelevance axiom"
2025-12-26 17:37:38 +0000 <ncf> yeah that's the point
2025-12-26 17:37:51 +0000 <haskellbridge> <Liamzee> Also:
2025-12-26 17:37:53 +0000 <haskellbridge> <Liamzee> https://hackage-content.haskell.org/package/ghc-internal-9.1401.0/docs/src/GHC.Internal.IO.Unsafe.…
2025-12-26 17:39:29 +0000merijn(~merijn@62.45.136.136) merijn
2025-12-26 17:43:55 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 240 seconds)
2025-12-26 17:46:53 +0000L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-12-26 17:48:04 +0000tabemann(~tabemann@12.215.215.61) (Quit: Leaving)
2025-12-26 17:55:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 17:59:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 18:06:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 18:11:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-26 18:15:02 +0000emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2025-12-26 18:15:19 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Remote host closed the connection)
2025-12-26 18:22:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 18:27:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 18:38:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 18:42:48 +0000rainbyte_(~rainbyte@186.22.19.214) rainbyte
2025-12-26 18:42:50 +0000rainbyte(~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
2025-12-26 18:42:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 18:43:01 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-12-26 18:53:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 18:57:11 +0000target_i(~target_i@user/target-i/x-6023099) target_i
2025-12-26 18:58:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 19:04:07 +0000 <monochrom> About the paper. I saw "Merely Inhabited" and misread as "Merrily Inhabited". Must be the seaon holidays. Merry Inhabited Holidays!
2025-12-26 19:09:55 +0000 <ncf> mere christmas
2025-12-26 19:10:40 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2025-12-26 19:22:01 +0000omidmash(~omidmash@user/omidmash) omidmash
2025-12-26 19:34:18 +0000Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-12-26 19:34:55 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2025-12-26 19:35:36 +0000Lord_of_Life_Lord_of_Life
2025-12-26 19:42:31 +0000karenw(~karenw@user/karenw) karenw
2025-12-26 19:44:47 +0000pavonia(~user@user/siracusa) siracusa
2025-12-26 20:00:38 +0000ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
2025-12-26 20:02:31 +0000ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin
2025-12-26 20:04:49 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2025-12-26 20:05:08 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2025-12-26 20:08:33 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 20:13:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-26 20:14:12 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 20:14:47 +0000tessier(~tessier@ip68-8-117-219.sd.sd.cox.net) tessier
2025-12-26 20:16:33 +0000img(~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
2025-12-26 20:17:47 +0000img(~img@user/img) img
2025-12-26 20:20:48 +0000wennefer0_(~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-12-26 20:23:25 +0000ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
2025-12-26 20:24:09 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 20:24:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 20:25:14 +0000ThePenguin(~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin
2025-12-26 20:25:50 +0000wennefer0__(~wennefer0@user/wennefer0) wennefer0
2025-12-26 20:26:42 +0000wennefer0_(~wennefer0@user/wennefer0) (Remote host closed the connection)
2025-12-26 20:28:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 20:31:24 +0000jle`(~jle`@2603:8001:3b00:11:47ff:a93:5f74:967) (Ping timeout: 244 seconds)
2025-12-26 20:33:26 +0000pebble(~pebble@37.63.33.138) (Read error: Connection reset by peer)
2025-12-26 20:36:07 +0000target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-12-26 20:36:53 +0000wennefer0__(~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-12-26 20:39:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 20:44:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-26 20:49:31 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 20:50:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 20:51:40 +0000wennefer0______(~wennefer0@user/wennefer0) wennefer0
2025-12-26 20:53:31 +0000wennefer0_(~wennefer0@user/wennefer0) (Client Quit)
2025-12-26 20:54:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 20:56:21 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-12-26 20:57:13 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 20:57:19 +0000wennefer0______(~wennefer0@user/wennefer0) (Remote host closed the connection)
2025-12-26 21:03:07 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2025-12-26 21:04:36 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-12-26 21:06:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 21:13:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 21:17:34 +0000wennefer0_(~wennefer0@user/wennefer0) (Quit: Textual IRC Client: www.textualapp.com)
2025-12-26 21:19:18 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 21:21:10 +0000wennefer0_71(~wennefer0@user/wennefer0) wennefer0
2025-12-26 21:22:27 +0000wennefer0_71(~wennefer0@user/wennefer0) (Remote host closed the connection)
2025-12-26 21:23:44 +0000wennefer0_27(~wennefer0@user/wennefer0) wennefer0
2025-12-26 21:24:01 +0000wennefer0_27(~wennefer0@user/wennefer0) (Remote host closed the connection)
2025-12-26 21:24:11 +0000wennefer0_______(~wennefer0@user/wennefer0) wennefer0
2025-12-26 21:25:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 21:25:45 +0000wennefer0_(~wennefer0@user/wennefer0) (Quit: Textual IRC Client: www.textualapp.com)
2025-12-26 21:25:55 +0000wennefer0_______(~wennefer0@user/wennefer0) (Remote host closed the connection)
2025-12-26 21:25:55 +0000synchromesh(~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) (Read error: Connection reset by peer)
2025-12-26 21:26:12 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 21:27:27 +0000wennefer0_______(~wennefer0@user/wennefer0) wennefer0
2025-12-26 21:27:39 +0000synchromesh(~john@2406:5a00:2412:2c00:694d:f25a:3b3c:f3f9) synchromesh
2025-12-26 21:30:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-12-26 21:30:51 +0000wennefer0_______(~wennefer0@user/wennefer0) (Remote host closed the connection)
2025-12-26 21:34:21 +0000orangeFlu(~user@2a02:2f0d:c000:5a00:67a2:16d6:6fec:4137) orangeFlu
2025-12-26 21:35:59 +0000 <orangeFlu> i was wondering.. i remember there being a bot on this channel that you can use to execute haskell code, is that still the case?
2025-12-26 21:37:13 +0000 <ncf> > "yes"
2025-12-26 21:37:14 +0000 <lambdabot> "yes"
2025-12-26 21:37:19 +0000 <ncf> % "there's two of us!""
2025-12-26 21:37:19 +0000 <yahb2> <interactive>:139:21: error: [GHC-21231] ; lexical error at end of input
2025-12-26 21:38:08 +0000 <orangeFlu> ok, i'm more wondering how the bot is programmed. I assume it's in some kind of container or something, but does anybody have any details or the source?
2025-12-26 21:38:20 +0000 <orangeFlu> I need to build something similar for a project
2025-12-26 21:39:26 +0000 <mauke> @where lambdabot
2025-12-26 21:39:26 +0000 <lambdabot> https://wiki.haskell.org/IRC_channel#lambdabot
2025-12-26 21:39:58 +0000jle`(~jle`@2603:8001:3b00:11:94e9:8912:a399:fd05) jle`
2025-12-26 21:40:18 +0000 <mauke> https://archives.haskell.org/code.haskell.org/lambdabot/ seems a bit old
2025-12-26 21:40:36 +0000 <EvanR> > text "yes"
2025-12-26 21:40:37 +0000 <lambdabot> yes
2025-12-26 21:40:47 +0000 <EvanR> @faq can haskell do that
2025-12-26 21:40:47 +0000 <lambdabot> https://wiki.haskell.org/FAQ
2025-12-26 21:40:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 21:40:53 +0000 <EvanR> :(
2025-12-26 21:41:36 +0000 <geekosaur> @version
2025-12-26 21:41:36 +0000 <lambdabot> lambdabot 5.3.1.2
2025-12-26 21:41:37 +0000 <lambdabot> git clone https://github.com/lambdabot/lambdabot
2025-12-26 21:42:26 +0000 <mauke> @where+ lambdabot https://github.com/lambdabot/lambdabot https://wiki.haskell.org/IRC_channel#lambdabot
2025-12-26 21:42:26 +0000 <lambdabot> Nice!
2025-12-26 21:43:38 +0000 <orangeFlu> thank you so much!
2025-12-26 21:44:36 +0000 <mauke> @where yahb
2025-12-26 21:44:36 +0000 <lambdabot> I know nothing about yahb.
2025-12-26 21:45:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 21:45:58 +0000 <Leary> https://git.tomsmeding.com/yahb2/tree/
2025-12-26 21:47:16 +0000 <geekosaur> sorry, was looking for that. it would be a better starting place, since lambdabot is actually hard to extend and modify in various ways
2025-12-26 21:47:24 +0000 <geekosaur> its age definitely shows, sadly
2025-12-26 21:48:20 +0000 <mauke> @where yahb2
2025-12-26 21:48:20 +0000 <lambdabot> https://git.tomsmeding.com/yahb2
2025-12-26 21:48:23 +0000 <mauke> hah
2025-12-26 21:48:59 +0000 <mauke> preflex: store yahb2 https://git.tomsmeding.com/yahb2
2025-12-26 21:51:25 +0000wennefer0_(~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-12-26 21:56:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 22:01:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-12-26 22:02:53 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2025-12-26 22:06:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 22:08:59 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-12-26 22:10:29 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-12-26 22:14:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 22:17:59 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 22:25:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 22:29:47 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2025-12-26 22:32:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-26 22:42:37 +0000itaipu(~itaipu@168.121.97.28) (Read error: Connection reset by peer)
2025-12-26 22:43:42 +0000rawles(sid630849@user/rawles) rawles
2025-12-26 22:44:00 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 22:47:15 +0000karenw(~karenw@user/karenw) (Ping timeout: 240 seconds)
2025-12-26 22:47:48 +0000orangeFlu(~user@2a02:2f0d:c000:5a00:67a2:16d6:6fec:4137) (Ping timeout: 260 seconds)
2025-12-26 22:48:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-26 22:48:55 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds)
2025-12-26 22:54:56 +0000mangoiv(~mangoiv@user/mangoiv) (Quit: The Lounge - https://thelounge.chat)
2025-12-26 22:59:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 23:04:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-26 23:11:08 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-12-26 23:11:28 +0000somemathguy(~somemathg@user/somemathguy) somemathguy
2025-12-26 23:11:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 23:16:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-26 23:17:35 +0000wennefer0_(~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-12-26 23:26:01 +0000mangoiv(~mangoiv@user/mangoiv) mangoiv
2025-12-26 23:27:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 23:30:41 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
2025-12-26 23:31:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-26 23:42:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2025-12-26 23:43:34 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-12-26 23:45:28 +0000wennefer0_(~wennefer0@user/wennefer0) wennefer0
2025-12-26 23:47:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-12-26 23:58:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn