Home liberachat/#haskell: Logs Calendar

Logs on 2025-12-26 (liberachat/#haskell)

00:02:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:07:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
00:17:57 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
00:18:24 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:22:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
00:23:14 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 260 seconds)
00:30:32 × haskellbridge quits (~hackager@96.28.224.214) (Remote host closed the connection)
00:31:03 haskellbridge joins (~hackager@96.28.224.214)
00:31:03 ChanServ sets mode +v haskellbridge
00:40:53 vanishingideal joins (~vanishing@user/vanishingideal)
00:52:13 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
00:56:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
00:56:55 × poscat quits (~poscat@user/poscat) (Remote host closed the connection)
00:59:52 poscat joins (~poscat@user/poscat)
01:00:40 × CloneOfNone quits (~CloneOfNo@user/CloneOfNone) (Read error: Connection reset by peer)
01:00:50 CloneOfNone joins (~CloneOfNo@user/CloneOfNone)
01:08:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:09:50 Digit joins (~Digit@user/digit)
01:13:13 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
01:21:20 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
01:23:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:24:44 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
01:24:54 divlamir joins (~divlamir@user/divlamir)
01:28:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
01:29:39 × Tuplanolla quits (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.)
01:32:49 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
01:39:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:44:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
01:46:15 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
01:54:16 iqubic joins (~sophia@2601:602:9203:1660:9e23:79cc:546:311b)
01:55:18 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
01:55:49 <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.
01:56:20 tabemann joins (~tabemann@12.215.215.61)
01:59:15 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
02:00:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:06:55 <geekosaur> Ord a
02:08:43 polykernel_ joins (~polykerne@user/polykernel)
02:11:07 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:11:09 × polykernel quits (~polykerne@user/polykernel) (Ping timeout: 260 seconds)
02:11:09 polykernel_ is now known as polykernel
02:13:47 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
02:15:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:22:38 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:23:43 × annamalai quits (~annamalai@157.32.199.28) (Ping timeout: 240 seconds)
02:29:16 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
02:33:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:42:11 <Leary> iqubic: Presumably you can find this on hackage somewhere, but: https://gist.github.com/LSLeary/33a854e1ec1230e7fbcc09e44e1ee71d
02:58:15 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
03:00:03 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:04:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
03:11:25 <iqubic> I was trying to use MemoTrie, but that doesn't seem to work...
03:11:49 <iqubic> @Hackage MemoTrie
03:11:49 <lambdabot> https://hackage.haskell.org/package/MemoTrie
03:13:18 <iqubic> geekosaur: Do you know if there are any off the shelf ways to memoize functions taking Sets or Maps?
03:13:31 <geekosaur> not off the top of my head
03:14:16 <iqubic> Hmm... that's annoying. MemoTrie looks good, but it doesn't have instances for Set or Map...
03:14:21 <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
03:15:23 <iqubic> Well, I'm using this 'Map' to store the state of the system I'm modeling.
03:15:30 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:20:05 pebble joins (~pebble@37.63.33.138)
03:21:21 <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
03:22:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
03:23:19 <iqubic> Yeah, that does make sense.
03:24:23 <iqubic> Why does memoizing over a list make sense?
03:25:56 <geekosaur> large lists are kinda their own punishment 🙂
03:26:52 <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.
03:27:01 <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
03:27:38 <geekosaur> same reason why you can't have `Set` or `Map` `Monad` instances
03:29:18 <Leary> Though `splitRoot` is essentially a look into the internals, so you can probably hack a `HasTrie` instance with it.
03:30:10 <glguy> Probably the easiest starting point is to use to list and memoize with a list argument
03:33:33 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:38:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
03:44:28 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
03:44:32 × kaskal quits (~kaskal@84-115-235-223.cable.dynamic.surfer.at) (Ping timeout: 240 seconds)
03:44:33 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
03:45:59 kaskal joins (~kaskal@2a02:8388:1a8b:7d00:5666:a937:cb77:6c3b)
03:49:04 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
03:53:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
03:54:14 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
04:05:49 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:10:24 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
04:14:10 × acidjnk quits (~acidjnk@p200300d6e7171922bda2454d8bce8e38.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
04:19:24 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
04:21:13 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:21:37 × tabemann quits (~tabemann@12.215.215.61) (Ping timeout: 264 seconds)
04:26:07 <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.
04:29:43 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
04:30:51 <haskellbridge> <Zemyla> Map k is an alternate form of ReaderT k Maybe.
04:32:27 jreicher joins (~user@user/jreicher)
04:37:32 hsw joins (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw)
04:37:36 hsw_ joins (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw)
04:37:45 × hsw_ quits (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) (Remote host closed the connection)
04:40:02 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:42:40 tabemann joins (~tabemann@12.215.215.61)
04:45:08 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
04:46:18 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 260 seconds)
04:50:28 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
04:54:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
04:59:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:01:33 × vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection)
05:05:27 × spew quits (~spew@user/spew) (Quit: nyaa~)
05:10:22 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:14:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:18:06 annamalai joins (~annamalai@157.32.132.85)
05:26:12 merijn joins (~merijn@62.45.136.136)
05:30:55 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds)
05:31:15 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 252 seconds)
05:34:03 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
05:36:15 chromoblob joins (~chromoblo@user/chromob1ot1c)
05:36:33 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
05:36:52 chromoblob joins (~chromoblo@user/chromob1ot1c)
05:40:22 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
05:41:32 chexum joins (~quassel@gateway/tor-sasl/chexum)
05:41:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
05:47:06 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
05:57:45 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:01:33 × itaipu quits (~itaipu@168.121.97.28) (Read error: Connection reset by peer)
06:04:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
06:15:48 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:19:04 itaipu joins (~itaipu@168.121.97.28)
06:19:58 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
06:31:10 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:36:09 × pebble quits (~pebble@37.63.33.138) (Read error: Connection reset by peer)
06:36:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
06:46:57 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:51:27 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
06:55:32 × synchromesh quits (~john@2406:5a00:2412:2c00:c4e1:4071:89e4:83f7) (Read error: Connection reset by peer)
06:55:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
06:56:06 synchromesh joins (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1)
07:00:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
07:05:58 × j1n37- quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
07:06:08 j1n37 joins (~j1n37@user/j1n37)
07:11:16 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:15:50 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
07:26:50 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:30:23 × annamalai quits (~annamalai@157.32.132.85) (Remote host closed the connection)
07:30:38 annamalai joins (~annamalai@2409:4042:218b:8d26::2684:98a1)
07:31:49 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
07:42:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
07:46:17 peterbecich joins (~Thunderbi@71.84.33.135)
07:47:06 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
07:56:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:03:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
08:14:28 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:15:01 × sroso quits (~sroso@user/SrOso) (Quit: Leaving :))
08:19:13 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
08:22:35 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds)
08:23:07 chromoblob joins (~chromoblo@user/chromob1ot1c)
08:30:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:34:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
08:35:39 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
08:43:06 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
08:43:26 chromoblob joins (~chromoblo@user/chromob1ot1c)
08:45:47 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
08:48:56 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:52:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
08:57:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:00:38 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
09:02:23 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:11:11 × emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
09:15:17 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:20:29 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:31:04 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:35:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
09:43:37 ljdarj joins (~Thunderbi@user/ljdarj)
09:46:51 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:51:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
09:58:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
09:58:43 ljdarj1 joins (~Thunderbi@user/ljdarj)
10:00:02 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
10:00:07 ljdarj1 is now known as ljdarj
10:03:30 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
10:13:25 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds)
10:14:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
10:18:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
10:26:38 × califax quits (~califax@user/califx) (Remote host closed the connection)
10:27:36 califax joins (~califax@user/califx)
10:28:23 ljdarj1 joins (~Thunderbi@user/ljdarj)
10:28:48 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
10:28:50 ljdarj1 is now known as ljdarj
10:29:53 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
10:31:21 × ljdarj quits (~Thunderbi@user/ljdarj) (Read error: Connection reset by peer)
10:34:02 Tuplanolla joins (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi)
10:36:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
10:41:24 × rainbyte quits (~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
10:42:05 rainbyte joins (~rainbyte@186.22.19.214)
10:44:16 × 068AABI46 quits (~wz1000@2a01:4f9:c012:de50::1) (Quit: ZNC 1.8.2 - https://znc.in)
10:47:56 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
10:50:56 pebble joins (~pebble@37.63.33.138)
10:52:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
10:55:03 acidjnk joins (~acidjnk@p200300d6e7171923edacc98e824f0ce3.dip0.t-ipconnect.de)
10:59:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:04:30 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
11:15:30 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:20:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
11:31:18 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:33:01 karenw joins (~karenw@user/karenw)
11:33:21 califax_ joins (~califax@user/califx)
11:34:47 × califax quits (~califax@user/califx) (Ping timeout: 252 seconds)
11:34:47 califax_ is now known as califax
11:36:24 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
11:46:49 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
11:51:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
12:00:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:05:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
12:10:35 × Digit quits (~Digit@user/digit) (Ping timeout: 240 seconds)
12:10:43 Digitteknohippie joins (~Digit@user/digit)
12:16:22 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:17:16 × karenw quits (~karenw@user/karenw) (Quit: Deep into that darkness peering...)
12:21:33 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
12:32:09 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:36:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
12:39:31 lockna_ joins (~lockna@193-81-168-132.hdsl.highway.telekom.at)
12:44:13 haritz joins (~hrtz@user/haritz)
12:45:38 × poscat quits (~poscat@user/poscat) (Quit: Bye)
12:45:48 poscat joins (~poscat@user/poscat)
12:52:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
12:56:01 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
12:56:47 sshine parts (~simon@dao.mechanicus.xyz) ()
12:57:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
12:58:22 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
12:58:54 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
13:01:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
13:08:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
13:11:18 <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)
13:18:03 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
13:19:36 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
13:20:40 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:21:00 × califax quits (~califax@user/califx) (Remote host closed the connection)
13:21:59 califax joins (~califax@user/califx)
13:24:01 <yin> Morj: I used to have haskell-language-server-wrapper. I still do, but I used to too.
13:24:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
13:26:14 × califax quits (~califax@user/califx) (Remote host closed the connection)
13:26:40 wennefer0_____ joins (~wennefer0@user/wennefer0)
13:27:45 ljdarj joins (~Thunderbi@user/ljdarj)
13:28:42 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds)
13:30:55 × wennefer0_____ quits (~wennefer0@user/wennefer0) (Ping timeout: 240 seconds)
13:31:51 ljdarj1 joins (~Thunderbi@user/ljdarj)
13:32:29 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
13:32:29 ljdarj1 is now known as ljdarj
13:35:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
13:35:59 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
13:37:10 califax joins (~califax@user/califx)
13:38:51 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
13:40:15 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
13:49:55 <[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)`
13:51:33 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
13:51:46 <Franciman> seems like monad for (a, a)
13:52:17 <Franciman> ah no
13:55:06 <Franciman> f :: x -> Complex x, but you only extract real part
13:55:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
13:56:08 <Franciman> what example has type x -> Complex x ?
13:56:36 <Franciman> given a real, you want to build a complex
13:57:46 <Franciman> ok one example is given theta, build e^{i*theta} = sin(theta) + i cos(theta)
14:00:01 <Franciman> [exa]: https://vitez.me/complex-monad
14:00:16 <Franciman> here they say they don't like it, and it seems it's more for general pairing than actual complex structure
14:00:41 <Franciman> this is more interesting
14:00:43 <Franciman> https://stackoverflow.com/questions/47181078/meaning-and-usage-of-complex-number-functor-and-monad
14:02:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:05:02 <ncf> [exa]: it's the Pair monad, aka Reader Bool
14:05:22 spew joins (~spew@user/spew)
14:05:37 <ncf> (i don't know why Complex needs a Monad instance, but here you go)
14:07:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
14:18:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:22:08 × Pozyomka quits (~pyon@user/pyon) (Quit: bbl)
14:23:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
14:24:41 × rainbyte quits (~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
14:27:17 rainbyte joins (~rainbyte@186.22.19.214)
14:34:09 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:38:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
14:48:18 __monty__ joins (~toonn@user/toonn)
14:49:56 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
14:55:45 × YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 245 seconds)
14:56:25 Pozyomka joins (~pyon@user/pyon)
14:56:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
15:00:01 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
15:00:07 YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:2fab:8436:f7d2:8c4a)
15:01:54 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
15:03:33 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:04:23 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds)
15:06:26 karenw joins (~karenw@user/karenw)
15:08:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
15:18:20 <[exa]> Franciman ncf oh so it's mainly to force the instance into existence while aligning with how the applicative works
15:18:24 <[exa]> ok fair enough
15:18:33 <[exa]> thanks :)
15:19:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:19:32 <ncf> (well, i think there's only one (lawful) monad instance you can write)
15:20:07 <Franciman> they mention this phenomenon in the mailing list that is referred to in the stackoverflow thread
15:21:54 <Franciman> hi ncf !
15:23:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
15:28:23 wootehfoot joins (~wootehfoo@user/wootehfoot)
15:31:28 <[exa]> yeah, it's ... unpleasantly rigorous
15:34:24 Sgeo joins (~Sgeo@user/sgeo)
15:35:09 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:40:10 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
15:50:55 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
15:55:59 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:00:32 × karenw quits (~karenw@user/karenw) (Quit: Deep into that darkness peering...)
16:03:58 × Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection)
16:04:33 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:09:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
16:20:22 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:24:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
16:32:10 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds)
16:36:09 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:37:44 ZLima12_ joins (~zlima12@user/meow/ZLima12)
16:37:59 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
16:40:49 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
16:51:40 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
16:56:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
16:56:39 Digitteknohippie is now known as Digit
17:05:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
17:10:20 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
17:11:43 <haskellbridge> <Liamzee> umm, been thinking, doesn't unsafeInterleaveIO violate referential transparency? I guess that's implied by the name!
17:12:42 <geekosaur> yes
17:12:54 <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
17:13:11 <geekosaur> yep, that's exactly the point of it
17:13:17 sroso joins (~sroso@user/SrOso)
17:13:23 <geekosaur> and why it's `unsafe`
17:14:04 <haskellbridge> <Liamzee> i just never thought about it in the sense of having pure functions evaluate through unsafeInterleaveIO
17:14:14 <haskellbridge> <Liamzee> I thought of it more like, actions doing so
17:15:31 <ncf> ?
17:16:25 × synchromesh quits (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) (Read error: Connection reset by peer)
17:16:33 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
17:16:43 <ncf> oh never mind, i misread
17:17:52 synchromesh joins (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1)
17:20:03 <c_wraith> At least there's still an IO in the type at the end to tell you there are effects going on.
17:20:42 <c_wraith> Compare that to unsafeInterleaveST, which leaves no traces behind....
17:21:12 <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
17:21:18 <ski> happened before forcing the returned value, if that happens)
17:21:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
17:24:01 <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
17:25:20 <ski> otoh, this argument does not work for `unsafeInterleaveST', there's no concurrency in `ST s'
17:26:32 <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
17:27:09 <ncf> ah, not quite, it's using the input RealWorld instead of creating one out of thin air
17:27:44 <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
17:27:45 <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
17:27:47 ttybitnik joins (~ttybitnik@user/wolper)
17:27:54 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
17:28:21 <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
17:28:28 <haskellbridge> <Liamzee> via a copy
17:30:42 <ncf> so an equivalent formulation of unsafeInterleaveIO should be choice :: IO (IO a → a)
17:31:21 <ncf> well, not equivalent, more primitive
17:31:41 <ncf> given choice, you can implement unsafeInterleaveIO ma = choice <*> ma
17:32:07 <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)
17:32:47 <ski> you mean `choice <*> pure ma' ?
17:32:59 <ncf> yeah
17:33:20 <ski> (aka `($ ma) <$> choice')
17:34:03 <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
17:34:06 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/pUZqcmzrNFjqpSRguxhgPvfI/iqhSMNoSnW4 (3 lines)
17:34:31 <ncf> in terms of the state monad, choice s = (\ k -> fst (k s), s)
17:34:36 <ski> type reminds me a little of `loeb :: Functor f => f (f a -> a) -> f a'
17:34:37 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
17:35:04 <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
17:35:36 <ski> mm
17:36:10 <ncf> it comes up in https://lmcs.episciences.org/3217/pdf theorem 7.7
17:36:40 <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)
17:37:19 <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
17:37:19 <ncf> it also comes up here https://proofassistants.stackexchange.com/a/932 as the "irrelevance axiom"
17:37:38 <ncf> yeah that's the point
17:37:51 <haskellbridge> <Liamzee> Also:
17:37:53 <haskellbridge> <Liamzee> https://hackage-content.haskell.org/package/ghc-internal-9.1401.0/docs/src/GHC.Internal.IO.Unsafe.html#unsafeInterleaveIO
17:39:29 merijn joins (~merijn@62.45.136.136)
17:43:55 × merijn quits (~merijn@62.45.136.136) (Ping timeout: 240 seconds)
17:46:53 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:48:04 × tabemann quits (~tabemann@12.215.215.61) (Quit: Leaving)
17:55:10 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
17:59:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
18:06:34 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
18:11:23 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
18:15:02 emmanuelux joins (~emmanuelu@user/emmanuelux)
18:15:19 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
18:22:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
18:27:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
18:38:10 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
18:42:48 rainbyte_ joins (~rainbyte@186.22.19.214)
18:42:50 × rainbyte quits (~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
18:42:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
18:43:01 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
18:53:37 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
18:57:11 target_i joins (~target_i@user/target-i/x-6023099)
18:58:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
19:04:07 <monochrom> About the paper. I saw "Merely Inhabited" and misread as "Merrily Inhabited". Must be the seaon holidays. Merry Inhabited Holidays!
19:09:55 <ncf> mere christmas
19:10:40 peterbecich joins (~Thunderbi@71.84.33.135)
19:22:01 omidmash joins (~omidmash@user/omidmash)
19:34:18 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:34:55 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
19:35:36 Lord_of_Life_ is now known as Lord_of_Life
19:42:31 karenw joins (~karenw@user/karenw)
19:44:47 pavonia joins (~user@user/siracusa)
20:00:38 × ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
20:02:31 ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se)
20:04:49 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
20:05:08 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
20:08:33 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:13:48 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
20:14:12 wennefer0_ joins (~wennefer0@user/wennefer0)
20:14:47 tessier joins (~tessier@ip68-8-117-219.sd.sd.cox.net)
20:16:33 × img quits (~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
20:17:47 img joins (~img@user/img)
20:20:48 × wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
20:23:25 × ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
20:24:09 wennefer0_ joins (~wennefer0@user/wennefer0)
20:24:28 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:25:14 ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se)
20:25:50 wennefer0__ joins (~wennefer0@user/wennefer0)
20:26:42 × wennefer0_ quits (~wennefer0@user/wennefer0) (Remote host closed the connection)
20:28:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
20:31:24 × jle` quits (~jle`@2603:8001:3b00:11:47ff:a93:5f74:967) (Ping timeout: 244 seconds)
20:33:26 × pebble quits (~pebble@37.63.33.138) (Read error: Connection reset by peer)
20:36:07 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
20:36:53 × wennefer0__ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
20:39:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:44:49 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
20:49:31 wennefer0_ joins (~wennefer0@user/wennefer0)
20:50:15 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
20:51:40 wennefer0______ joins (~wennefer0@user/wennefer0)
20:53:31 × wennefer0_ quits (~wennefer0@user/wennefer0) (Client Quit)
20:54:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
20:56:21 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
20:57:13 wennefer0_ joins (~wennefer0@user/wennefer0)
20:57:19 × wennefer0______ quits (~wennefer0@user/wennefer0) (Remote host closed the connection)
21:03:07 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
21:04:36 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:06:03 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:13:49 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
21:17:34 × wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: Textual IRC Client: www.textualapp.com)
21:19:18 wennefer0_ joins (~wennefer0@user/wennefer0)
21:21:10 wennefer0_71 joins (~wennefer0@user/wennefer0)
21:22:27 × wennefer0_71 quits (~wennefer0@user/wennefer0) (Remote host closed the connection)
21:23:44 wennefer0_27 joins (~wennefer0@user/wennefer0)
21:24:01 × wennefer0_27 quits (~wennefer0@user/wennefer0) (Remote host closed the connection)
21:24:11 wennefer0_______ joins (~wennefer0@user/wennefer0)
21:25:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:25:45 × wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: Textual IRC Client: www.textualapp.com)
21:25:55 × wennefer0_______ quits (~wennefer0@user/wennefer0) (Remote host closed the connection)
21:25:55 × synchromesh quits (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) (Read error: Connection reset by peer)
21:26:12 wennefer0_ joins (~wennefer0@user/wennefer0)
21:27:27 wennefer0_______ joins (~wennefer0@user/wennefer0)
21:27:39 synchromesh joins (~john@2406:5a00:2412:2c00:694d:f25a:3b3c:f3f9)
21:30:23 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
21:30:51 × wennefer0_______ quits (~wennefer0@user/wennefer0) (Remote host closed the connection)
21:34:21 orangeFlu joins (~user@2a02:2f0d:c000:5a00:67a2:16d6:6fec:4137)
21:35:59 <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?
21:37:13 <ncf> > "yes"
21:37:14 <lambdabot> "yes"
21:37:19 <ncf> % "there's two of us!""
21:37:19 <yahb2> <interactive>:139:21: error: [GHC-21231] ; lexical error at end of input
21:38:08 <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?
21:38:20 <orangeFlu> I need to build something similar for a project
21:39:26 <mauke> @where lambdabot
21:39:26 <lambdabot> https://wiki.haskell.org/IRC_channel#lambdabot
21:39:58 jle` joins (~jle`@2603:8001:3b00:11:94e9:8912:a399:fd05)
21:40:18 <mauke> https://archives.haskell.org/code.haskell.org/lambdabot/ seems a bit old
21:40:36 <EvanR> > text "yes"
21:40:37 <lambdabot> yes
21:40:47 <EvanR> @faq can haskell do that
21:40:47 <lambdabot> https://wiki.haskell.org/FAQ
21:40:53 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
21:40:53 <EvanR> :(
21:41:36 <geekosaur> @version
21:41:36 <lambdabot> lambdabot 5.3.1.2
21:41:37 <lambdabot> git clone https://github.com/lambdabot/lambdabot
21:42:26 <mauke> @where+ lambdabot https://github.com/lambdabot/lambdabot https://wiki.haskell.org/IRC_channel#lambdabot
21:42:26 <lambdabot> Nice!
21:43:38 <orangeFlu> thank you so much!
21:44:36 <mauke> @where yahb
21:44:36 <lambdabot> I know nothing about yahb.
21:45:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
21:45:58 <Leary> https://git.tomsmeding.com/yahb2/tree/
21:47:16 <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
21:47:24 <geekosaur> its age definitely shows, sadly
21:48:20 <mauke> @where yahb2
21:48:20 <lambdabot> https://git.tomsmeding.com/yahb2
21:48:23 <mauke> hah
21:48:59 <mauke> preflex: store yahb2 https://git.tomsmeding.com/yahb2
21:51:25 × wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
21:56:29 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:01:30 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
22:02:53 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
22:06:50 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:08:59 L29Ah joins (~L29Ah@wikipedia/L29Ah)
22:10:29 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:14:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:17:59 wennefer0_ joins (~wennefer0@user/wennefer0)
22:25:58 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:29:47 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:32:37 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
22:42:37 × itaipu quits (~itaipu@168.121.97.28) (Read error: Connection reset by peer)
22:43:42 rawles joins (sid630849@user/rawles)
22:44:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
22:47:15 × karenw quits (~karenw@user/karenw) (Ping timeout: 240 seconds)
22:47:48 × orangeFlu quits (~user@2a02:2f0d:c000:5a00:67a2:16d6:6fec:4137) (Ping timeout: 260 seconds)
22:48:35 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:48:55 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds)
22:54:56 × mangoiv quits (~mangoiv@user/mangoiv) (Quit: The Lounge - https://thelounge.chat)
22:59:46 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:04:49 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
23:11:08 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
23:11:28 somemathguy joins (~somemathg@user/somemathguy)
23:11:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:16:23 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:17:35 × wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…)
23:26:01 mangoiv joins (~mangoiv@user/mangoiv)
23:27:18 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:30:41 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
23:31:46 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
23:42:44 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
23:43:34 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:45:28 wennefer0_ joins (~wennefer0@user/wennefer0)
23:47:44 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
23:58:32 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)

All times are in UTC on 2025-12-26.