2026/01/23

2026-01-23 00:02:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-23 00:03:18 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2026-01-23 00:04:51 +0100zanetti(~zanetti@2804:7f0:9b80:2edc:c121:46e7:c35f:46cf) zanetti
2026-01-23 00:13:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 00:14:16 +0100 <jackdk> Perhaps most approachable free intro. Optics By Example is worth the price.
2026-01-23 00:18:12 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-23 00:18:26 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au)
2026-01-23 00:20:24 +0100 <chromoblob> how the fuck are you supposed to write Haskell without recursion
2026-01-23 00:20:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-23 00:20:52 +0100 <chromoblob> and how is Haskell without recursion supposed to be useful
2026-01-23 00:23:28 +0100 <geekosaur> I think tht usually means without _explicit_ recursion, e.g. using folds/traverses
2026-01-23 00:28:53 +0100zanetti(~zanetti@2804:7f0:9b80:2edc:c121:46e7:c35f:46cf) (Quit: Konversation terminated!)
2026-01-23 00:33:34 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2026-01-23 00:34:08 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au)
2026-01-23 00:34:18 +0100 <jreicher> chromoblob: who's saying you should write Haskell without recursion?
2026-01-23 00:34:30 +0100Hafydd(~Hafydd@user/hafydd) (Quit: WeeChat 4.8.1)
2026-01-23 00:40:35 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-23 00:42:00 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-01-23 00:47:48 +0100RMSBach(~RMSBach@24.210.9.182) RMSBach
2026-01-23 00:50:23 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 00:50:25 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
2026-01-23 00:51:03 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-23 00:55:03 +0100Hafydd(~Hafydd@user/hafydd) Hafydd
2026-01-23 00:56:36 +0100Square3(~Square4@user/square) Square
2026-01-23 01:00:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-23 01:10:11 +0100 <EvanR> the answer the question, certain patterns of recursion can be encapulsated in combinators that magically have the same effect
2026-01-23 01:10:13 +0100 <EvanR> to
2026-01-23 01:10:31 +0100 <EvanR> e.g. map and fold
2026-01-23 01:10:42 +0100 <EvanR> they can't do everything, but the more such tools you have the more you can do
2026-01-23 01:10:58 +0100 <EvanR> but sometimes explicit recursion makes more sense
2026-01-23 01:11:28 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 01:16:39 +0100 <probie> how are imperative languages without goto supposed to be useful?
2026-01-23 01:16:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-01-23 01:25:31 +0100Zemy_(~Zemy@2600:100c:b0ab:ed8b:c474:c7ff:febb:8ed3)
2026-01-23 01:27:14 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 01:28:13 +0100Zemy(~Zemy@72.178.108.235) (Ping timeout: 246 seconds)
2026-01-23 01:32:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-01-23 01:33:28 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-23 01:33:42 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au)
2026-01-23 01:43:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 01:48:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-23 01:51:32 +0100Zemy(~Zemy@syn-192-154-181-091.biz.spectrum.com)
2026-01-23 01:55:54 +0100Zemy_(~Zemy@2600:100c:b0ab:ed8b:c474:c7ff:febb:8ed3) (Ping timeout: 260 seconds)
2026-01-23 01:56:13 +0100Square3(~Square4@user/square) (Ping timeout: 246 seconds)
2026-01-23 01:58:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 02:01:45 +0100Zemy_(~Zemy@2600:100c:b0ab:ed8b:9876:2aff:fe33:1a1d)
2026-01-23 02:03:37 +0100Zemy(~Zemy@syn-192-154-181-091.biz.spectrum.com) (Ping timeout: 264 seconds)
2026-01-23 02:03:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-01-23 02:05:55 +0100 <systemfault> for loops/while/etc...
2026-01-23 02:07:45 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-23 02:08:40 +0100 <jackdk> I think probie is asking rhetorically, to provide an analogous question/answer pair to chromoblob/EvanR.
2026-01-23 02:08:58 +0100 <EvanR> lol
2026-01-23 02:09:57 +0100 <EvanR> clearly systemfault is answering in such a way intentionally to highlight the irony
2026-01-23 02:10:53 +0100 <EvanR> this is what it's like in the tiplerian omega point simulation where everyone already knows everything anyone could talk about
2026-01-23 02:11:35 +0100 <systemfault> Yeah... that said, I don't know what a tiplerian omega point simulation is...
2026-01-23 02:13:14 +0100 <geekosaur> sounds to me like someone's been tippling on physics 🙂
2026-01-23 02:14:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 02:15:37 +0100xff0x(~xff0x@2405:6580:b080:900:52f9:378c:6eea:47d5) (Ping timeout: 265 seconds)
2026-01-23 02:17:50 +0100Pozyomka_(~pyon@user/pyon) (Ping timeout: 245 seconds)
2026-01-23 02:19:41 +0100Pozyomka(~pyon@user/pyon) pyon
2026-01-23 02:19:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-23 02:21:54 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2026-01-23 02:30:02 +0100Zemy(~Zemy@72.178.108.235)
2026-01-23 02:30:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 02:31:59 +0100Zemy_(~Zemy@2600:100c:b0ab:ed8b:9876:2aff:fe33:1a1d) (Ping timeout: 250 seconds)
2026-01-23 02:35:26 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-01-23 02:39:37 +0100Square2(~Square@user/square) (Ping timeout: 264 seconds)
2026-01-23 02:42:24 +0100Inline(~User@2001-4dd7-bc56-0-fdb7-c703-fc72-e0a.ipv6dyn.netcologne.de) (Ping timeout: 252 seconds)
2026-01-23 02:43:44 +0100omidmash3(~omidmash@user/omidmash) omidmash
2026-01-23 02:45:34 +0100omidmash(~omidmash@user/omidmash) (Ping timeout: 246 seconds)
2026-01-23 02:45:34 +0100omidmash3omidmash
2026-01-23 02:46:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 02:50:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-23 02:54:36 +0100Inline(~User@2001-4dd7-bc56-0-bf4e-84aa-8c9c-590c.ipv6dyn.netcologne.de) Inline
2026-01-23 03:01:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 03:08:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-23 03:10:07 +0100 <Leary> chromoblob: Write all your co/inductive co/data types in greatest/least-fixed-point form, and all your logic in folds. It's not even as bad as it sounds!
2026-01-23 03:11:43 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-23 03:13:51 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-01-23 03:19:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 03:24:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-23 03:33:01 +0100 <jackdk> Reminds me of Dhall
2026-01-23 03:35:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 03:40:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-01-23 03:41:30 +0100terrorjack(~terrorjac@2a01:4f8:c17:9d11::) terrorjack
2026-01-23 03:41:32 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2026-01-23 03:43:36 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-23 03:47:59 +0100 <Leary> It should; Haskell sans recursion ~ System F ~ Dhall.
2026-01-23 03:51:54 +0100omidmash(~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
2026-01-23 03:52:25 +0100mange(~mange@user/mange) (Quit: Quittin' time!)
2026-01-23 03:53:09 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 03:53:09 +0100trickard_trickard
2026-01-23 03:55:29 +0100omidmash(~omidmash@user/omidmash) omidmash
2026-01-23 03:57:25 +0100haskellbridge(~hackager@96.28.224.214) (Remote host closed the connection)
2026-01-23 03:57:40 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-23 03:57:59 +0100haskellbridge(~hackager@96.28.224.214) hackager
2026-01-23 03:57:59 +0100ChanServ+v haskellbridge
2026-01-23 04:08:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 04:13:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-23 04:22:02 +0100notzmv(~umar@user/notzmv) notzmv
2026-01-23 04:23:03 +0100haskellbridge(~hackager@96.28.224.214) (Remote host closed the connection)
2026-01-23 04:24:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 04:26:58 +0100foul_owl(~kerry@94.156.149.99) (Ping timeout: 260 seconds)
2026-01-23 04:29:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-23 04:34:12 +0100haskellbridge(~hackager@96.28.224.214) hackager
2026-01-23 04:34:12 +0100ChanServ+v haskellbridge
2026-01-23 04:38:57 +0100Googulator26Googulator
2026-01-23 04:40:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 04:41:09 +0100foul_owl(~kerry@94.156.149.91) foul_owl
2026-01-23 04:45:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-23 04:45:26 +0100 <haskellbridge> <Zemyla> You can even zip lists by folding over both of them.
2026-01-23 04:51:58 +0100rotcev(~rotcev@user/rotcev) (Quit: Client closed)
2026-01-23 04:53:28 +0100chenjf(~chenjf@68.64.178.54)
2026-01-23 04:55:05 +0100 <monochrom> Belated: My hot take: How are languages without call/cc or at least shift/reset supposed to be useful? >:)
2026-01-23 04:55:07 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 265 seconds)
2026-01-23 04:55:34 +0100chenjf(~chenjf@68.64.178.54) (Client Quit)
2026-01-23 04:55:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 04:58:30 +0100leah2(~leah@vuxu.org) (Ping timeout: 265 seconds)
2026-01-23 05:00:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-23 05:04:31 +0100notzmv(~umar@user/notzmv) (Ping timeout: 264 seconds)
2026-01-23 05:11:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 05:16:13 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-01-23 05:16:35 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 245 seconds)
2026-01-23 05:17:51 +0100 <probie> Zemyla: You don't need to fold over both them, just one
2026-01-23 05:23:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 05:23:20 +0100 <probie> > let zip' = foldr (\x k ys -> case ys of { [] -> []; y:ys' -> (x,y):k ys' }) (const []) in zip' "hello" "world!"
2026-01-23 05:23:21 +0100 <lambdabot> [('h','w'),('e','o'),('l','r'),('l','l'),('o','d')]
2026-01-23 05:24:15 +0100sp1ff`(~user@2601:1c2:4701:900::32d4) (Read error: Connection reset by peer)
2026-01-23 05:24:52 +0100sp1ff`(~user@2601:1c2:4701:900::32d4)
2026-01-23 05:28:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-23 05:29:11 +0100 <ncf> well, case ys is a fold, just not a recursive one
2026-01-23 05:31:54 +0100trickard(~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-23 05:32:05 +0100 <probie> It's a lesser fold. A crease? :p
2026-01-23 05:32:08 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au)
2026-01-23 05:32:22 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-23 05:33:16 +0100 <ncf> i will concede 'a ply'
2026-01-23 05:38:32 +0100sp1ff`(~user@2601:1c2:4701:900::32d4) (Read error: Connection reset by peer)
2026-01-23 05:38:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 05:39:13 +0100sp1ff`(~user@2601:1c2:4701:900::32d4)
2026-01-23 05:43:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-01-23 05:48:55 +0100dutchie(~dutchie@user/dutchie) (Ping timeout: 264 seconds)
2026-01-23 05:50:14 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 256 seconds)
2026-01-23 05:50:48 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Ping timeout: 256 seconds)
2026-01-23 05:51:25 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-23 05:54:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 05:54:50 +0100 <haskellbridge> <Zemyla> @let newtype Z a b = Z { runZ :: a -> (Z a b -> b) -> b }
2026-01-23 05:55:20 +0100 <haskellbridge> <Zemyla> Apparently lambdabot doesn't like the bridge.
2026-01-23 05:58:31 +0100chromoblob(~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
2026-01-23 06:00:29 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2026-01-23 06:01:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-01-23 06:10:50 +0100 <probie> Zemyla: try putting a blank line before what you want to feed to lambdabot
2026-01-23 06:12:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 06:15:11 +0100 <chromoblob> Leary: could you elaborate, maybe give an example?
2026-01-23 06:15:51 +0100 <probie> If you send "foo\nbar" it should come through as "<haskellbridge> <Zemyla> foo\n<haskellbridge> bar", so the second line should come through as a separate message, without your username in front and will be picked up by lambdabot or yahb2
2026-01-23 06:16:33 +0100Googulator(~Googulato@2a01-036d-0106-030a-8d41-f550-2a4f-1a91.pool6.digikabel.hu) (Quit: Client closed)
2026-01-23 06:16:44 +0100Googulator(~Googulato@2a01-036d-0106-030a-8d41-f550-2a4f-1a91.pool6.digikabel.hu)
2026-01-23 06:17:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-01-23 06:18:03 +0100dutchie(~dutchie@user/dutchie) dutchie
2026-01-23 06:22:44 +0100lewisbrown(~user@user/lewisbrown) lewisbrown
2026-01-23 06:25:16 +0100leah2(~leah@vuxu.org) leah2
2026-01-23 06:28:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 06:33:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-23 06:36:43 +0100michalz(~michalz@185.246.207.203)
2026-01-23 06:44:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 06:45:15 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-23 06:48:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-23 06:49:46 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-23 06:57:25 +0100housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-01-23 06:58:54 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-01-23 07:00:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 07:03:25 +0100housemate(~housemate@202.7.248.67) housemate
2026-01-23 07:03:54 +0100Googulator(~Googulato@2a01-036d-0106-030a-8d41-f550-2a4f-1a91.pool6.digikabel.hu) (Quit: Client closed)
2026-01-23 07:04:06 +0100Googulator(~Googulato@2a01-036d-0106-030a-8d41-f550-2a4f-1a91.pool6.digikabel.hu)
2026-01-23 07:05:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-23 07:07:29 +0100weary-traveler(~user@user/user363627) user363627
2026-01-23 07:14:00 +0100notzmv(~umar@user/notzmv) notzmv
2026-01-23 07:15:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 07:18:07 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
2026-01-23 07:20:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-01-23 07:22:59 +0100 <Leary> chromoblob: https://gist.github.com/LSLeary/0247b813ad063409d4d09eccc5b077e0
2026-01-23 07:24:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 07:25:14 +0100trickard_trickard
2026-01-23 07:28:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-23 07:31:30 +0100 <haskellbridge> <Bowuigi> Related https://github.com/sellout/no-recursion
2026-01-23 07:39:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 07:46:34 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-23 07:47:43 +0100 <probie> recursion-schemes gives you general recursion anyway
2026-01-23 07:49:49 +0100trickard(~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-23 07:50:02 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au)
2026-01-23 07:50:10 +0100 <Leary> "recursion schemes" /= "recursion-schemes"
2026-01-23 07:57:57 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 08:02:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-01-23 08:06:24 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-01-23 08:12:54 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-23 08:13:07 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au)
2026-01-23 08:13:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 08:18:32 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-23 08:18:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-01-23 08:21:45 +0100tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 252 seconds)
2026-01-23 08:23:24 +0100trickard_(~trickard@cpe-93-98-47-163.wireline.com.au)
2026-01-23 08:23:28 +0100 <ncf> if you're not allergic to general recursion you can do the exact same thing using just one data type and no impredicative encodings https://gist.github.com/ncfavier/d42d077745c73dfb2e2c58592b1cd7e1
2026-01-23 08:24:04 +0100tomboy64(~tomboy64@user/tomboy64) tomboy64
2026-01-23 08:24:51 +0100 <ncf> (note that general recursion is used rather controlledly here, in `fold` and `unfold`, so you could make those abstract and pretend they are primitives)
2026-01-23 08:25:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 08:29:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-23 08:40:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 08:44:06 +0100danza(~danza@user/danza) danza
2026-01-23 08:45:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-23 08:48:32 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds)
2026-01-23 08:53:02 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-23 08:56:21 +0100Googulator(~Googulato@2a01-036d-0106-030a-8d41-f550-2a4f-1a91.pool6.digikabel.hu) (Ping timeout: 272 seconds)
2026-01-23 08:56:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 08:56:46 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-01-23 09:01:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-23 09:03:40 +0100oskarw(~user@user/oskarw) oskarw
2026-01-23 09:06:01 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds)
2026-01-23 09:08:04 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-01-23 09:08:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-23 09:10:49 +0100FANTOM(~fantom@87.75.185.177) (Read error: Connection reset by peer)
2026-01-23 09:13:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-23 09:21:24 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus