2026/02/09

2026-02-09 00:01:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 00:01:36 +0100 <EvanR> returning an IO action is basically free monad if you think IO is like a huge free monad
2026-02-09 00:02:19 +0100 <EvanR> if the semantic value is a command to be executed... then the command data type or the command action itself could both be considered that
2026-02-09 00:02:48 +0100krei-se(~krei-se@p200300f1cfff3e880001000000000001.dip0.t-ipconnect.de) krei-se
2026-02-09 00:03:06 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-09 00:03:49 +0100 <EvanR> parse don't validate violation seems to be a different situation, where you validate something and then later run another parser on it
2026-02-09 00:04:03 +0100 <EvanR> the original data
2026-02-09 00:07:02 +0100 <chromoblob> why isn't IO a free monad actually?
2026-02-09 00:07:31 +0100 <ncf> can't pattern match on it
2026-02-09 00:07:36 +0100 <EvanR> performance, and or "we didn't think of it"
2026-02-09 00:08:13 +0100xff0x(~xff0x@2405:6580:b080:900:cadf:d9b9:dcb4:a899) (Quit: xff0x)
2026-02-09 00:10:14 +0100 <mauke> is this that "final tagless" thing
2026-02-09 00:10:16 +0100 <chromoblob> ncf: case putStr "123" of PutStr "123" -> ...
2026-02-09 00:10:47 +0100 <ncf> oh you mean from a design perspective
2026-02-09 00:11:27 +0100 <EvanR> the IO system predates free monads being popularized by the blogosphere
2026-02-09 00:11:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 00:13:00 +0100xff0x(~xff0x@2405:6580:b080:900:94ad:d9ab:f90:90c7)
2026-02-09 00:15:52 +0100twb(~twb@user/twb) twb
2026-02-09 00:16:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 00:24:24 +0100 <geekosaur> also I think it doesn't extend nicely to threads?
2026-02-09 00:26:55 +0100 <dolio> There's multiple problems with it. What about FFI?
2026-02-09 00:27:18 +0100 <geekosaur> that too, yes
2026-02-09 00:27:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 00:27:44 +0100 <geekosaur> although I can think of ways to make it work, especially given that FFI already doesn't really handle varargs
2026-02-09 00:29:33 +0100 <dolio> I'm sure there are ways to do it, but the question is why you would, when being a free monad is likely not valuable at all.
2026-02-09 00:29:56 +0100 <dolio> Most likely the opposite.
2026-02-09 00:30:49 +0100 <dolio> IO specifically, that is.
2026-02-09 00:32:11 +0100 <geekosaur> tbh I've always considered that approach to be more useful conceptually than implementationally
2026-02-09 00:33:34 +0100 <dolio> If you're going to write multiple interpreters for one, then it might be worth it. But you want IO to be as low overhead as possible, bascially.
2026-02-09 00:34:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 00:45:38 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 00:47:20 +0100rainbyte(~rainbyte@186.22.19.214) rainbyte
2026-02-09 00:50:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 00:53:18 +0100oskarw(~user@user/oskarw) (Ping timeout: 256 seconds)
2026-02-09 01:01:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 01:04:14 +0100_JusSx_(~username@37.163.117.200) (Ping timeout: 244 seconds)
2026-02-09 01:06:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 01:09:11 +0100forell(~forell@user/forell) forell
2026-02-09 01:17:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 01:18:41 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 01:18:55 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 01:20:07 +0100humasect_(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-09 01:21:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 01:24:57 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-09 01:28:16 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-09 01:33:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 01:35:05 +0100Tuplanolla(~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) (Ping timeout: 250 seconds)
2026-02-09 01:38:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 01:49:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 01:50:13 +0100xff0x(~xff0x@2405:6580:b080:900:94ad:d9ab:f90:90c7) (Ping timeout: 244 seconds)
2026-02-09 01:53:12 +0100 <ski> EvanR : with the former, you can do alternative analyses/semantics (perhaps sending the command to a different process, or pretty-printing it, or analyzing commands for potential trouble interaction, &c.)
2026-02-09 01:53:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-09 01:54:19 +0100 <ski> (cf. using a `String' as an error message, vs. a data type. with the latter, you can e.g. localize it to different languages, portray it differently for different UIs, &c.)
2026-02-09 01:54:35 +0100 <ski> @quote stark
2026-02-09 01:54:35 +0100 <lambdabot> AlanPerlis says: The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information.
2026-02-09 02:01:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 02:03:59 +0100tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2026-02-09 02:14:03 +0100 <jreicher> String is almost not a type at all.
2026-02-09 02:24:05 +0100omidmash6(~omidmash@user/omidmash) omidmash
2026-02-09 02:26:36 +0100omidmash(~omidmash@user/omidmash) (Ping timeout: 265 seconds)
2026-02-09 02:26:36 +0100omidmash6omidmash
2026-02-09 02:26:43 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 02:26:56 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 02:28:09 +0100Square2(~Square@user/square) (Ping timeout: 260 seconds)
2026-02-09 02:35:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 02:42:00 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-02-09 02:42:30 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Client Quit)
2026-02-09 02:44:20 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-02-09 02:45:01 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-02-09 02:47:02 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-09 02:47:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 02:49:42 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-02-09 02:50:19 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-09 02:52:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 02:53:42 +0100emmanuelux_(~em@2a01cb011051ddce36cff6fffefa7e31.ipv6.abo.wanadoo.fr)
2026-02-09 02:53:43 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-09 02:59:27 +0100twb(~twb@user/twb) (Read error: Connection reset by peer)
2026-02-09 02:59:49 +0100twb(~twb@user/twb) twb
2026-02-09 03:00:55 +0100otto_s(~user@p5de2f96c.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2026-02-09 03:01:45 +0100weary-traveler(~user@user/user363627) user363627
2026-02-09 03:02:23 +0100otto_s(~user@p5b044c1a.dip0.t-ipconnect.de)
2026-02-09 03:02:45 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2026-02-09 03:02:50 +0100user363627(~user@user/user363627) user363627
2026-02-09 03:03:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 03:03:35 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Quit: xff0x)
2026-02-09 03:03:48 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-09 03:04:06 +0100emmanuelux_(~em@2a01cb011051ddce36cff6fffefa7e31.ipv6.abo.wanadoo.fr) (Ping timeout: 244 seconds)
2026-02-09 03:06:02 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-02-09 03:07:06 +0100weary-traveler(~user@user/user363627) (Ping timeout: 244 seconds)
2026-02-09 03:08:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 03:10:26 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-09 03:13:48 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-09 03:17:49 +0100 <ncf> huh?
2026-02-09 03:18:53 +0100twb(~twb@user/twb) (rcirc on GNU Emacs 30.1)
2026-02-09 03:19:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 03:26:47 +0100 <jreicher> I just mean it's often a bucket for unstructured data. Some uses I've seen feel more like the developer not bothering to figure out the type rather than really determining it's a String.
2026-02-09 03:26:56 +0100kimiamania4(~b4b260c9@user/kimiamania) (Quit: Ping timeout (120 seconds))
2026-02-09 03:27:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 03:27:17 +0100kimiamania4(~b4b260c9@user/kimiamania) kimiamania
2026-02-09 03:29:22 +0100 <geekosaur>
2026-02-09 03:30:02 +0100 <geekosaur> or just not thinking that, y'know, I'd prefer not to have to parse an error code out of a possibly localized string
2026-02-09 03:33:37 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 03:33:51 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 03:34:09 +0100geekosaurahem Haskell Report…
2026-02-09 03:34:47 +0100 <geekosaur> (at least ghc has internal APIs that expose `IOError` internals to get the useful stuff)
2026-02-09 03:38:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 03:40:48 +0100 <geekosaur> sorry, `IOException`. https://hackage-content.haskell.org/package/base-4.22.0.0/docs/GHC-IO-Exception.html#t:IOException
2026-02-09 03:44:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 03:50:04 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-02-09 03:50:45 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2026-02-09 03:56:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 03:56:34 +0100omidmash(~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
2026-02-09 04:00:20 +0100omidmash(~omidmash@user/omidmash) omidmash
2026-02-09 04:01:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 04:02:56 +0100emmanuelux(~em@user/emmanuelux) (Read error: Connection reset by peer)
2026-02-09 04:06:12 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-09 04:12:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 04:13:44 +0100emmanuelux_(~em@2a01cb011051ddce36cff6fffefa7e31.ipv6.abo.wanadoo.fr)
2026-02-09 04:13:51 +0100emmanuelux_(~em@2a01cb011051ddce36cff6fffefa7e31.ipv6.abo.wanadoo.fr) (Read error: Connection reset by peer)
2026-02-09 04:14:22 +0100emmanuelux(~em@user/emmanuelux) (Ping timeout: 244 seconds)
2026-02-09 04:16:51 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 04:17:10 +0100emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-09 04:23:50 +0100emmanuelux_(~em@92-184-96-253.mobile.fr.orangecustomers.net)
2026-02-09 04:24:05 +0100emmanuelux(~em@user/emmanuelux) (Ping timeout: 244 seconds)
2026-02-09 04:25:23 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 250 seconds)
2026-02-09 04:27:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 04:33:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 04:36:18 +0100humasect_(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-02-09 04:36:30 +0100Pozyomka(~pyon@user/pyon) (Quit: brb)
2026-02-09 04:40:13 +0100Pozyomka(~pyon@user/pyon) pyon
2026-02-09 04:43:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 04:48:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 04:59:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 05:04:23 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-09 05:15:14 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 05:22:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 05:23:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 05:28:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 05:34:16 +0100davl_(~davl@207.154.228.18) (Quit: ...)
2026-02-09 05:36:45 +0100 <EvanR> "this is not a type" :: String
2026-02-09 05:39:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 05:43:23 +0100davl(~davl@207.154.228.18) davl
2026-02-09 05:44:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 05:46:22 +0100ski. o O ( "Ceci n'est pas une type." )
2026-02-09 05:46:53 +0100jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.8.1)
2026-02-09 05:47:57 +0100 <geekosaur> (thank you 😛 )
2026-02-09 05:54:18 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) (Remote host closed the connection)
2026-02-09 05:55:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 05:56:17 +0100wickedjargon(~user@2605:8d80:5430:714a:f4ec:3ef3:84f4:80f3) wickedjargon
2026-02-09 06:00:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 06:04:50 +0100mange(~mange@user/mange) (Remote host closed the connection)
2026-02-09 06:07:24 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-09 06:11:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 06:16:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 06:24:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 06:29:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 06:34:49 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
2026-02-09 06:40:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 06:45:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 06:50:54 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 06:51:06 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 06:54:15 +0100wickedjargon(~user@2605:8d80:5430:714a:f4ec:3ef3:84f4:80f3) (Remote host closed the connection)
2026-02-09 06:56:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 06:57:40 +0100anpad(~pandeyan@user/anpad) (Quit: ZNC 1.10.1 - https://znc.in)
2026-02-09 06:58:14 +0100emaczen(~user@user/emaczen) (Ping timeout: 260 seconds)
2026-02-09 06:58:52 +0100anpad(~pandeyan@user/anpad) anpad
2026-02-09 07:00:58 +0100jreicher(~joelr@user/jreicher) (Quit: In transit)
2026-02-09 07:02:53 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 07:02:53 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 07:03:06 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 07:14:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 07:15:33 +0100michalz(~michalz@185.246.207.200)
2026-02-09 07:16:29 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-09 07:18:31 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-02-09 07:19:14 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 07:20:08 +0100wickedjargon(~user@2605:8d80:5430:2d51:a829:6019:d43:6789) wickedjargon
2026-02-09 07:25:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 07:30:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 07:35:15 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds)
2026-02-09 07:42:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 07:43:59 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) Enrico63
2026-02-09 07:47:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 07:57:44 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) oneeyedalien
2026-02-09 07:58:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 08:03:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 08:05:23 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2026-02-09 08:11:28 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) (Quit: Client closed)
2026-02-09 08:12:40 +0100jreicher(~joelr@user/jreicher) jreicher
2026-02-09 08:13:57 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 08:15:36 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 08:15:50 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 08:19:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-09 08:26:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 08:31:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 08:32:25 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) Enrico63
2026-02-09 08:39:30 +0100comonad(~comonad@pd9e072e5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-02-09 08:40:23 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-02-09 08:40:30 +0100comonad(~comonad@p200300d02722ae00dce4ce9451b59974.dip0.t-ipconnect.de)
2026-02-09 08:40:52 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) (Quit: Client closed)
2026-02-09 08:42:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 08:43:19 +0100ft(~ft@p508db4c0.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2026-02-09 08:47:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 08:47:41 +0100eason(~eason@user/eason) eason
2026-02-09 08:51:25 +0100 <eason> Hello
2026-02-09 08:51:35 +0100 <eason> Wow
2026-02-09 08:51:41 +0100 <eason> It's my first time using this
2026-02-09 08:54:40 +0100 <ski> hello eason
2026-02-09 08:55:21 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b)
2026-02-09 08:55:26 +0100 <ski> first time using IRC ?
2026-02-09 09:02:33 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-02-09 09:06:41 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-02-09 09:14:13 +0100bliminse(~bliminse@user/bliminse) (Quit: leaving)
2026-02-09 09:16:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 09:17:19 +0100bliminse(~bliminse@user/bliminse) bliminse
2026-02-09 09:21:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-09 09:25:11 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 09:25:52 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.7.2)
2026-02-09 09:27:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 09:27:59 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-02-09 09:32:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 09:35:21 +0100trickard_trickard
2026-02-09 09:41:42 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-02-09 09:42:23 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-09 09:43:20 +0100eason(~eason@user/eason) (Quit: leaving)
2026-02-09 09:43:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 09:45:29 +0100emmanuelux_(~em@92-184-96-253.mobile.fr.orangecustomers.net) (Quit: bye)
2026-02-09 09:48:06 +0100akegalj(~akegalj@141-136-187-111.dsl.iskon.hr) akegalj
2026-02-09 09:48:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-09 09:49:33 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-09 09:53:01 +0100housemate(~housemate@202.7.248.67) housemate
2026-02-09 09:59:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 10:04:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 10:06:40 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 255 seconds)
2026-02-09 10:07:06 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 10:12:52 +0100trickard_trickard
2026-02-09 10:14:14 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 10:16:48 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 10:17:46 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 10:20:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 10:20:39 +0100oskarw(~user@user/oskarw) oskarw
2026-02-09 10:22:01 +0100oskarw(~user@user/oskarw) (Remote host closed the connection)
2026-02-09 10:22:44 +0100oskarw(~user@user/oskarw) oskarw
2026-02-09 10:28:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 10:29:46 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 10:30:00 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 10:33:55 +0100Inline(~User@2a02:908:1246:26e0:8c1d:56bb:e491:7d2d) (Ping timeout: 246 seconds)
2026-02-09 10:36:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-09 10:47:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 10:52:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 10:57:18 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-02-09 11:03:38 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 11:08:23 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-09 11:09:17 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu) (Quit: Client closed)
2026-02-09 11:09:34 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu)
2026-02-09 11:19:23 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 11:19:33 +0100Inline(~User@2a02:908:1246:26e0:3c5:3b59:25f5:429d) Inline
2026-02-09 11:21:39 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds)
2026-02-09 11:23:11 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-02-09 11:23:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 11:25:57 +0100fp(~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) fp
2026-02-09 11:29:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 11:35:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 11:37:37 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 11:37:51 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 11:38:00 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2026-02-09 11:42:57 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-02-09 11:45:37 +0100merijn(~merijn@62.45.136.136) merijn
2026-02-09 11:49:19 +0100__monty__(~toonn@user/toonn) toonn
2026-02-09 11:49:19 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds)
2026-02-09 11:50:39 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 265 seconds)
2026-02-09 11:57:24 +0100Pozyomka(~pyon@user/pyon) (Quit: brb)
2026-02-09 12:01:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 12:02:10 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Remote host closed the connection)
2026-02-09 12:03:23 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 12:03:58 +0100Guest29(~Guest29@2405:201:3021:f843:f8ae:a38d:83c7:bbca)
2026-02-09 12:04:16 +0100Pozyomka(~pyon@user/pyon) pyon
2026-02-09 12:06:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-09 12:09:59 +0100cyphase(~cyphase@user/cyphase) (Quit: cyphase.com)
2026-02-09 12:10:16 +0100cyphase(~cyphase@user/cyphase) cyphase
2026-02-09 12:10:22 +0100Pozyomka(~pyon@user/pyon) (Quit: brb)
2026-02-09 12:16:43 +0100xff0x(~xff0x@2405:6580:b080:900:a304:44e0:ba72:c7aa)
2026-02-09 12:17:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 12:19:15 +0100Guest29(~Guest29@2405:201:3021:f843:f8ae:a38d:83c7:bbca) (Ping timeout: 272 seconds)
2026-02-09 12:24:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 12:27:22 +0100bggd_(~bgg@2a01:e0a:fd5:f510:7c7b:26be:3fe9:d994) (Remote host closed the connection)
2026-02-09 12:30:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 12:34:11 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Read error: Connection reset by peer)
2026-02-09 12:34:28 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-02-09 12:35:58 +0100wickedjargon(~user@2605:8d80:5430:2d51:a829:6019:d43:6789) (Ping timeout: 256 seconds)
2026-02-09 12:35:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 12:42:21 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Read error: Connection reset by peer)
2026-02-09 12:43:07 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 12:45:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 12:50:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 12:50:13 +0100chele(~chele@user/chele) chele
2026-02-09 12:53:54 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 12:54:08 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 13:01:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 13:01:48 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Remote host closed the connection)
2026-02-09 13:02:25 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 13:04:06 +0100Pozyomka(~pyon@user/pyon) pyon
2026-02-09 13:05:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-09 13:07:48 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Read error: Connection reset by peer)
2026-02-09 13:08:37 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 13:16:54 +0100merijn(~merijn@62.45.136.136) merijn
2026-02-09 13:19:35 +0100Inline(~User@2a02:908:1246:26e0:3c5:3b59:25f5:429d) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2026-02-09 13:19:36 +0100wickedjargon(~user@2605:8d80:5430:38af:2964:3737:2954:46b8) wickedjargon
2026-02-09 13:20:44 +0100wickedjargon(~user@2605:8d80:5430:38af:2964:3737:2954:46b8) (Remote host closed the connection)
2026-02-09 13:21:01 +0100wickedjargon(~user@2605:8d80:5430:38af:2964:3737:2954:46b8) wickedjargon
2026-02-09 13:21:04 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 255 seconds)
2026-02-09 13:24:42 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 256 seconds)
2026-02-09 13:30:51 +0100cyphase(~cyphase@user/cyphase) cyphase
2026-02-09 13:31:29 +0100merijn(~merijn@62.45.136.136) merijn
2026-02-09 13:36:49 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 255 seconds)
2026-02-09 13:41:53 +0100trickard(~trickard@cpe-61-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 13:42:07 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 13:45:48 +0100 <yin> either way, welcome to the deep
2026-02-09 13:47:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 13:52:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 13:58:23 +0100Square(~Square4@user/square) Square
2026-02-09 14:05:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 14:12:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 14:12:53 +0100emaczen(~user@user/emaczen) emaczen
2026-02-09 14:24:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 14:29:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-09 14:32:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 14:37:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 14:38:03 +0100cipherrot(~jez@user/petrichor) petrichor
2026-02-09 14:38:25 +0100petrichor(~jez@user/petrichor) (Ping timeout: 264 seconds)
2026-02-09 14:42:34 +0100wickedjargon(~user@2605:8d80:5430:38af:2964:3737:2954:46b8) (Ping timeout: 260 seconds)
2026-02-09 14:42:54 +0100cipherrot(~jez@user/petrichor) (Ping timeout: 256 seconds)
2026-02-09 14:44:43 +0100YoungFrog(~youngfrog@2a02:a03f:ca07:f900:10c6:8cef:b7df:b252) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2026-02-09 14:44:50 +0100kuribas(~user@2a02-1810-2825-6000-aa26-243-5761-7363.ip6.access.telenet.be) kuribas
2026-02-09 14:45:04 +0100YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2026-02-09 14:46:44 +0100acidjnk(~acidjnk@p200300d6e700e589bc3447690a0a9402.dip0.t-ipconnect.de) acidjnk
2026-02-09 14:48:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 14:52:18 +0100p3n(~p3n@217.198.124.246) (Quit: ZNC 1.10.1 - https://znc.in)
2026-02-09 14:53:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 14:59:06 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n
2026-02-09 14:59:56 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu) (Quit: Client closed)
2026-02-09 15:00:11 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu)
2026-02-09 15:01:12 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-02-09 15:01:37 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-02-09 15:03:47 +0100rekahsoft(~rekahsoft@76.67.111.168) rekahsoft
2026-02-09 15:04:00 +0100hadronizeddumdum
2026-02-09 15:04:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 15:09:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 15:12:18 +0100Katarushisu6(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: Ping timeout (120 seconds))
2026-02-09 15:12:40 +0100Katarushisu6(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
2026-02-09 15:13:21 +0100rainbyte(~rainbyte@186.22.19.214) (Read error: Connection reset by peer)
2026-02-09 15:14:30 +0100rainbyte(~rainbyte@186.22.19.214) rainbyte
2026-02-09 15:15:47 +0100srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2026-02-09 15:20:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 15:25:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-09 15:27:31 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 255 seconds)
2026-02-09 15:28:02 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au)
2026-02-09 15:33:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 15:38:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 15:40:25 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-09 15:49:14 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2026-02-09 15:49:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 15:55:11 +0100petrichor(~jez@user/petrichor) petrichor
2026-02-09 15:56:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-09 15:59:53 +0100trickard__(~trickard@cpe-58-98-47-163.wireline.com.au)
2026-02-09 16:00:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 16:00:44 +0100trickard_(~trickard@cpe-61-98-47-163.wireline.com.au) (Ping timeout: 260 seconds)
2026-02-09 16:01:07 +0100kimiamania4(~b4b260c9@user/kimiamania) (Quit: PegeLinux)
2026-02-09 16:01:53 +0100kimiamania4(~b4b260c9@user/kimiamania) kimiamania
2026-02-09 16:02:43 +0100mangoiv(~mangoiv@user/mangoiv) (Quit: The Lounge - https://thelounge.chat)
2026-02-09 16:03:07 +0100mangoiv(~mangoiv@2a01:4f9:c012:6c0e::)
2026-02-09 16:03:20 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2026-02-09 16:04:48 +0100mangoiv(~mangoiv@2a01:4f9:c012:6c0e::) (Changing host)
2026-02-09 16:04:48 +0100mangoiv(~mangoiv@user/mangoiv) mangoiv
2026-02-09 16:05:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-09 16:05:21 +0100ar3ph9(~ar3ph@user/ar3ph) ar3ph
2026-02-09 16:08:32 +0100Katarushisu63(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
2026-02-09 16:08:54 +0100ar3ph(~ar3ph@user/ar3ph) (Ping timeout: 260 seconds)
2026-02-09 16:08:54 +0100ar3ph9ar3ph
2026-02-09 16:09:03 +0100Katarushisu6(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Read error: Connection reset by peer)
2026-02-09 16:09:03 +0100Katarushisu63Katarushisu6
2026-02-09 16:16:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 16:17:21 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b)
2026-02-09 16:20:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 16:28:54 +0100bggd_(~bgg@2a01:e0a:fd5:f510:870e:b6e1:18ac:1926)
2026-02-09 16:31:51 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 16:39:38 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 16:40:10 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 265 seconds)
2026-02-09 16:44:16 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-02-09 16:45:55 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Ping timeout: 264 seconds)
2026-02-09 16:46:36 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 16:49:43 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Read error: Connection reset by peer)
2026-02-09 16:50:01 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 16:50:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 16:51:23 +0100EvanR(~EvanR@user/evanr) (Remote host closed the connection)
2026-02-09 16:51:43 +0100EvanR(~EvanR@user/evanr) EvanR
2026-02-09 16:53:28 +0100st_aldini(~Thunderbi@136.48.46.187) st_aldini
2026-02-09 16:53:50 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-02-09 16:54:45 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) Enrico63
2026-02-09 16:55:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-09 16:55:26 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-02-09 16:56:28 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Ping timeout: 246 seconds)
2026-02-09 16:56:54 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 16:59:23 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Quit: Lost terminal)
2026-02-09 17:01:10 +0100trickard__trickard
2026-02-09 17:01:26 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2026-02-09 17:06:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 17:06:55 +0100AlexNoo_(~AlexNoo@85.174.182.86)
2026-02-09 17:09:01 +0100nshepperd28(~nshepperd@2a01:4f9:3b:4cc9::2) nshepperd
2026-02-09 17:09:02 +0100nek06(~nek0@user/nek0) nek0
2026-02-09 17:09:07 +0100priime5(~priime@2a01:4ff:f0:7ccc::1) priime
2026-02-09 17:09:26 +0100dyniec_(~dyniec@dybiec.info) dyniec
2026-02-09 17:09:26 +0100dyniec(~dyniec@dybiec.info) (Killed (tungsten.libera.chat (Nickname regained by services)))
2026-02-09 17:09:26 +0100dyniec_dyniec
2026-02-09 17:09:54 +0100edwardk_(sid47016@haskell/developer/edwardk) edwardk
2026-02-09 17:10:06 +0100firesquidwao(~a@put.gay)
2026-02-09 17:10:32 +0100NiKaN_(sid385034@id-385034.helmsley.irccloud.com) NiKaN
2026-02-09 17:10:33 +0100arkeet`(~arkeet@moriya.ca)
2026-02-09 17:10:42 +0100RSBach(~RMSBach@2603:6013:9b00:a7c8:e7e5:f272:eb86:ddf) RMSBach
2026-02-09 17:10:44 +0100jinsun-(bnc4free@here.and.ready-to.party)
2026-02-09 17:10:48 +0100andreas808(andreas303@is.drunk.and.ready-to.party) andreas303
2026-02-09 17:10:49 +0100Ekho-(~Ekho@user/ekho) Ekho
2026-02-09 17:11:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 17:11:10 +0100ladyfriday(~robert@what.i.hope.is.not.a.tabernaevagant.es) mrmonday
2026-02-09 17:11:19 +0100otto_s_(~user@p5b044c1a.dip0.t-ipconnect.de)
2026-02-09 17:11:23 +0100Pozyomka_(~pyon@user/pyon) pyon
2026-02-09 17:11:23 +0100takuan_dozo(~takuan@d8D86B9E9.access.telenet.be)
2026-02-09 17:11:24 +0100sshine_(~simon@dao.mechanicus.xyz) sshine
2026-02-09 17:11:27 +0100rncwnd(~quassel@2a01:4f8:221:27c6::1) rncwnd
2026-02-09 17:11:28 +0100carbolymer_(~carbolyme@delirium.systems) carbolymer
2026-02-09 17:11:30 +0100janus__(janus@user/janus) janus
2026-02-09 17:11:39 +0100sttau_(~sttau@199.180.255.81)
2026-02-09 17:11:47 +0100fp(~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Quit: fp)
2026-02-09 17:11:59 +0100AlexNoo(~AlexNoo@85.174.182.86) (Read error: Connection reset by peer)
2026-02-09 17:11:59 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 439 seconds)
2026-02-09 17:12:00 +0100juri_(~juri@84.19.175.187) (Read error: Connection reset by peer)
2026-02-09 17:12:03 +0100sweater(~sweater@206.81.18.26) sweater
2026-02-09 17:12:04 +0100tuxpaint(~a@2600:3c06::f03c:93ff:fea6:ef0e) (Read error: Connection reset by peer)
2026-02-09 17:12:07 +0100juri__(~juri@84.19.175.187) juri_
2026-02-09 17:12:14 +0100df_(~ben@justworks.xyz)
2026-02-09 17:13:55 +0100Pozyomka(~pyon@user/pyon) (Ping timeout: 258 seconds)
2026-02-09 17:13:55 +0100otto_s(~user@p5b044c1a.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2026-02-09 17:13:55 +0100RMSBach(~RMSBach@24.210.9.182) (Ping timeout: 258 seconds)
2026-02-09 17:13:55 +0100andreas303(andreas303@is.drunk.and.ready-to.party) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100cyphase(~cyphase@user/cyphase) cyphase
2026-02-09 17:13:56 +0100nek0(~nek0@user/nek0) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100vulpine(xfnw@user/meow/xfnw) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100rncwnd_(~quassel@2a01:4f8:221:27c6::1) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100carbolymer(~carbolyme@delirium.systems) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100arkeet(arkeet@moriya.ca) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100Ekho(~Ekho@user/ekho) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100sshine(~simon@dao.mechanicus.xyz) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100sweater4(~sweater@206.81.18.26) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100jinsun(jinsun@user/jinsun) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100NiKaN(sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100priime(~priime@2a01:4ff:f0:7ccc::1) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100sttau(~sttau@199.180.255.81) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100df(~ben@justworks.xyz) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100nshepperd2(~nshepperd@2a01:4f9:3b:4cc9::2) (Ping timeout: 258 seconds)
2026-02-09 17:13:56 +0100RSBachRMSBach
2026-02-09 17:13:56 +0100nek06nek0
2026-02-09 17:13:56 +0100arkeet`arkeet
2026-02-09 17:13:56 +0100nshepperd28nshepperd2
2026-02-09 17:13:57 +0100priime5priime
2026-02-09 17:13:57 +0100edwardk_edwardk
2026-02-09 17:14:00 +0100NiKaN_NiKaN
2026-02-09 17:14:35 +0100jess(meow@libera/staff/cat/jess) jess
2026-02-09 17:15:59 +0100janus(janus@user/janus) (Ping timeout: 244 seconds)
2026-02-09 17:16:05 +0100remexre(~remexre@user/remexre) (Ping timeout: 244 seconds)
2026-02-09 17:16:20 +0100Ekho-(~Ekho@user/ekho) (Max SendQ exceeded)
2026-02-09 17:16:30 +0100takuan(~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 244 seconds)
2026-02-09 17:16:41 +0100remexre(~remexre@user/remexre) remexre
2026-02-09 17:17:28 +0100trickard(~trickard@cpe-58-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 17:17:38 +0100Ekho(~Ekho@user/ekho) Ekho
2026-02-09 17:17:42 +0100trickard_(~trickard@cpe-58-98-47-163.wireline.com.au)
2026-02-09 17:18:28 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu) (Quit: Client closed)
2026-02-09 17:18:37 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2026-02-09 17:19:00 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu)
2026-02-09 17:21:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 17:22:11 +0100jess_(meow@libera/staff/cat/jess) (Ping timeout: 610 seconds)
2026-02-09 17:23:25 +0100polykernel(~polykerne@user/polykernel) (Remote host closed the connection)
2026-02-09 17:23:44 +0100polykernel(~polykerne@user/polykernel) polykernel
2026-02-09 17:26:05 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-02-09 17:26:25 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-02-09 17:26:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 17:31:20 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu) (Quit: Client closed)
2026-02-09 17:31:29 +0100Googulator(~Googulato@94-21-139-88.pool.digikabel.hu)
2026-02-09 17:32:51 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) (Quit: Client closed)
2026-02-09 17:34:20 +0100vulpine(xfnw@user/meow/xfnw) xfnw
2026-02-09 17:35:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 17:40:14 +0100Googulator49(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu)
2026-02-09 17:40:51 +0100Googulator(~Googulato@94-21-139-88.pool.digikabel.hu) (Quit: Client closed)
2026-02-09 17:42:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 17:43:35 +0100chele(~chele@user/chele) (Remote host closed the connection)
2026-02-09 17:44:24 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-02-09 17:49:49 +0100janus__(janus@user/janus) (Ping timeout: 260 seconds)
2026-02-09 17:50:48 +0100Googulator49Googulator
2026-02-09 17:51:38 +0100janus(janus@user/janus) janus
2026-02-09 17:53:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 17:56:18 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) Enrico63
2026-02-09 17:57:25 +0100petrichor(~jez@user/petrichor) (Ping timeout: 244 seconds)
2026-02-09 17:58:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 18:05:23 +0100petrichor(~jez@user/petrichor) petrichor
2026-02-09 18:08:10 +0100Enrico63(~Enrico63@host-79-27-153-69.retail.telecomitalia.it) (Quit: Client closed)
2026-02-09 18:09:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 18:10:19 +0100trickard_(~trickard@cpe-58-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-02-09 18:10:32 +0100trickard_(~trickard@cpe-58-98-47-163.wireline.com.au)
2026-02-09 18:12:23 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu) (Quit: Client closed)
2026-02-09 18:12:36 +0100Googulator(~Googulato@2a01-036d-0106-216f-e9c4-b0ef-4e86-2425.pool6.digikabel.hu)
2026-02-09 18:14:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-09 18:16:13 +0100petrichor(~jez@user/petrichor) (Ping timeout: 264 seconds)
2026-02-09 18:22:06 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-09 18:22:55 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b)
2026-02-09 18:25:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 18:28:03 +0100petrichor(~jez@user/petrichor) petrichor
2026-02-09 18:30:40 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2026-02-09 18:32:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 18:34:00 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-09 18:36:57 +0100Guest58(~Guest58@194.246.81.225)
2026-02-09 18:51:24 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b)
2026-02-09 18:52:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 18:53:06 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-09 18:57:13 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 246 seconds)
2026-02-09 18:57:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 19:06:14 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Read error: Connection reset by peer)
2026-02-09 19:06:33 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 19:08:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 19:12:53 +0100kuribas(~user@2a02-1810-2825-6000-aa26-243-5761-7363.ip6.access.telenet.be) (Remote host closed the connection)
2026-02-09 19:13:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 19:21:15 +0100Guest58(~Guest58@194.246.81.225) (Quit: Client closed)
2026-02-09 19:23:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 19:27:31 +0100tromp(~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-09 19:30:08 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-09 19:31:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 19:32:25 +0100olivial(~benjaminl@user/benjaminl) (Ping timeout: 264 seconds)
2026-02-09 19:33:11 +0100olivial(~benjaminl@user/benjaminl) benjaminl
2026-02-09 19:33:38 +0100Square2(~Square@user/square) Square
2026-02-09 19:34:25 +0100emaczen(~user@user/emaczen) (Remote host closed the connection)
2026-02-09 19:35:01 +0100Square(~Square4@user/square) (Ping timeout: 246 seconds)
2026-02-09 19:36:26 +0100emaczen(~user@user/emaczen) emaczen
2026-02-09 19:41:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 19:46:28 +0100trickard_trickard
2026-02-09 19:47:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 19:50:02 +0100trickard__(~trickard@cpe-58-98-47-163.wireline.com.au)
2026-02-09 19:51:01 +0100trickard(~trickard@cpe-58-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2026-02-09 19:55:50 +0100hakutaku(~textual@user/hakutaku) hakutaku
2026-02-09 19:57:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 20:01:01 +0100jess(meow@libera/staff/cat/jess) ()
2026-02-09 20:03:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 20:06:12 +0100attlin(~user@user/attlin) (Quit: Leaving)
2026-02-09 20:06:49 +0100attlin(~user@216.126.236.136)
2026-02-09 20:06:49 +0100attlin(~user@216.126.236.136) (Changing host)
2026-02-09 20:06:49 +0100attlin(~user@user/attlin) attlin
2026-02-09 20:13:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 20:13:51 +0100ft(~ft@p508db4c0.dip0.t-ipconnect.de) ft
2026-02-09 20:15:15 +0100attlin(~user@user/attlin) (Quit: Leaving)
2026-02-09 20:16:28 +0100Tuplanolla(~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) Tuplanolla
2026-02-09 20:18:26 +0100attlin(~user@user/attlin) attlin
2026-02-09 20:19:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 20:19:18 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2026-02-09 20:19:36 +0100attlin(~user@user/attlin) (Client Quit)
2026-02-09 20:20:13 +0100attlin(~user@216.126.236.136)
2026-02-09 20:20:13 +0100attlin(~user@216.126.236.136) (Changing host)
2026-02-09 20:20:13 +0100attlin(~user@user/attlin) attlin
2026-02-09 20:22:43 +0100attlin(~user@user/attlin) (Client Quit)
2026-02-09 20:22:51 +0100jmcantrell_jmcantrell
2026-02-09 20:23:19 +0100target_i(~target_i@user/target-i/x-6023099) (Ping timeout: 240 seconds)
2026-02-09 20:24:37 +0100target_i(~target_i@user/target-i/x-6023099) target_i
2026-02-09 20:25:15 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-02-09 20:29:36 +0100merijn(~merijn@62.45.136.136) merijn
2026-02-09 20:30:44 +0100attlin(~user@user/attlin) attlin
2026-02-09 20:31:30 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-02-09 20:34:09 +0100DetourNetworkUK(DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-02-09 20:34:18 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-02-09 20:34:58 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-02-09 20:43:56 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-02-09 20:44:26 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2026-02-09 20:45:16 +0100Lord_of_Life_Lord_of_Life
2026-02-09 20:45:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 20:50:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 20:57:44 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 244 seconds)
2026-02-09 21:01:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 21:03:58 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-09 21:08:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 21:09:33 +0100messewix(~jmc@user/messewix) messewix
2026-02-09 21:11:09 +0100s3np41(~s3np41@078088254000.unknown.vectranet.pl)
2026-02-09 21:11:29 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-02-09 21:12:40 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 255 seconds)
2026-02-09 21:14:19 +0100 <s3np41> Anyone knows of good resources to read up on the ReaderT pattern?
2026-02-09 21:15:09 +0100AlexNoo_AlexNoo
2026-02-09 21:17:14 +0100 <EvanR> there's not much to say about ReaderT itself, which transforms any monad to one with an additional read only context, which you can fully get by writing one yourself
2026-02-09 21:17:22 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-09 21:17:37 +0100 <ncf> it's not a pattern, it's a monad transformer, and https://hackage-content.haskell.org/package/mtl-2.3.2/docs/Control-Monad-Reader.html
2026-02-09 21:17:48 +0100 <ncf> even has examples!
2026-02-09 21:17:57 +0100 <EvanR> but going further and making the mtl and transformers API more abstract... there's SPJ's paper listed on the haddocks
2026-02-09 21:18:16 +0100bggd_(~bgg@2a01:e0a:fd5:f510:870e:b6e1:18ac:1926) (Remote host closed the connection)
2026-02-09 21:19:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 21:19:53 +0100 <s3np41> well i just wanted to get good examples, so i guess the hackage should suffice?
2026-02-09 21:20:00 +0100 <s3np41> Thanks anyways
2026-02-09 21:20:20 +0100 <EvanR> there do be those there
2026-02-09 21:21:05 +0100 <ncf> if you want an introduction to monad transformers in general then https://en.wikibooks.org/wiki/Haskell/Monad_transformers
2026-02-09 21:21:40 +0100 <s3np41> will read thanks
2026-02-09 21:23:02 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2026-02-09 21:24:12 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Read error: Connection reset by peer)
2026-02-09 21:24:21 +0100 <c_wraith> There is something people call the "ReaderT pattern" which is not just "this is what ReaderT does". It's about designing your program around a kind of dependency injection in the form of actions being passed around implicitly with ReaderT
2026-02-09 21:24:32 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 21:24:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-09 21:26:26 +0100 <ncf> seems like a very silly name
2026-02-09 21:26:47 +0100 <ncf> can we not java-fy haskell thanks
2026-02-09 21:27:27 +0100 <c_wraith> Dependency injection is very natural in haskell. It's an overly formal name for "pass parameters", but it's very good to think about doing.
2026-02-09 21:28:34 +0100 <EvanR> don't forget to inject your dependencies
2026-02-09 21:28:53 +0100 <c_wraith> the type checker gets upset when you don't pass enough parameters.
2026-02-09 21:29:05 +0100 <ncf> if you mean dependency injection say dependency injection!
2026-02-09 21:29:13 +0100 <EvanR> I was going to say, if it boils down to passing the arguments you need, there's very little wiggle room to do anything else in haskell
2026-02-09 21:29:14 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-02-09 21:29:27 +0100 <ncf> although maybe continuation-passing would be a better name for this
2026-02-09 21:29:45 +0100 <EvanR> if your dependencies are continuations
2026-02-09 21:30:11 +0100 <ncf> sounds like that's what this is, unless i'm misunderstanding what it is people call the "ReaderT pattern"
2026-02-09 21:31:07 +0100 <EvanR> https://academy.fpblock.com/blog/2017/06/readert-design-pattern/
2026-02-09 21:31:08 +0100 <c_wraith> It's not necessarily continuations. You can pass around `log :: Env -> Level -> Message -> M ()' and there's no continuations there.
2026-02-09 21:32:01 +0100 <c_wraith> They key point is that you've abstracted managing the log system away from the logic that actually sends messages to the log system.
2026-02-09 21:34:29 +0100 <c_wraith> There are a lot of ways to do this, of course. But a single indirect function call is very low weight, compared to a lot of abstractions you can come up with.
2026-02-09 21:34:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-09 21:37:29 +0100 <ncf> i guess this is only necessary in a language without parametrised modules..
2026-02-09 21:39:18 +0100 <c_wraith> technically Haskell has those, but they're so painful that no one uses them.
2026-02-09 21:39:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 21:39:54 +0100 <ncf> does it?
2026-02-09 21:39:59 +0100 <c_wraith> Also, I guess it's more that *cabal* has them, and will modify the compilation environment to synthesize the equivalent.
2026-02-09 21:40:04 +0100 <dolio> backpack
2026-02-09 21:40:10 +0100 <ncf> oh
2026-02-09 21:40:27 +0100 <c_wraith> I actually use backpack features, but not for parameterized modules.
2026-02-09 21:40:42 +0100 <c_wraith> Just for compatibility with different library versions renaming modules.
2026-02-09 21:42:13 +0100 <EvanR> see also reflection (in haskell, for getting similar things accomplished)
2026-02-09 21:43:36 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-02-09 21:43:42 +0100KindFoxo(~KindFoxo@user/KindoFoxo) (Ping timeout: 265 seconds)
2026-02-09 21:43:56 +0100divlamir(~divlamir@user/divlamir) divlamir
2026-02-09 21:44:02 +0100KindFoxo(~KindFoxo@user/KindoFoxo) KindoFoxo
2026-02-09 21:44:03 +0100 <EvanR> which I guess has the proper name Implicit Configurations
2026-02-09 21:44:34 +0100 <c_wraith> functionally, the reflection library is also just "passing parameters", except it smuggles the parameter in a class constraint.
2026-02-09 21:44:53 +0100 <c_wraith> Which has interesting UX considerations