2026/06/28

2026-06-28 00:00:17 +0000tv(~tv@user/tv) tv
2026-06-28 00:01:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-06-28 00:01:53 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 271 seconds)
2026-06-28 00:06:43 +0000 <jreicher> schuelermine: my preferred alternative to any given terminal emulator is to not use a terminal emulator at all.
2026-06-28 00:12:20 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2026-06-28 00:12:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 00:17:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-28 00:24:20 +0000fgarcia(~lei@user/fgarcia) (Ping timeout: 245 seconds)
2026-06-28 00:24:52 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-28 00:24:52 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-06-28 00:25:17 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-28 00:26:25 +0000fgarcia(~lei@user/fgarcia) fgarcia
2026-06-28 00:26:51 +0000fgarcia(~lei@user/fgarcia) (Max SendQ exceeded)
2026-06-28 00:27:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 00:32:59 +0000fgarcia(~lei@user/fgarcia) fgarcia
2026-06-28 00:33:19 +0000fgarcia(~lei@user/fgarcia) (Max SendQ exceeded)
2026-06-28 00:34:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-28 00:39:23 +0000fgarcia(~lei@user/fgarcia) fgarcia
2026-06-28 00:45:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 00:50:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-06-28 01:01:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 01:03:27 +0000nattkyrro(~serenity@user/nattkyrro) (Ping timeout: 258 seconds)
2026-06-28 01:05:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-06-28 01:05:33 +0000nattkyrro(~serenity@user/nattkyrro) nattkyrro
2026-06-28 01:09:50 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-06-28 01:14:00 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-28 01:16:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 01:18:33 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 248 seconds)
2026-06-28 01:21:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 266 seconds)
2026-06-28 01:21:36 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-06-28 01:26:11 +0000 <schuelermine> jreicher: by that, do you mean a linux VT console?
2026-06-28 01:28:48 +0000 <monochrom> I'm "progressive" and I say that if you don't use terminal emulators then you use pure GUI. >:)
2026-06-28 01:29:21 +0000 <monochrom> Even "I use smart phones, what is terminal emulator? what even is computer?" >:)
2026-06-28 01:31:05 +0000 <geekosaur> apple beat you to that one
2026-06-28 01:31:41 +0000 <monochrom> Yeah I am plagiarizing from that Apple ad!
2026-06-28 01:31:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 01:33:55 +0000acidjnk_new(~acidjnk@p200300d6e74def0343353b3983e3e743.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-06-28 01:34:33 +0000acidjnk(~acidjnk@p200300d6e74def0343353b3983e3e743.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-06-28 01:36:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-28 01:39:10 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-28 01:44:09 +0000 <fgarcia> i've met windows and macos users who think linux is terminal only ._.
2026-06-28 01:44:49 +0000DetourNetworkUK(DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-06-28 01:46:31 +0000DetourNetworkUK(DetourNetw@user/DetourNetworkUK) DetourNetworkUK
2026-06-28 01:47:08 +0000 <monochrom> Not surprised. Extremists are the most vocal and representative, as always.
2026-06-28 01:47:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 01:47:40 +0000 <monochrom> Conversely linux users think windows and mac users are fisher toy players.
2026-06-28 01:48:17 +0000 <monochrom> There was a time I thought that GUI users were illiterate. >:)
2026-06-28 01:51:42 +0000ft(~ft@p3e9bc08f.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2026-06-28 01:51:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-28 01:53:32 +0000ft(~ft@p4fc2a1a4.dip0.t-ipconnect.de) ft
2026-06-28 02:02:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 02:05:04 +0000op_4(~tslil@user/op-4/x-9116473) (Remote host closed the connection)
2026-06-28 02:05:42 +0000op_4(~tslil@user/op-4/x-9116473) op_4
2026-06-28 02:08:44 +0000 <jreicher> schuelermine: No, I use an Emacs buffer
2026-06-28 02:09:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-06-28 02:09:54 +0000 <jreicher> Basically it becomes just plain text there and back. No fancy display instructions.
2026-06-28 02:14:25 +0000 <EvanR> I knew people who think linux is terminal only and thus "DOS"
2026-06-28 02:14:31 +0000ft(~ft@p4fc2a1a4.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2026-06-28 02:18:02 +0000 <fgarcia> though if i do start carrying a laptop around, i kind of want to install Q4OS on it. i think that's the one that has the windows theme haha
2026-06-28 02:19:33 +0000 <EvanR> I vaguely recall a win95 theme for icewm
2026-06-28 02:19:56 +0000 <EvanR> a minor riot
2026-06-28 02:20:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 02:21:11 +0000 <monochrom> icewm and a couple of others IIRC
2026-06-28 02:25:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-28 02:25:31 +0000ft(~ft@p3e9bcc41.dip0.t-ipconnect.de) ft
2026-06-28 02:26:15 +0000schuelermine(~Thunderbi@user/schuelermine) (Remote host closed the connection)
2026-06-28 02:29:29 +0000td_(~td@2001:9e8:19c4:7400:bf7f:cb56:94b:5d2b) (Ping timeout: 244 seconds)
2026-06-28 02:30:19 +0000ft(~ft@p3e9bcc41.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-06-28 02:31:13 +0000td_(~td@i53870910.versanet.de)
2026-06-28 02:31:20 +0000 <monochrom> But no DeriveBiFunctor :(
2026-06-28 02:33:16 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 02:33:16 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-06-28 02:36:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 02:37:24 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 245 seconds)
2026-06-28 02:40:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-28 02:42:06 +0000 <EvanR> DeriveEveryImaginableFunctorVariant
2026-06-28 02:45:51 +0000m(~travltux@user/travltux) (Ping timeout: 246 seconds)
2026-06-28 02:51:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 02:56:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-28 03:06:13 +0000ft(~ft@p3e9bc5a3.dip0.t-ipconnect.de) ft
2026-06-28 03:06:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 03:07:00 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-06-28 03:07:17 +0000tusko(~uwu@user/tusko) tusko
2026-06-28 03:07:29 +0000yanmaani(~yanmaani@gateway/tor-sasl/yanmaani) (Remote host closed the connection)
2026-06-28 03:07:40 +0000yanmaani(~yanmaani@gateway/tor-sasl/yanmaani) yanmaani
2026-06-28 03:07:51 +0000yanmaani(~yanmaani@gateway/tor-sasl/yanmaani) (Remote host closed the connection)
2026-06-28 03:08:01 +0000yanmaani(~yanmaani@gateway/tor-sasl/yanmaani) yanmaani
2026-06-28 03:09:14 +0000ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2026-06-28 03:11:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-28 03:12:53 +0000ft(~ft@p3e9bc5a3.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2026-06-28 03:15:04 +0000ft(~ft@p3e9bcc2e.dip0.t-ipconnect.de) ft
2026-06-28 03:21:28 +0000ft(~ft@p3e9bcc2e.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2026-06-28 03:21:48 +0000ft(~ft@p3e9bc453.dip0.t-ipconnect.de) ft
2026-06-28 03:22:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 03:26:27 +0000ft(~ft@p3e9bc453.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2026-06-28 03:26:31 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 03:26:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-28 03:27:34 +0000ft(~ft@p3e9bcc51.dip0.t-ipconnect.de) ft
2026-06-28 03:33:27 +0000ft(~ft@p3e9bcc51.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2026-06-28 03:35:19 +0000ft(~ft@p3e9bc90f.dip0.t-ipconnect.de) ft
2026-06-28 03:37:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 03:38:49 +0000m(~travltux@user/travltux) travltux
2026-06-28 03:40:06 +0000ft(~ft@p3e9bc90f.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2026-06-28 03:40:52 +0000ft(~ft@p4fc2a1bf.dip0.t-ipconnect.de) ft
2026-06-28 03:44:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-28 03:53:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 03:56:35 +0000 <janus> how many haskell compilers are currently under development besides ghc?
2026-06-28 03:57:21 +0000 <janus> i can think of superstar64/Hazy, microHS, secret fork of jhc, bhc (the ai slop one)
2026-06-28 03:57:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 247 seconds)
2026-06-28 03:58:35 +0000 <janus> the prorprietary bank one doesn't count because it is strict :P
2026-06-28 04:01:33 +0000 <janus> oh and then there is Ben Lynn's, and orionsj's fork of it
2026-06-28 04:01:42 +0000 <janus> and roconnor also is working on something similar
2026-06-28 04:09:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 04:11:51 +0000Guest29(~Guest29@8.130.95.189)
2026-06-28 04:13:03 +0000Guest91(~Guest91@8.130.84.107)
2026-06-28 04:13:14 +0000Guest57(~Guest57@8.130.95.189)
2026-06-28 04:13:39 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 245 seconds)
2026-06-28 04:13:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-28 04:15:18 +0000Guest57(~Guest57@8.130.95.189) (Client Quit)
2026-06-28 04:15:29 +0000Guest29(~Guest29@8.130.95.189) (Client Quit)
2026-06-28 04:15:30 +0000Guest91(~Guest91@8.130.84.107) (Client Quit)
2026-06-28 04:16:38 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 04:16:39 +0000spew(~spew@user/spew) (Quit: nyaa~)
2026-06-28 04:24:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 04:29:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-28 04:34:35 +0000[dpk](~dpk@jains.nonceword.org)
2026-06-28 04:34:38 +0000mstruebing_(~mstruebin@ns343649.ip-188-165-193.eu)
2026-06-28 04:35:38 +0000noctux1(~noctux@user/noctux) noctux
2026-06-28 04:35:39 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) (Ping timeout: 265 seconds)
2026-06-28 04:35:39 +0000lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds)
2026-06-28 04:35:39 +0000ent(entgod@kapsi.fi) (Ping timeout: 265 seconds)
2026-06-28 04:35:40 +0000noctuks(IbgdqiR86O@user/noctux) (Ping timeout: 265 seconds)
2026-06-28 04:35:40 +0000mstruebing(~mstruebin@ns343649.ip-188-165-193.eu) (Ping timeout: 265 seconds)
2026-06-28 04:35:40 +0000dpk(~dpk@jains.nonceword.org) (Ping timeout: 265 seconds)
2026-06-28 04:36:17 +0000lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2026-06-28 04:39:26 +0000ent(entgod@kapsi.fi) ent
2026-06-28 04:39:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 04:42:26 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 248 seconds)
2026-06-28 04:44:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-28 04:48:55 +0000dolio(~dolio@130.44.140.168) (Ping timeout: 245 seconds)
2026-06-28 04:49:58 +0000dolio(~dolio@130.44.140.168) dolio
2026-06-28 04:50:29 +0000Arsen(16abab341f@gentoo/developer/managarm.dev.Arsen) Arsen
2026-06-28 04:52:43 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 04:55:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 04:59:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 243 seconds)
2026-06-28 05:02:52 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 276 seconds)
2026-06-28 05:10:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 05:17:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-06-28 05:27:28 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-06-28 05:27:53 +0000Sgeo(~Sgeo@user/sgeo) Sgeo
2026-06-28 05:28:45 +0000merijn(~merijn@62.45.136.136) merijn
2026-06-28 05:33:18 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 265 seconds)
2026-06-28 05:38:00 +0000karenw(~karenw@user/karenw) (Remote host closed the connection)
2026-06-28 05:39:56 +0000karenw(~karenw@user/karenw) karenw
2026-06-28 05:44:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 05:48:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-28 05:52:46 +0000pyooque(~puke@user/puke) puke
2026-06-28 05:52:46 +0000pukeGuest7225
2026-06-28 05:52:46 +0000pyooquepuke
2026-06-28 05:53:34 +0000Guest7225(~puke@user/puke) (Read error: Connection reset by peer)
2026-06-28 05:54:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 05:57:28 +0000 <jaror> janus: Helium still got some commits two years ago.
2026-06-28 05:59:02 +0000tromp(~textual@2001:1c00:340e:2700:dd19:dfa1:d2a9:f5b7)
2026-06-28 05:59:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 275 seconds)
2026-06-28 06:10:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 06:14:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-28 06:17:33 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 06:18:37 +0000haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2026-06-28 06:25:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 06:26:17 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 248 seconds)
2026-06-28 06:29:14 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 06:29:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-06-28 06:33:54 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 256 seconds)
2026-06-28 06:36:22 +0000tusko(~uwu@user/tusko) (Remote host closed the connection)
2026-06-28 06:40:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 06:41:37 +0000tusko(~uwu@user/tusko) tusko
2026-06-28 06:45:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 243 seconds)
2026-06-28 06:47:05 +0000machinedgod(~machinedg@d108-173-95-19.abhsia.telus.net) (Ping timeout: 248 seconds)
2026-06-28 06:47:56 +0000tromp(~textual@2001:1c00:340e:2700:dd19:dfa1:d2a9:f5b7) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-06-28 06:50:41 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
2026-06-28 06:50:57 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-06-28 06:51:55 +0000traxex(traxex@user/traxex) traxex
2026-06-28 06:55:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 07:01:01 +0000tt12316070197800(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Quit: The Lounge - https://thelounge.chat)
2026-06-28 07:02:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-28 07:03:03 +0000tt12316070197800(~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) tt1231
2026-06-28 07:09:09 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-06-28 07:11:15 +0000berke93_(~default@193.108.195.249)
2026-06-28 07:14:11 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 07:15:00 +0000tromp(~textual@2001:1c00:340e:2700:dd19:dfa1:d2a9:f5b7)
2026-06-28 07:15:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 07:16:46 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-06-28 07:18:05 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds)
2026-06-28 07:21:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-28 07:24:37 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-06-28 07:32:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 07:32:43 +0000ski(~ski@31-208-30-55.cust.bredband2.com) (Ping timeout: 264 seconds)
2026-06-28 07:33:35 +0000ski(~ski@31-208-30-55.cust.bredband2.com)
2026-06-28 07:36:10 +0000[dpk]dpk
2026-06-28 07:36:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-28 07:47:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 07:49:42 +0000ss4(~wootehfoo@user/wootehfoot) wootehfoot
2026-06-28 07:51:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-28 07:52:48 +0000ss4(~wootehfoo@user/wootehfoot) (Client Quit)
2026-06-28 07:53:30 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 245 seconds)
2026-06-28 07:56:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 08:02:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-28 08:04:08 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-06-28 08:07:18 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-06-28 08:11:23 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 252 seconds)
2026-06-28 08:13:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 08:14:46 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-06-28 08:14:52 +0000divlamir_(~divlamir@user/divlamir) divlamir
2026-06-28 08:15:32 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 08:15:43 +0000divlamir_divlamir
2026-06-28 08:17:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-06-28 08:28:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 08:30:33 +0000Digit(~user@user/digit) (Read error: Connection reset by peer)
2026-06-28 08:33:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-28 08:38:12 +0000karenw(~karenw@user/karenw) (Ping timeout: 252 seconds)
2026-06-28 08:43:57 +0000hayhaystack(~husshpupp@user/husshpuppy) husshpuppy
2026-06-28 08:44:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 08:48:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-28 08:51:02 +0000acidjnk_new(~acidjnk@p200300d6e74def039d5a069af2df0e93.dip0.t-ipconnect.de)
2026-06-28 08:51:12 +0000acidjnk(~acidjnk@p200300d6e74def039d5a069af2df0e93.dip0.t-ipconnect.de) acidjnk
2026-06-28 08:51:35 +0000Googulator52(~Googulato@80-95-87-76.pool.digikabel.hu) (Quit: Client closed)
2026-06-28 08:51:37 +0000rubin55(sid666180@id-666180.ilkley.irccloud.com) rubin55
2026-06-28 08:52:00 +0000Googulator52(~Googulato@80-95-87-76.pool.digikabel.hu)
2026-06-28 08:54:55 +0000Digit(~user@user/digit) Digit
2026-06-28 08:55:16 +0000lynxx_(~lynxx_@2001:9e8:3bf4:6d00:7c69:8855:c9f5:ce3b)
2026-06-28 08:55:46 +0000lynxx_(~lynxx_@2001:9e8:3bf4:6d00:7c69:8855:c9f5:ce3b) (Client Quit)
2026-06-28 08:56:52 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 276 seconds)
2026-06-28 08:57:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-28 08:58:17 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 09:03:15 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 272 seconds)
2026-06-28 09:04:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-28 09:28:33 +0000Digit(~user@user/digit) (Read error: Connection reset by peer)
2026-06-28 09:29:21 +0000Digit`(~user@195.144.208.46.dyn.plus.net)
2026-06-28 09:33:55 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2026-06-28 09:34:34 +0000ski(~ski@31-208-30-55.cust.bredband2.com) (Ping timeout: 276 seconds)
2026-06-28 09:34:58 +0000traxex(traxex@user/traxex) (Ping timeout: 265 seconds)
2026-06-28 09:36:58 +0000poscat(~poscat@user/poscat) poscat
2026-06-28 09:37:54 +0000berke93_(~default@193.108.195.249) (Remote host closed the connection)
2026-06-28 09:38:19 +0000berke93_(~default@193.108.195.249)
2026-06-28 09:40:41 +0000ski(~ski@31-208-30-55.cust.bredband2.com)
2026-06-28 09:41:15 +0000chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 265 seconds)
2026-06-28 09:45:23 +0000__monty__(~toonn@user/toonn) toonn
2026-06-28 09:45:26 +0000ski(~ski@31-208-30-55.cust.bredband2.com) (Ping timeout: 256 seconds)
2026-06-28 09:46:43 +0000 <unworriedsafari> is it me or is hackage.haskell.org slow at the moment?
2026-06-28 09:47:32 +0000 <jaror> It's fine for me now (just browsing the packages)
2026-06-28 09:48:00 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 09:48:09 +0000chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-06-28 09:50:17 +0000 <unworriedsafari> ok it's alright again here as well
2026-06-28 10:09:30 +0000tcard__(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2026-06-28 10:21:24 +0000ski(~ski@31-208-30-244.cust.bredband2.com)
2026-06-28 10:30:59 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2026-06-28 10:32:04 +0000karenw(~karenw@user/karenw) karenw
2026-06-28 10:34:23 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 252 seconds)
2026-06-28 10:34:27 +0000berke93__(~default@82.166.36.177)
2026-06-28 10:36:37 +0000berke93_(~default@193.108.195.249) (Read error: Connection reset by peer)
2026-06-28 10:37:38 +0000berke93___(~default@193.108.195.249)
2026-06-28 10:39:20 +0000ft(~ft@p4fc2a1bf.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-06-28 10:41:18 +0000berke93__(~default@82.166.36.177) (Ping timeout: 244 seconds)
2026-06-28 10:41:48 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 10:51:12 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-06-28 10:51:27 +0000ft(~ft@p508db997.dip0.t-ipconnect.de) ft
2026-06-28 10:56:39 +0000ft(~ft@p508db997.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2026-06-28 10:57:20 +0000ft(~ft@p3e9bc25c.dip0.t-ipconnect.de) ft
2026-06-28 11:02:51 +0000ft(~ft@p3e9bc25c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2026-06-28 11:08:52 +0000ft(~ft@p3e9bccce.dip0.t-ipconnect.de) ft
2026-06-28 11:09:04 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 245 seconds)
2026-06-28 11:10:45 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 11:11:05 +0000puke(~puke@user/puke) (Read error: Connection reset by peer)
2026-06-28 11:11:22 +0000puke(~puke@user/puke) puke
2026-06-28 11:26:00 +0000skum(~skum@user/skum) skum
2026-06-28 11:31:14 +0000Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-06-28 11:32:07 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2026-06-28 11:33:13 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-06-28 11:34:06 +0000Lord_of_Life_Lord_of_Life
2026-06-28 11:35:01 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-06-28 11:35:56 +0000Digit`(~user@195.144.208.46.dyn.plus.net) (Ping timeout: 256 seconds)
2026-06-28 11:43:55 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 276 seconds)
2026-06-28 11:44:45 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 11:50:15 +0000Digit(~user@user/digit) Digit
2026-06-28 11:58:08 +0000tremon(~tremon@83-80-159-219.cable.dynamic.v4.ziggo.nl) tremon
2026-06-28 12:11:53 +0000weary-traveler(~user@user/user363627) user363627
2026-06-28 12:14:54 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-06-28 12:16:23 +0000fp(~Thunderbi@178-133-117-157.mobile.vf-ua.net) fp
2026-06-28 12:18:58 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2026-06-28 12:20:28 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-06-28 12:21:26 +0000 <fp> So I've been trying to get my head around how =IO= works, so I decided that I would try making a basic implementation of it with Rust. How far, at the high level, is what I'm doing from what Haskell does? https://paste.rs/SIL3v.rs
2026-06-28 12:22:31 +0000 <fp> Of course, mine uses Rust std to do I/O instead of syscalls, but I'm interested in if the interface I've made is basically similar
2026-06-28 12:23:12 +0000 <mauke> can't be right
2026-06-28 12:23:51 +0000 <mauke> IO::ret(s).bind(|s| { ... }) is pointless; could just { ... } directly
2026-06-28 12:24:15 +0000 <mauke> (because 'return x >>= f' is 'f x')
2026-06-28 12:25:37 +0000 <fp> Sure, but I have to fake it a bit since I'm not interested in implementing the low level IO
2026-06-28 12:25:49 +0000 <mauke> fp: main = let { x :: IO (); x = putStrLn "hi" } in print (length [x, x, x, x, x]) >> x >> x
2026-06-28 12:26:08 +0000 <mauke> if you do the equivalent thing in rust, what does it output?
2026-06-28 12:26:38 +0000 <mauke> let me guess at the syntax
2026-06-28 12:28:06 +0000 <mauke> fn main() { let x = put_str_ln("hi"); print(???).bind(|_| { x.bind(|_| { x }) }); }
2026-06-28 12:28:10 +0000 <mauke> not sure about lists
2026-06-28 12:28:48 +0000 <mauke> actually, we can do better
2026-06-28 12:29:22 +0000 <mauke> main = let { x :: IO (); x = putStrLn "hi" } in print (length [putStrLn "a", putStrLn "b", putStrLn "c"]) >> x >> x
2026-06-28 12:30:02 +0000 <mauke> the correct output is "3\nhi\nhi\n"
2026-06-28 12:30:23 +0000 <fp> For the first one, it's "hi\n5hi\nhi"
2026-06-28 12:30:24 +0000 <mauke> I suspect yours would give "hi\na\nb\nc\n"
2026-06-28 12:31:33 +0000 <fp> But actually I had to cheat with the first one. I couldn't reuse the x variable for the two >>s, so I rewrote put_str_ln("hi")
2026-06-28 12:32:31 +0000rensenwxre(~fwam@user/fwam) fwam
2026-06-28 12:33:03 +0000 <fp> So without the cheat, it would've said "hi\n5\n"
2026-06-28 12:35:12 +0000weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2026-06-28 12:35:48 +0000weary-traveler(~user@user/user363627) user363627
2026-06-28 12:39:34 +0000 <fp> > I suspect yours would give "hi\na\nb\nc\n"
2026-06-28 12:39:34 +0000 <fp> Yeah, or "hi\na\nb\nc3", but close enough
2026-06-28 12:39:35 +0000 <lambdabot> Data constructor not in scope:
2026-06-28 12:39:35 +0000 <lambdabot> I :: t0 -> t1 -> t2 -> t3 -> String -> tVariable not in scope: suspectVari...
2026-06-28 12:43:30 +0000 <fp> So I guess I need to make a structure of closures and run it with an explicit command, like Io::ret(...).bind(...).run(). But Rust doesn't make that easy...
2026-06-28 12:45:32 +0000 <mauke> I don't know rust, but I just prototyped it in perl: https://pt.gayr.at/p/akEXWseeFyQMI20qKUFlL479SHI
2026-06-28 12:46:08 +0000 <mauke> (no 'print' because we're taking advantage of perl's implicit 'show')
2026-06-28 12:47:36 +0000Pozyomka(~pyon@user/pyon) (Quit: test)
2026-06-28 12:51:16 +0000Pozyomka(~pyon@user/pyon) pyon
2026-06-28 12:52:59 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-06-28 12:53:05 +0000fp(~Thunderbi@178-133-117-157.mobile.vf-ua.net) (Ping timeout: 256 seconds)
2026-06-28 12:54:47 +0000traxex(traxex@user/traxex) traxex
2026-06-28 12:58:26 +0000fp(~Thunderbi@46-133-26-225.mobile.vf-ua.net) fp
2026-06-28 13:00:03 +0000 <fp> mauke: Ok yeah that's basically what I tried at first. Unfortunately, Rust makes extending the lifetime of a capturing closure a major PITA
2026-06-28 13:00:57 +0000 <fp> Maybe if I bring in a garbage collector it'll be easier, but I'm not sure it's possible to implement this otherwise
2026-06-28 13:01:15 +0000 <tomsmeding> fp: wrap everything everywhere in Rc<>?
2026-06-28 13:01:33 +0000 <tomsmeding> then as long as you don't create cycles, you get a "GC" like Haskell has
2026-06-28 13:03:25 +0000 <fp> I guess if I force users to put everything they want returned into an Rc first, that could work
2026-06-28 13:04:26 +0000 <tomsmeding> you're trying to simulate a language that's maximally-YOLO with memory management (pure Haskell) in one that's unusually precise about memory management
2026-06-28 13:06:59 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 245 seconds)
2026-06-28 13:07:19 +0000 <tomsmeding> fp: "struct Io<T>(T);" "/// A computation that, when performed, does some I/O before returning a value of type `T`."
2026-06-28 13:07:23 +0000 <tomsmeding> where's the computation? This is just a T
2026-06-28 13:08:10 +0000 <tomsmeding> try `struct Io<T>(Fn() -> T);`
2026-06-28 13:08:25 +0000 <fp> Yes and that is the root of all evil
2026-06-28 13:08:41 +0000 <tomsmeding> because of lifetimes?
2026-06-28 13:08:51 +0000 <tomsmeding> add .clone() and Rc<> until it works
2026-06-28 13:09:09 +0000 <tomsmeding> lifetimes are 100% distracting from the mechanics of IO :p
2026-06-28 13:10:34 +0000 <fp> That actually doesn't work because Fn() -> T is a DST, so you need to Box (or just &, but I won't) it and use dyn, or use a function pointer (but that means capturing closures aren't allowed). And even with Rc and clone, you still run into lifetime issues
2026-06-28 13:11:45 +0000 <fp> like in `fn ret(t: Rc<T>) -> Io<T> { Io(Rc::new(|| t.clone())) }`, t doesn't have a long enough lifetime
2026-06-28 13:12:51 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-28 13:13:54 +0000 <tomsmeding> also not if you `move || t`?
2026-06-28 13:14:23 +0000 <tomsmeding> and yes my rust is rusty, add Box<> as necessary
2026-06-28 13:14:42 +0000 <fp> No, move doesn't work
2026-06-28 13:15:28 +0000 <tomsmeding> what precisely is the error? ret() owns t, right, so it should be able to move it into the closure
2026-06-28 13:16:23 +0000 <fp> Ultimately, my goal isn't to emulate Haskell per se, but to have a composable Io interface in Rust. For context, I'm testing this out to see if I could make an API for an industrial fieldbus this way
2026-06-28 13:16:34 +0000 <fp> "T may not live long enough"
2026-06-28 13:17:27 +0000 <tomsmeding> I think this experience is enough to show that Haskell's way of representing an IO computation -- using closures -- is not usable in Rust :p
2026-06-28 13:17:38 +0000 <fp> Yeah I'm seeing that
2026-06-28 13:17:46 +0000 <tomsmeding> you might have more luck with the free monad encoding
2026-06-28 13:18:06 +0000 <tomsmeding> hm, no that still has closures everywhere