2025/05/20

2025-05-20 00:00:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 00:02:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 00:03:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 00:04:33 +0000jespada(~jespada@r186-49-242-255.dialup.adsl.anteldata.net.uy) (Ping timeout: 248 seconds)
2025-05-20 00:05:13 +0000Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-05-20 00:06:00 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-20 00:10:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 00:10:44 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 00:14:05 +0000euleritian(~euleritia@dynamic-176-006-144-129.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2025-05-20 00:14:23 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de)
2025-05-20 00:16:37 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 00:16:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 00:17:16 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 00:18:08 +0000mange(~user@user/mange) mange
2025-05-20 00:22:20 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2025-05-20 00:22:42 +0000euleritian(~euleritia@77.23.248.100)
2025-05-20 00:23:13 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 00:34:40 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 00:38:45 +0000nacation(~m-3l4s76@user/nacation) (Ping timeout: 252 seconds)
2025-05-20 00:39:16 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-20 00:40:41 +0000nacation(~m-3l4s76@user/nacation) nacation
2025-05-20 00:45:12 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 00:45:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 00:48:05 +0000haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-05-20 00:50:28 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 00:53:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 00:53:27 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 00:55:33 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 01:00:03 +0000euleritian(~euleritia@77.23.248.100) (Read error: Connection reset by peer)
2025-05-20 01:00:54 +0000euleritian(~euleritia@77.23.248.100)
2025-05-20 01:01:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:02:15 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:06:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 01:09:10 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:09:36 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:11:07 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-20 01:17:12 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-20 01:17:36 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:21:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 01:23:28 +0000yin(~z@user/zero) (Ping timeout: 276 seconds)
2025-05-20 01:25:31 +0000 <EvanR> whoa https://github.com/aistrate/Articles/tree/master/Haskell
2025-05-20 01:26:26 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 01:27:16 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:27:39 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:33:53 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:33:54 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-05-20 01:34:20 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:37:23 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 01:39:02 +0000yin(~z@user/zero) zero
2025-05-20 01:39:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:39:45 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:40:45 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 265 seconds)
2025-05-20 01:41:30 +0000werneta(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2025-05-20 01:41:47 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 01:42:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-20 01:47:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:47:57 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:49:40 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 268 seconds)
2025-05-20 01:53:10 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 01:54:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:54:38 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 01:57:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 01:59:26 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 01:59:48 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:02:05 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 02:03:42 +0000peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-20 02:04:43 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 02:07:29 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 02:07:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:09:25 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 02:12:15 +0000peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-05-20 02:16:39 +0000ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
2025-05-20 02:19:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 02:20:18 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:20:32 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 02:24:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 02:25:06 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 02:25:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:29:07 +0000xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-05-20 02:31:35 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 268 seconds)
2025-05-20 02:31:36 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-20 02:31:57 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:35:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 02:39:53 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 02:40:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:40:53 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 02:42:19 +0000machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-05-20 02:47:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 02:48:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:51:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 02:54:01 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 02:54:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 02:56:49 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-05-20 03:01:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 03:02:19 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:07:18 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 03:07:53 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 03:08:18 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:14:31 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-05-20 03:15:48 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 03:16:11 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:21:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 03:22:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:25:20 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 03:28:31 +0000vgtw(~vgtw@user/vgtw) (Ping timeout: 244 seconds)
2025-05-20 03:29:00 +0000vgtw(~vgtw@user/vgtw) vgtw
2025-05-20 03:29:44 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 03:29:53 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 03:30:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:32:17 +0000aforemny_(~aforemny@2001:9e8:6cc6:1600:7908:18da:5677:a8f7) aforemny
2025-05-20 03:32:33 +0000aforemny(~aforemny@i59F4C598.versanet.de) (Ping timeout: 248 seconds)
2025-05-20 03:34:09 +0000vgtw(~vgtw@user/vgtw) (Ping timeout: 248 seconds)
2025-05-20 03:34:47 +0000vgtw(~vgtw@user/vgtw) vgtw
2025-05-20 03:38:04 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-20 03:38:26 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:40:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 03:45:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-20 03:46:00 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-05-20 03:46:20 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:52:07 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 03:52:29 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:56:50 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 03:58:04 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 03:58:26 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 03:59:14 +0000Square(~Square4@user/square) (Ping timeout: 260 seconds)
2025-05-20 04:01:32 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 04:01:38 +0000peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-20 04:05:50 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 04:08:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 04:08:26 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 04:10:50 +0000sus0(zero@user/zeromomentum) zeromomentum
2025-05-20 04:11:07 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-20 04:12:59 +0000 <EvanR> so in 7 `div` 3 you have the dividend and the divisor, operator and operands
2025-05-20 04:13:22 +0000 <EvanR> in f x y z w, is there similar jargon to distinguish the f from the x y z and w
2025-05-20 04:15:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 04:15:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 04:18:09 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 04:19:37 +0000j1n37-(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-05-20 04:21:30 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 04:22:01 +0000michalz(~michalz@185.246.207.200)
2025-05-20 04:23:07 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 04:23:29 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 04:24:34 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-05-20 04:24:58 +0000 <Leary> I don't think there's anything wrong with 'function' and 'arguments', but I suppose you could say 'applicator' and 'applicands'.
2025-05-20 04:25:49 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 04:25:53 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 04:30:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 04:30:51 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 252 seconds)
2025-05-20 04:30:51 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 04:32:52 +0000jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-05-20 04:35:26 +0000 <monochrom> function and arguments
2025-05-20 04:36:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 04:37:37 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 04:37:57 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 04:41:51 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 04:43:25 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 04:43:47 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 04:45:27 +0000takuan(~takuan@d8D86B601.access.telenet.be)
2025-05-20 04:47:11 +0000 <EvanR> well yeah f would evaluate to a function
2025-05-20 04:47:18 +0000 <EvanR> but if it's a big expression
2025-05-20 04:47:43 +0000 <EvanR> calling a big expression "the function" while "function" is used for 50 other bits and bobs ... xD
2025-05-20 04:47:43 +0000 <monochrom> big-*ss function :)
2025-05-20 04:48:02 +0000 <EvanR> it's like calling x `div` y, the number and the number
2025-05-20 04:48:19 +0000 <EvanR> the number and the non-zero number
2025-05-20 04:48:33 +0000 <EvanR> and x y z w might also be functions
2025-05-20 04:48:55 +0000 <EvanR> applicator! dunno that sounds like I'm getting my makeup done
2025-05-20 04:49:32 +0000 <monochrom> If you say generically "f x y" then I can only answer generically "function, 1st arg, 2nd arg".
2025-05-20 04:50:03 +0000 <monochrom> "div x y" gets a more specific treatment because, only because, I know that you have specifically "div" not generically "f".
2025-05-20 04:51:04 +0000 <monochrom> Tell me more about your big-*ss function and your big-*ss argument. Then maybe I can think up better wording. Information is conserve, I can't create information from nothing.
2025-05-20 04:51:14 +0000 <monochrom> s/conserve/conserved/
2025-05-20 04:52:19 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 04:52:35 +0000 <EvanR> ok
2025-05-20 04:52:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 04:52:41 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 04:52:46 +0000 <EvanR> App Expr Expr,
2025-05-20 04:53:14 +0000 <EvanR> (a (b c) d) ((e f) g h) is of this form
2025-05-20 04:53:30 +0000 <EvanR> I've been calling the two components l and r for lack of a better idea
2025-05-20 04:53:48 +0000 <EvanR> one definitely should evaluate to "a function" while the other only might
2025-05-20 04:53:52 +0000 <monochrom> Frankly I just write like "interp (App f e) = ..."
2025-05-20 04:54:07 +0000 <EvanR> I was doing that until I needed f for other things in the same scope
2025-05-20 04:54:22 +0000 <EvanR> and it's silly anyway since f is often another App
2025-05-20 04:54:25 +0000 <EvanR> not a function
2025-05-20 04:54:45 +0000 <monochrom> interp (App e1 e2)
2025-05-20 04:55:01 +0000 <EvanR> yeah
2025-05-20 04:55:28 +0000 <monochrom> I am not one of those Enterprise Java dev, I am not going to sweat over "oh so meaningful names" where it doesn't matter.
2025-05-20 04:55:28 +0000 <EvanR> though to evaluate or compile App e1 e2, you don't treat them symmetrically
2025-05-20 04:55:39 +0000 <EvanR> so if I'm writing about e1 and e2 they might have names
2025-05-20 04:55:46 +0000 <EvanR> applicator and applicand it is
2025-05-20 04:56:01 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
2025-05-20 04:56:18 +0000 <monochrom> functor, funcand
2025-05-20 04:56:25 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-05-20 04:56:30 +0000 <EvanR> functcand
2025-05-20 04:56:40 +0000 <EvanR> functee
2025-05-20 04:57:04 +0000 <monochrom> I saw HOL4 saying "rator, rand", short for operator, operand.
2025-05-20 04:57:16 +0000 <EvanR> that's pretty bad
2025-05-20 04:57:43 +0000 <monochrom> Maybe alligator and egg? Recall that aligator game... :)
2025-05-20 04:57:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-05-20 04:57:55 +0000 <EvanR> yeah
2025-05-20 04:58:08 +0000 <EvanR> maybe now that I understand lambda calculus I can go back and understand the alligator game
2025-05-20 04:59:21 +0000harveypwca(~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving)
2025-05-20 04:59:22 +0000 <EvanR> ok I'll reserve "now understanding LC" for after I understand oleg's lambda calculus section
2025-05-20 05:01:40 +0000pabs3(~pabs3@user/pabs3) (Ping timeout: 252 seconds)
2025-05-20 05:02:47 +0000 <jackdk> Since all functions take only one argument, the LHS of an App Expr Expr is a function if your term is well-typed
2025-05-20 05:06:12 +0000flounders(~flounders@2607:fb90:ee09:4f99:c6b8:4dd2:346a:a4b4) (Ping timeout: 272 seconds)
2025-05-20 05:06:43 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 05:07:30 +0000flounders(~flounders@24.246.181.22) flounders
2025-05-20 05:09:47 +0000 <EvanR> it often "is" itself an App Expr Expr, and so on in a long chain
2025-05-20 05:10:00 +0000jason_davidson(~jason.dav@user/jason-davidson:57402) (Ping timeout: 272 seconds)
2025-05-20 05:10:24 +0000 <EvanR> no use treating it as a function it's actually a function, if anything is
2025-05-20 05:10:32 +0000 <EvanR> is lambda even a function? I'm not sure anymore
2025-05-20 05:10:51 +0000 <EvanR> s/function it's/function until it's/
2025-05-20 05:11:20 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-20 05:11:51 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 05:12:14 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 05:13:28 +0000 <EvanR> another counter example is yeah f x is well typed, and yeah f "is" a thunk. So you force it because it "is" a function, then f diverges because haskell
2025-05-20 05:14:43 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 05:16:17 +0000 <monochrom> If I have "div (div x y) (div a b)", do you have trouble calling "div a b" divisor?
2025-05-20 05:16:23 +0000califax(~califax@user/califx) califx
2025-05-20 05:17:29 +0000 <monochrom> "div a b" is itself another div, and god knows how many long chains and deep trees are hiding behind "a" and "b", too.
2025-05-20 05:18:03 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 05:18:13 +0000 <monochrom> By that reasoning, you will reject even "divisor". Paradoxically, you accepted it.
2025-05-20 05:18:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 05:18:53 +0000 <EvanR> yeah b is divisor in div a b and div a b is divisor in div (div x y) (div a b)
2025-05-20 05:19:11 +0000 <EvanR> not "the number"
2025-05-20 05:20:10 +0000 <EvanR> div is standing in for the fancy division sign here too, not to confuse div a b with generic f a b
2025-05-20 05:21:29 +0000 <monochrom> Div dividend divisor :: App function argument
2025-05-20 05:21:29 +0000 <EvanR> operator and operand might have worked if it wasn't for APL making a huge mess of that!
2025-05-20 05:21:43 +0000 <monochrom> I did not advocate "App number number".
2025-05-20 05:22:01 +0000 <monochrom> I didn't even advocate "App term moarterm"
2025-05-20 05:22:05 +0000 <EvanR> "the function" and ... the non function?
2025-05-20 05:22:17 +0000 <EvanR> could evaluate to a function, or not
2025-05-20 05:22:27 +0000 <monochrom> I didn't commit to "the argument is not a function".
2025-05-20 05:22:32 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 05:22:50 +0000 <EvanR> in some languages you can apply non functions!
2025-05-20 05:23:01 +0000 <monochrom> Do you accept recursion? Let recursion worry about what's inside argument.
2025-05-20 05:23:24 +0000 <EvanR> the recursion in my case has usually been taking care of what's inside "function" (left component)
2025-05-20 05:23:38 +0000 <EvanR> to flatten out the app chain
2025-05-20 05:25:34 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 05:25:59 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 05:26:32 +0000 <monochrom> https://en.wikipedia.org/wiki/Quotition_and_partition for more hair-splitting
2025-05-20 05:27:39 +0000 <monochrom> oh and don't get me started about that time a Taiwanese teacher posted on Youtube very dogmatic distinction between 4*5 and 5*4.
2025-05-20 05:27:45 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-20 05:28:19 +0000 <EvanR> a dogmatic distinction you need to use agda
2025-05-20 05:28:40 +0000DragonMaus(~dragonmau@user/dragonmaus) (Ping timeout: 260 seconds)
2025-05-20 05:28:45 +0000DrachenMaus(~dragonmau@user/dragonmaus) DragonMaus
2025-05-20 05:29:12 +0000 <EvanR> that quotitive vs partitive is exactly that
2025-05-20 05:30:02 +0000pabs3(~pabs3@user/pabs3) pabs3
2025-05-20 05:30:02 +0000 <EvanR> in graphical linear algebra 0*5 and 5*0 is distinct (array dimensions)
2025-05-20 05:32:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 05:33:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 05:34:41 +0000peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2025-05-20 05:36:37 +0000jle`(~jle`@2603:8001:3b00:11:515:67c3:ce1:e6bf) (Ping timeout: 272 seconds)
2025-05-20 05:36:46 +0000j1n37-(~j1n37@user/j1n37) j1n37
2025-05-20 05:37:13 +0000jle`(~jle`@2603:8001:3b00:11:3079:bbff:e6c:1301) jle`
2025-05-20 05:37:29 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-05-20 05:38:19 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 05:38:55 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 05:41:23 +0000jmorris(uid604645@id-604645.hampstead.irccloud.com) jmorris
2025-05-20 05:42:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 05:42:20 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 05:42:54 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-05-20 05:46:17 +0000machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-05-20 05:46:23 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 252 seconds)
2025-05-20 05:48:49 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 05:49:11 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 05:53:41 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 05:58:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 05:58:43 +0000euleritian(~euleritia@77.23.248.100) (Read error: Connection reset by peer)
2025-05-20 05:59:04 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 05:59:08 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de)
2025-05-20 06:00:17 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 06:01:01 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 06:02:53 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 252 seconds)
2025-05-20 06:04:44 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:05:06 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 06:05:17 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 244 seconds)
2025-05-20 06:07:44 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 06:08:34 +0000tromp(~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee)
2025-05-20 06:12:45 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:13:08 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 06:13:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-20 06:16:46 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 06:19:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:20:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 06:21:06 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 06:21:34 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 260 seconds)
2025-05-20 06:21:57 +0000dontdieych2(~quassel@user/dontdieych2) dontdieych2
2025-05-20 06:23:30 +0000nacation(~m-3l4s76@user/nacation) (Ping timeout: 265 seconds)
2025-05-20 06:23:31 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 06:28:19 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-20 06:28:20 +0000Digit(~user@user/digit) (Ping timeout: 265 seconds)
2025-05-20 06:28:32 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 244 seconds)
2025-05-20 06:28:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:29:14 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 06:29:18 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 06:29:49 +0000dontdieych2_(~quassel@user/dontdieych2) dontdieych2
2025-05-20 06:29:49 +0000nacation(~m-3l4s76@user/nacation) nacation
2025-05-20 06:29:52 +0000dontdieych2(~quassel@user/dontdieych2) (Ping timeout: 244 seconds)
2025-05-20 06:31:08 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2025-05-20 06:33:21 +0000euleritian(~euleritia@dynamic-176-006-140-197.176.6.pool.telefonica.de)
2025-05-20 06:33:44 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 245 seconds)
2025-05-20 06:35:52 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 06:35:56 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 06:38:15 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:38:46 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 06:39:12 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 06:39:59 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 245 seconds)
2025-05-20 06:40:12 +0000dontdieych2_(~quassel@user/dontdieych2) (Ping timeout: 244 seconds)
2025-05-20 06:40:30 +0000dontdieych2(~quassel@user/dontdieych2) dontdieych2
2025-05-20 06:40:45 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 276 seconds)
2025-05-20 06:44:39 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-20 06:44:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:45:18 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 06:46:09 +0000 <ski> EvanR,Leary : Scheme says "operator" and "operand" (and "procedure combination")
2025-05-20 06:46:10 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 06:46:20 +0000 <ski> interp (App e e0) = ..e..e0..
2025-05-20 06:46:49 +0000ski. o O ( "alligand" )
2025-05-20 06:47:25 +0000j1n37-(~j1n37@user/j1n37) (Ping timeout: 260 seconds)
2025-05-20 06:48:47 +0000 <ski> monochrom : yes. quotition vs. partition is relevant for factor groups (it's not really a "quotient"), e.g.
2025-05-20 06:49:59 +0000dontdieych2(~quassel@user/dontdieych2) (Ping timeout: 245 seconds)
2025-05-20 06:50:16 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-05-20 06:50:39 +0000dontdieych2(~quassel@user/dontdieych2) dontdieych2
2025-05-20 06:50:55 +0000 <ski> similarly, the two kinds of subtraction (diminishing vs. comparing) are relevant for vectors and points (in affine spaces). or torsors, more generally
2025-05-20 06:51:02 +0000ski. o O ( "Torsors Made Easy" by John Baez in 2009-12-27 at <https://math.ucr.edu/home/baez/torsors.html> )
2025-05-20 06:52:05 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-05-20 06:53:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:53:21 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 06:54:08 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 06:54:51 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 06:55:58 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 06:57:44 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-05-20 06:58:18 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-05-20 06:59:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 06:59:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:00:00 +0000caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-20 07:00:15 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-05-20 07:00:27 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 252 seconds)
2025-05-20 07:00:40 +0000caconym7(~caconym@user/caconym) caconym
2025-05-20 07:01:05 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 268 seconds)
2025-05-20 07:01:37 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2025-05-20 07:01:55 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-05-20 07:02:42 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 07:05:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 07:05:31 +0000koz(~koz@121.99.240.58) (Ping timeout: 244 seconds)
2025-05-20 07:05:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:05:47 +0000koz(~koz@121.99.240.58)
2025-05-20 07:07:03 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 252 seconds)
2025-05-20 07:07:29 +0000Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 248 seconds)
2025-05-20 07:09:05 +0000nschoe-(~nschoe@82-65-202-30.subs.proxad.net) (Quit: ZNC 1.8.2 - https://znc.in)
2025-05-20 07:09:22 +0000Maxdamantus(~Maxdamant@user/maxdamantus) Maxdamantus
2025-05-20 07:09:22 +0000nschoe(~nschoe@2a01:e0a:8e:a190:fcbd:4c31:903a:fb6c) nschoe
2025-05-20 07:10:39 +0000dontdieych2(~quassel@user/dontdieych2) (Ping timeout: 276 seconds)
2025-05-20 07:10:48 +0000dontdieych2(~quassel@user/dontdieych2) dontdieych2
2025-05-20 07:12:21 +0000werneta(~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 248 seconds)
2025-05-20 07:13:44 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 07:14:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:15:58 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 07:17:08 +0000tromp(~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-20 07:17:33 +0000tromp(~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee)
2025-05-20 07:21:01 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 265 seconds)
2025-05-20 07:25:28 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 07:25:52 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:31:52 +0000euleritian(~euleritia@dynamic-176-006-140-197.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2025-05-20 07:32:14 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de)
2025-05-20 07:32:27 +0000tromp(~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-20 07:33:30 +0000j1n37-(~j1n37@user/j1n37) j1n37
2025-05-20 07:33:44 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-05-20 07:34:08 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 07:34:30 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:34:59 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 07:35:57 +0000robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-05-20 07:40:07 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 272 seconds)
2025-05-20 07:40:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 07:41:04 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:45:15 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 07:45:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:46:37 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 07:50:06 +0000jmcantrell(~weechat@user/jmcantrell) (Quit: WeeChat 4.6.3)
2025-05-20 07:50:31 +0000dontdieych2_(~quassel@user/dontdieych2) dontdieych2
2025-05-20 07:50:39 +0000jmorris(uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2025-05-20 07:50:53 +0000dontdieych2(~quassel@user/dontdieych2) (Ping timeout: 276 seconds)
2025-05-20 07:51:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 07:51:26 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 07:53:30 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-05-20 07:53:51 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 07:55:16 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 07:55:55 +0000lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2025-05-20 07:56:37 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 07:58:20 +0000califax(~califax@user/califx) califx
2025-05-20 07:59:28 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 244 seconds)
2025-05-20 08:00:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 08:00:23 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2025-05-20 08:00:44 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 08:00:45 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de)
2025-05-20 08:10:06 +0000dontdieych2_(~quassel@user/dontdieych2) (Ping timeout: 244 seconds)
2025-05-20 08:10:40 +0000dontdieych2(~quassel@user/dontdieych2) dontdieych2
2025-05-20 08:11:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 08:11:44 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 08:13:45 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-05-20 08:14:52 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 08:16:37 +0000Digit(~user@user/digit) Digit
2025-05-20 08:19:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 08:20:20 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 08:26:07 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 08:26:29 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 08:32:17 +0000 <carbolymer> what's the best alternative class to `IsString` , but with a conversion function reporting an error e.g. `String -> Either Text a`?
2025-05-20 08:32:25 +0000 <carbolymer> I guess a parser would be best suited I think
2025-05-20 08:32:43 +0000chele(~chele@user/chele) chele
2025-05-20 08:33:13 +0000 <tomsmeding> (related but not the same: https://hackage.haskell.org/package/validated-literals )
2025-05-20 08:33:22 +0000 <tomsmeding> I don't think such a class exists in common use
2025-05-20 08:34:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 08:34:57 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 08:35:36 +0000 <carbolymer> looks cool, but I don't want to use it just for constants
2025-05-20 08:36:00 +0000 <tomsmeding> no it's not what you need, but I thought it was related and interesting
2025-05-20 08:36:08 +0000 <carbolymer> ;]
2025-05-20 08:40:24 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-05-20 08:42:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 08:43:14 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 08:47:08 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 08:47:52 +0000dontdieych2_(~quassel@user/dontdieych2) dontdieych2
2025-05-20 08:47:52 +0000dontdieych2(~quassel@user/dontdieych2) (Ping timeout: 272 seconds)
2025-05-20 08:49:04 +0000ft(~ft@p3e9bc106.dip0.t-ipconnect.de) (Quit: leaving)
2025-05-20 08:52:24 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 08:52:45 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 08:55:00 +0000 <bwe> sm, [exa], tomsmeding, EvanR: benchmarking scraping: GC after file load but before processing, measuring memory consumption outside of Criterion (-15% memory) added +RTS -s variant (confirms 130 MiB memory consumed), cross-checked with gnu time: https://github.com/benjaminweb/scraper-experiment/tree/main https://paste.tomsmeding.com/dS1MdYdG
2025-05-20 08:55:09 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 252 seconds)
2025-05-20 08:59:42 +0000 <bwe> sm: scalpel is using tagsoup internally, there's also https://github.com/ndmitchell/tagsoup/issues/83. How is the rather compact implementation of fast-tagsoup https://github.com/vshabanov/fast-tagsoup/blob/master/Text/HTML/TagSoup/Fast.hs realising this 10-20x speed gain compared to TagSoup? Is it just by switching to ByteStrings or by generously sprinkling in some "!" (BangPatterns) to force early evaluation?
2025-05-20 09:01:51 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:02:12 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:05:53 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-05-20 09:07:12 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 09:08:18 +0000Digitteknohippie(~user@user/digit) Digit
2025-05-20 09:09:31 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:09:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:10:06 +0000__monty__(~toonn@user/toonn) toonn
2025-05-20 09:10:15 +0000Digit(~user@user/digit) (Ping timeout: 252 seconds)
2025-05-20 09:10:35 +0000dontdieych2_(~quassel@user/dontdieych2) (Ping timeout: 268 seconds)
2025-05-20 09:11:14 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 245 seconds)
2025-05-20 09:15:49 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:16:10 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:20:25 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 09:21:04 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-05-20 09:21:12 +0000rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2025-05-20 09:21:43 +0000rvalue(~rvalue@user/rvalue) rvalue
2025-05-20 09:21:47 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:22:08 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:22:31 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 09:22:42 +0000j1n37-(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-05-20 09:25:49 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
2025-05-20 09:29:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:29:23 +0000DigitteknohippieDigit
2025-05-20 09:29:46 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:33:35 +0000chiselfu1e(~chiselfus@user/chiselfuse) chiselfuse
2025-05-20 09:35:00 +0000chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 264 seconds)
2025-05-20 09:35:53 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:36:15 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:38:29 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 09:39:11 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
2025-05-20 09:41:07 +0000wickedjargon(~user@2001:569:fc3c:d000:49fd:4f0f:5c90:505) wickedjargon
2025-05-20 09:42:45 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 248 seconds)
2025-05-20 09:43:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:43:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:48:41 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 272 seconds)
2025-05-20 09:48:48 +0000euleritian(~euleritia@dynamic-176-006-140-197.176.6.pool.telefonica.de)
2025-05-20 09:49:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:50:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 09:50:39 +0000j1n37-(~j1n37@user/j1n37) j1n37
2025-05-20 09:50:49 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-05-20 09:56:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 09:56:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 10:02:34 +0000JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-05-20 10:04:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 10:04:45 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 10:10:03 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 10:11:38 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 10:12:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 10:13:19 +0000biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2025-05-20 10:14:43 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 268 seconds)
2025-05-20 10:15:21 +0000biberu(~biberu@user/biberu) biberu
2025-05-20 10:19:09 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-05-20 10:19:21 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-05-20 10:19:48 +0000xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 276 seconds)
2025-05-20 10:21:07 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 10:22:29 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 252 seconds)
2025-05-20 10:23:22 +0000sand-witch(~m-mzmz6l@38.242.236.220) (Remote host closed the connection)
2025-05-20 10:25:05 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-05-20 10:26:07 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 10:26:13 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 276 seconds)
2025-05-20 10:26:28 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 10:26:42 +0000haritz(~hrtz@152.37.68.157)
2025-05-20 10:26:42 +0000haritz(~hrtz@152.37.68.157) (Changing host)
2025-05-20 10:26:42 +0000haritz(~hrtz@user/haritz) haritz
2025-05-20 10:28:14 +0000euleritian(~euleritia@dynamic-176-006-140-197.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2025-05-20 10:28:32 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de)
2025-05-20 10:30:15 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-05-20 10:31:11 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 10:31:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 10:32:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 10:33:56 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2025-05-20 10:37:54 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-05-20 10:38:31 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-05-20 10:39:52 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 10:39:58 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 10:40:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 10:41:54 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 10:43:45 +0000euouae(~euouae@user/euouae) euouae
2025-05-20 10:44:16 +0000 <euouae> Hello suppose you're given a long string "s" and a list of files "fs" and you have to check if the files, when concatenated, start with "s"
2025-05-20 10:44:27 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 10:44:59 +0000 <euouae> I'm not looking for the /most efficient/ solution, but would a relatively efficient solution be: map the files to lazy strings, use lens to concatenate into 1 string "r", and just check if r begins with s?
2025-05-20 10:46:14 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 245 seconds)
2025-05-20 10:48:23 +0000 <euouae> (I mean the file contents concatenated start with s, not the file names)
2025-05-20 10:48:49 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 248 seconds)
2025-05-20 10:55:09 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-05-20 10:56:46 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 10:56:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 10:57:16 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:00:04 +0000caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-20 11:01:57 +0000jespada(~jespada@r186-48-58-202.dialup.adsl.anteldata.net.uy) jespada
2025-05-20 11:02:17 +0000caconym7(~caconym@user/caconym) caconym
2025-05-20 11:07:39 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 11:08:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:08:03 +0000nacation(~m-3l4s76@user/nacation) (Ping timeout: 244 seconds)
2025-05-20 11:08:51 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 11:09:21 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2025-05-20 11:11:00 +0000euleritian(~euleritia@dynamic-176-006-140-197.176.6.pool.telefonica.de)
2025-05-20 11:13:28 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 11:13:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 11:14:16 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:14:29 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2025-05-20 11:15:17 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 244 seconds)
2025-05-20 11:15:25 +0000ubert(~Thunderbi@2a02:8109:ab8a:5a00:ba65:46ef:51e6:1d86) ubert
2025-05-20 11:17:51 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 252 seconds)
2025-05-20 11:20:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 11:20:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:21:22 +0000xff0x(~xff0x@om126236151042.32.openmobile.ne.jp)
2025-05-20 11:22:21 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 11:26:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 11:26:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:27:57 +0000JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-05-20 11:28:18 +0000 <__monty__> euouae: I'd first check whether ```s `isPrefixOf` (head fs)```, then start dropping each file's contents off the string if they isPrefixOf.
2025-05-20 11:29:31 +0000 <hellwolf> How do you tell the difference between skill issues vs. Haskell is an unproductive language?
2025-05-20 11:29:41 +0000 <__monty__> Well almost, probably just try chopping fs off the front of the string until they're not isPrefixOf, then check that s `isPrefixOf` whatever file you're on.
2025-05-20 11:30:33 +0000 <euouae> __monty__: right but I'm not asking for what you'd do ;P I'm asking if my solution is feasible and/or decent
2025-05-20 11:30:33 +0000 <__monty__> hellwolf: You look at Edwark Kmett's productivity and then go hide in the closet and cry at your skill issues.
2025-05-20 11:31:15 +0000 <hellwolf> I like the mindset of looking upwards.
2025-05-20 11:31:19 +0000 <__monty__> euouae: Ah, that *is* a different question, apologies for my reading skill issues : )
2025-05-20 11:31:43 +0000 <euouae> __monty__: you have to keep in mind that I'm giving a simplified example, so you can't feasibly change it (it will no longer correspond to the more complex thing I'm doing)
2025-05-20 11:32:50 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 11:33:37 +0000 <__monty__> Yes, it's always an XY problem.
2025-05-20 11:34:11 +0000 <euouae> If you want to hear the XY thing, I'm writing a clone of GNU m4 in Haskell
2025-05-20 11:34:24 +0000 <euouae> there's large tokens and m4 can have multiple streams that behave as one
2025-05-20 11:35:01 +0000 <[exa]> bwe: btw try to squeeze the gc interval there. The 130MB you're measuring might again be "benevolent amount of memory that RTS allows itself to copy-on-write before triggering the GC", with only a small portion of that being non-GCable at any point of time
2025-05-20 11:35:13 +0000 <euouae> I can do what you suggest, but I need more than "isPrefixOf", e.g. I might need to find needles, etc
2025-05-20 11:35:55 +0000nacation(~m-3l4s76@user/nacation) nacation
2025-05-20 11:36:04 +0000 <[exa]> bwe: btw see the note here https://hackage.haskell.org/package/base-4.21.0.0/docs/System-Mem.html#v:enableAllocationLimit
2025-05-20 11:36:25 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 11:36:46 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:37:37 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 272 seconds)
2025-05-20 11:42:29 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-20 11:42:53 +0000Vq(~vq@81-226-38-201-no600.tbcn.telia.com) (Ping timeout: 268 seconds)
2025-05-20 11:42:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:45:19 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 11:46:48 +0000 <merijn> I mean, depending on what you're doing 130 MiB does not seem unreasonable
2025-05-20 11:48:51 +0000 <merijn> __monty__: isPrefixOf *hiss*
2025-05-20 11:49:26 +0000 <merijn> I can think of very, very few situations where isPrefixOf should be used that wouldn't be better served by stripPrefix and this situation does not seem one of them :)
2025-05-20 11:49:49 +0000 <euouae> isPrefixOf is an example, there's various operations I'd be using
2025-05-20 11:50:06 +0000 <euouae> you'd have to curate each with your specific better algorithms (e.g. here isPrefixOf => just use stripPrefix) and so on
2025-05-20 11:50:17 +0000 <euouae> I'd rather just treat the whole thing as one lazy string
2025-05-20 11:50:28 +0000 <euouae> I'm just asking if it is feasible but at this point I'm testing it out myself to see
2025-05-20 11:52:09 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 11:52:45 +0000j1n37-(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-05-20 11:54:26 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 11:54:48 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 11:55:10 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-05-20 11:55:30 +0000kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2025-05-20 11:57:37 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 248 seconds)
2025-05-20 12:02:25 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
2025-05-20 12:02:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:02:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:05:07 +0000rvalue-(~rvalue@user/rvalue) rvalue
2025-05-20 12:06:05 +0000 <euouae> Hm, I just checked it, it runs pretty smoothly. Cool, thank you.
2025-05-20 12:06:58 +0000rvalue(~rvalue@user/rvalue) (Ping timeout: 276 seconds)
2025-05-20 12:07:00 +0000 <euouae> Another thing that bothers me now is that when I use emacs haskell-mode and I have dependencies (e.g. lens) in my app/Main.hs it gives me trouble when I start a GHCi session with C-c C-l: "lens not imported" or crap like that, and offers to add it to the .cabal file. I think it's not detecting it in MyLib.hs
2025-05-20 12:07:27 +0000 <euouae> How can I work around this issue? I don't understand how to tell the GHCi session to focus on app/Main.hs instead of src/MyLib.hs
2025-05-20 12:08:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:09:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:11:46 +0000rvalue-rvalue
2025-05-20 12:12:20 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-05-20 12:12:49 +0000 <hellwolf> (lsp-haskell-session-loading "multipleComponents")
2025-05-20 12:12:51 +0000 <hellwolf> have you set this
2025-05-20 12:13:09 +0000 <hellwolf> also, for a cabal project, you should also set this:
2025-05-20 12:13:10 +0000 <hellwolf> multi-repl: true
2025-05-20 12:13:18 +0000 <euouae> Where is that latter part set?
2025-05-20 12:13:27 +0000 <hellwolf> cabal.project
2025-05-20 12:13:34 +0000 <euouae> hm. that's weird
2025-05-20 12:13:47 +0000euouaeis trying to remmber if cabal has a .user component
2025-05-20 12:14:11 +0000 <hellwolf> what's that?
2025-05-20 12:14:25 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:14:30 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 12:14:44 +0000 <euouae> user configurations on top of project configurations
2025-05-20 12:14:50 +0000 <euouae> some build systems support it
2025-05-20 12:14:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:16:34 +0000 <euouae> I'm seeing that `cabal user-config update` modified my ~/.cabal/config to be different. in particular it added multi-repl: true
2025-05-20 12:17:01 +0000 <yushyin> cabal.project.local, maybe?
2025-05-20 12:17:04 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
2025-05-20 12:17:19 +0000califax(~califax@user/califx) califx
2025-05-20 12:17:30 +0000jespada(~jespada@r186-48-58-202.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-05-20 12:19:01 +0000_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-05-20 12:19:24 +0000 <euouae> I modified lsp-haskell-session-loading and added multi-repl: true in my cabal user config
2025-05-20 12:19:30 +0000 <euouae> what more do I need to do it's still not working smh
2025-05-20 12:20:06 +0000 <euouae> I restarted the lsp
2025-05-20 12:20:13 +0000 <euouae> nothing works. dang
2025-05-20 12:21:04 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:21:27 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:22:02 +0000 <euouae> and you're right (thanks) yushyin that's what I meatn
2025-05-20 12:22:14 +0000 <yushyin> happy to help
2025-05-20 12:23:00 +0000 <euouae> okay forget about emacs. I can't get it to work in the `cabal repl` either
2025-05-20 12:23:07 +0000 <euouae> E.g. `import Control.Lens` keeps telling me it's part of a hdiden package
2025-05-20 12:23:43 +0000 <euouae> it only works if I do `cabal repl app/Main.hs`
2025-05-20 12:24:55 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 12:25:38 +0000 <hellwolf> ah, you need to do some trick
2025-05-20 12:25:41 +0000 <hellwolf> with cabal repl
2025-05-20 12:26:05 +0000 <hellwolf> cabal repl --build-depends lens
2025-05-20 12:26:21 +0000 <hellwolf> it's literally in the last few lines in cabal --help :p
2025-05-20 12:26:43 +0000 <hellwolf> you can also do that in a repl environment
2025-05-20 12:27:01 +0000 <hellwolf> ::set -package lens
2025-05-20 12:27:20 +0000 <hellwolf> you may also setup a startup ghci script, so that emacs probably can work too
2025-05-20 12:27:58 +0000 <euouae> the `cabal repl --build-depends lens` says it will add it to the default component
2025-05-20 12:28:19 +0000 <euouae> I have already manually added lens to the execuable component
2025-05-20 12:28:30 +0000euleritian(~euleritia@dynamic-176-006-140-197.176.6.pool.telefonica.de) (Ping timeout: 276 seconds)
2025-05-20 12:28:41 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:28:45 +0000jespada(~jespada@r186-48-58-202.dialup.adsl.anteldata.net.uy) jespada
2025-05-20 12:28:51 +0000 <hellwolf> so, did it work?
2025-05-20 12:28:54 +0000euleritian(~euleritia@dynamic-176-000-061-076.176.0.pool.telefonica.de)
2025-05-20 12:29:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:29:32 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 12:29:52 +0000 <euouae> First of all, what does it mean `cabal repl cname` for the component named cname?
2025-05-20 12:29:56 +0000 <euouae> Where's the component names specified in the cabla file?
2025-05-20 12:30:10 +0000 <euouae> I see `library` by itself and `executable m4hs`. If I try `cabal repl m4hs`, I can't import lens.
2025-05-20 12:31:22 +0000califax(~califax@user/califx) califx
2025-05-20 12:32:15 +0000 <tomsmeding> euouae: try `cabal repl exe:m4hs`
2025-05-20 12:32:37 +0000 <tomsmeding> the component name is just what you expect, but if your package is also called m4hs, then you have two components both called m4hs
2025-05-20 12:32:37 +0000 <hellwolf> cabal repl --build-depends lens exe:m4hs
2025-05-20 12:32:42 +0000 <euouae> nice, that worked
2025-05-20 12:32:53 +0000 <euouae> I don't need the --build-depends because it already is added
2025-05-20 12:32:57 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 12:33:07 +0000 <euouae> okay that worked fine, but now why does Emacs not do this with ~C-c C-l`?
2025-05-20 12:33:16 +0000 <tomsmeding> euouae: `:show imports`
2025-05-20 12:33:22 +0000 <euouae> that's `haskell-process-load-file'
2025-05-20 12:33:27 +0000 <hellwolf> haskell-process-type: cabal-repl
2025-05-20 12:33:27 +0000 <hellwolf> haskell-process-load-or-reload-prompt: t
2025-05-20 12:33:30 +0000 <tomsmeding> also `:set prompt "%s> "`
2025-05-20 12:33:37 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:33:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:33:59 +0000tomsmedingis of the opinion that switching to ghci> as the prompt has been a net detriment to the majority of haskell users because ghci module scope is tremendously confusing
2025-05-20 12:34:47 +0000segfaultfizzbuzz(~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) segfaultfizzbuzz
2025-05-20 12:34:53 +0000 <euouae> hellwolf: for `haskell-process-type' I have auto which should pick up the cabal.project.
2025-05-20 12:35:03 +0000 <tomsmeding> and having multiple components, with the risk of ghci being in a different component than you expect, makes this even more confusing
2025-05-20 12:35:41 +0000 <hellwolf> yea, loading exec component is probably beyond haskell-mode can understand. it's too old.
2025-05-20 12:36:03 +0000 <tomsmeding> by default, `cabal repl` probably opens the library component, not the executable component
2025-05-20 12:36:14 +0000 <tomsmeding> if you `:show imports` you can observe that
2025-05-20 12:36:48 +0000 <euouae> you're right
2025-05-20 12:37:07 +0000 <tomsmeding> hellwolf: `:set -package lens` is almost never the right approach :p
2025-05-20 12:37:07 +0000 <euouae> hellwolf: oh okay, so haskell-mode just doesn't know what to do
2025-05-20 12:37:32 +0000 <tomsmeding> at least not if you're not yet exactly sure what ghci's scope is in the first place
2025-05-20 12:38:36 +0000 <euouae> I figured it out
2025-05-20 12:38:56 +0000 <euouae> I need to use 'M-x haskell-session-change-target' and choose exe:4mhs
2025-05-20 12:38:58 +0000 <euouae> exe:m4hs
2025-05-20 12:39:09 +0000 <hellwolf> amazing
2025-05-20 12:39:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:40:03 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:40:28 +0000 <[exa]> is there some kind of lensism that would allow me to write something like "zip" of 2 lenses? such as:
2025-05-20 12:41:12 +0000 <[exa]> obj ^. myItems . deep . very . deep . lensyZipWith (+) (deeper.value.a) (other.path.to.value.b)
2025-05-20 12:42:18 +0000 <[exa]> I could do with say `to (\x -> (x ^. bla.bla) + (x ^. foo.bar))` but that is .... insufficiently satisfying
2025-05-20 12:42:43 +0000califax(~califax@user/califx) califx
2025-05-20 12:43:26 +0000 <euouae> alongside?
2025-05-20 12:43:31 +0000 <euouae> https://hackage-content.haskell.org/package/lens-5.3.4/docs/Control-Lens-Lens.html#v:alongside
2025-05-20 12:44:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:45:25 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:46:23 +0000 <hellwolf> 05-20 15:37 <tomsmeding> hellwolf: `:set -package lens` is almost never the right approach :p
2025-05-20 12:46:24 +0000 <hellwolf> Oh? Does cabal repl always expose the dependencies?
2025-05-20 12:48:21 +0000notzmv(~daniel@user/notzmv) (Ping timeout: 248 seconds)
2025-05-20 12:48:43 +0000 <euouae> Okay, thank you everyone :) appreciate it
2025-05-20 12:48:47 +0000euouae(~euouae@user/euouae) ()
2025-05-20 12:50:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:51:20 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 12:56:38 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 12:58:18 +0000califax(~califax@user/califx) califx
2025-05-20 12:58:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 12:59:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 13:01:38 +0000 <tomsmeding> hellwolf: cabal repl opens a ghci in the context of a particular component, with all the build-depends of that component in scope
2025-05-20 13:01:55 +0000 <tomsmeding> euouae was just in the wrong component
2025-05-20 13:02:24 +0000 <tomsmeding> if you really need a package in your repl that is not in the build-depends list for the component you want the repl to be in, then yes you can manually try to add it
2025-05-20 13:02:45 +0000 <tomsmeding> but this is quite rare
2025-05-20 13:04:23 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 13:06:16 +0000califax(~califax@user/califx) califx
2025-05-20 13:08:51 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 13:10:25 +0000califax(~califax@user/califx) califx
2025-05-20 13:11:19 +0000biberu(~biberu@user/biberu) (Ping timeout: 276 seconds)
2025-05-20 13:14:06 +0000jespada(~jespada@r186-48-58-202.dialup.adsl.anteldata.net.uy) (Ping timeout: 252 seconds)
2025-05-20 13:14:14 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 13:17:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 13:17:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 13:17:28 +0000jespada(~jespada@r190-133-13-145.dialup.adsl.anteldata.net.uy) jespada
2025-05-20 13:18:32 +0000califax(~califax@user/califx) califx
2025-05-20 13:23:33 +0000 <hellwolf> i see.
2025-05-20 13:24:05 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 13:24:45 +0000 <[exa]> euouae: oh that's it, thanks!
2025-05-20 13:25:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 13:25:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 13:25:34 +0000califax(~califax@user/califx) califx
2025-05-20 13:27:59 +0000 <[exa]> well, almost, I see that what I want can't even be a lens (what would one do with 2 different updates)
2025-05-20 13:28:21 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 265 seconds)
2025-05-20 13:31:14 +0000califax(~califax@user/califx) (Remote host closed the connection)
2025-05-20 13:31:28 +0000arahael(~arahael@user/arahael) (Ping timeout: 244 seconds)
2025-05-20 13:32:43 +0000califax(~califax@user/califx) califx
2025-05-20 13:39:59 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 13:40:22 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 13:40:56 +0000mange(~user@user/mange) (Quit: Zzz...)
2025-05-20 13:46:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 13:46:46 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 13:47:08 +0000internatetional(~nate@2001:448a:20a3:c2e5:25:514a:e62a:e326) internatetional
2025-05-20 13:48:34 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2025-05-20 13:52:36 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 13:52:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 13:54:01 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 13:57:20 +0000ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-05-20 13:58:27 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 252 seconds)
2025-05-20 14:03:09 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:03:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 14:06:52 +0000Square(~Square4@user/square) Square
2025-05-20 14:09:11 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:09:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 14:19:10 +0000 <lxsameer> hey folks, I'm trying to figure out a function like `.>` in this example to compose many instances of X in an array. do you have any idea how to do it? https://dpaste.com/B9NYJDA9Q
2025-05-20 14:23:27 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:23:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 14:25:52 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 14:30:07 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:30:09 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 248 seconds)
2025-05-20 14:30:29 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 14:35:03 +0000visilii_(~visilii@46.61.242.71) (Ping timeout: 265 seconds)
2025-05-20 14:37:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:38:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 14:44:10 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:44:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 14:47:58 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2025-05-20 14:49:10 +0000merijn(~merijn@77.242.116.146) merijn
2025-05-20 14:52:03 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:52:24 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 14:55:11 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 14:59:27 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 14:59:31 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 244 seconds)
2025-05-20 14:59:49 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:05:18 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:05:27 +0000totbwf(uid402332@id-402332.uxbridge.irccloud.com) (Changing host)
2025-05-20 15:05:27 +0000totbwf(uid402332@user/totbwf) totbwf
2025-05-20 15:05:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:11:22 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
2025-05-20 15:11:31 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:11:53 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:15:59 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728)
2025-05-20 15:17:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:17:57 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:23:38 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:24:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:31:37 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:31:37 +0000xff0x(~xff0x@om126236151042.32.openmobile.ne.jp) (Read error: Connection reset by peer)
2025-05-20 15:32:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:33:40 +0000jason2(~jason.dav@2800:bf0:177:7c0:70ed:b503:23d5:6728) (Ping timeout: 276 seconds)
2025-05-20 15:33:41 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83)
2025-05-20 15:34:35 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83) (Client Quit)
2025-05-20 15:34:43 +0000 <hellwolf> is there any way to make MapList injective?
2025-05-20 15:34:44 +0000 <hellwolf> type family MapList (f :: Type -> Type) (xs :: [Type]) :: [Type] where
2025-05-20 15:36:18 +0000euleritian(~euleritia@dynamic-176-000-061-076.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
2025-05-20 15:36:37 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de)
2025-05-20 15:36:39 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83)
2025-05-20 15:38:20 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:38:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:40:45 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2025-05-20 15:45:03 +0000euleritian(~euleritia@77.23.248.100)
2025-05-20 15:45:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:46:03 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:50:15 +0000 <tomsmeding> hellwolf: https://play.haskell.org/saved/ZnA8EB9E works for me https://play.haskell.org/saved/ZnA8EB9E
2025-05-20 15:50:25 +0000visilii(~visilii@213.24.134.172)
2025-05-20 15:51:18 +0000 <tomsmeding> oh sorry for the double paste lol
2025-05-20 15:51:24 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2025-05-20 15:51:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 15:52:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 15:52:45 +0000 <hellwolf> oh wow, I can use UndecidableInstances ?
2025-05-20 15:53:06 +0000 <tomsmeding> I dunno, the error ghc gave me mentioned it and I was obedient
2025-05-20 15:53:08 +0000 <hellwolf> hmm, let me try! if that works, that solved one of my inference woes
2025-05-20 15:53:29 +0000 <hellwolf> yea, let me try it end-to-end
2025-05-20 15:53:53 +0000 <tomsmeding> notable is that this is not injective in f, only in xs
2025-05-20 15:54:38 +0000 <c_wraith> you could add more dependencies
2025-05-20 15:56:31 +0000internatetional(~nate@2001:448a:20a3:c2e5:25:514a:e62a:e326) (Ping timeout: 252 seconds)
2025-05-20 15:57:43 +0000kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
2025-05-20 15:59:56 +0000 <hellwolf> huh?
2025-05-20 16:02:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:03:03 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:04:01 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-20 16:05:49 +0000chele(~chele@user/chele) (Remote host closed the connection)
2025-05-20 16:08:18 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:08:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:10:41 +0000 <hellwolf> nope
2025-05-20 16:10:50 +0000 <hellwolf> in the end, it still doesn't work with the type inference
2025-05-20 16:11:20 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2025-05-20 16:11:30 +0000 <int-e> yeah as the type checker will tell you, MapList f '[] = '[] fails to be injective in f.
2025-05-20 16:12:03 +0000 <hellwolf> I know a workaround now. But that undecidableinstances probably means "well, maybe it will not be injective after all, but I will not fail for now?"
2025-05-20 16:12:56 +0000 <bwe> [exa]: just to confirm, I should call `enableAllocationLimit` to let gc run more often so the remaining allocated memory is really the actually used one?
2025-05-20 16:15:00 +0000Digitteknohippie(~user@user/digit) Digit
2025-05-20 16:15:46 +0000Digit(~user@user/digit) (Ping timeout: 244 seconds)
2025-05-20 16:17:37 +0000ubert(~Thunderbi@2a02:8109:ab8a:5a00:ba65:46ef:51e6:1d86) (Quit: ubert)
2025-05-20 16:18:22 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2025-05-20 16:18:24 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:18:45 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:19:23 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 244 seconds)
2025-05-20 16:21:35 +0000 <int-e> hellwolf: no. as usual you just give up on a crude constraint that the type checker uses to ensure that type checking terminates in favor of a best effort approach that is still sound *if* it terminates. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/type_families.html#verifying-the-injectivi…
2025-05-20 16:22:08 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 16:22:45 +0000 <int-e> (sticking to logic language, you're giving up completeness)
2025-05-20 16:25:38 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:25:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:27:08 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83)
2025-05-20 16:31:55 +0000machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds)
2025-05-20 16:32:09 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:32:31 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:34:51 +0000 <hellwolf> I see.
2025-05-20 16:35:42 +0000 <hellwolf> we accept term-level bottom by default. but somehow at type-level our default is more strict.
2025-05-20 16:36:20 +0000JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-05-20 16:37:45 +0000 <EvanR> having the compiler enter an infinite loop is not cool
2025-05-20 16:38:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:38:10 +0000Vq(~vq@81-226-38-201-no600.tbcn.telia.com) Vq
2025-05-20 16:38:28 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:44:34 +0000Guest11(~Guest11@syn-066-008-200-171.res.spectrum.com)
2025-05-20 16:44:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:45:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:47:01 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-05-20 16:52:54 +0000Guest11(~Guest11@syn-066-008-200-171.res.spectrum.com) (Ping timeout: 240 seconds)
2025-05-20 16:53:22 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-05-20 16:53:30 +0000Publiun(Publiun@108-93-172-143.lightspeed.miamfl.sbcglobal.net)
2025-05-20 16:53:46 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 16:54:06 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 16:56:54 +0000ft(~ft@p3e9bc106.dip0.t-ipconnect.de) ft
2025-05-20 16:57:03 +0000Publiun(Publiun@108-93-172-143.lightspeed.miamfl.sbcglobal.net) (Remote host closed the connection)
2025-05-20 16:57:46 +0000pointlessslippe1(~pointless@62.106.85.17) (Quit: ZNC - http://znc.in)
2025-05-20 17:00:57 +0000biberu(~biberu@user/biberu) biberu
2025-05-20 17:00:58 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-20 17:01:56 +0000pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-05-20 17:07:00 +0000Square2(~Square@user/square) Square
2025-05-20 17:10:12 +0000son0p(~ff@2800:e6:4000:5cf7:2aa0:f8ac:1dbc:787d) (Ping timeout: 265 seconds)
2025-05-20 17:10:42 +0000Square(~Square4@user/square) (Ping timeout: 252 seconds)
2025-05-20 17:12:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 17:12:13 +0000ttybitnik(~ttybitnik@user/wolper) (Remote host closed the connection)
2025-05-20 17:12:22 +0000sp1ff(~user@c-67-160-173-55.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
2025-05-20 17:12:28 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 17:17:29 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 17:18:43 +0000euleritian(~euleritia@77.23.248.100) (Remote host closed the connection)
2025-05-20 17:18:57 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de)
2025-05-20 17:18:59 +0000euleritian(~euleritia@ip4d17f864.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2025-05-20 17:19:39 +0000jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-05-20 17:20:44 +0000son0p(~ff@2800:e6:4000:5cf7:2aa0:f8ac:1dbc:787d) son0p
2025-05-20 17:22:57 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-20 17:26:58 +0000DigitteknohippieDigit
2025-05-20 17:26:59 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83)
2025-05-20 17:27:44 +0000Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2025-05-20 17:28:43 +0000acidjnk(~acidjnk@p200300d6e71c4f69dd73fba2cf3982fe.dip0.t-ipconnect.de) acidjnk
2025-05-20 17:33:18 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 17:37:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 17:37:30 +0000pyooque(~puke@user/puke) puke
2025-05-20 17:37:30 +0000puke(~puke@user/puke) (Killed (erbium.libera.chat (Nickname regained by services)))
2025-05-20 17:37:30 +0000pyooquepuke
2025-05-20 17:37:38 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 17:37:54 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 245 seconds)
2025-05-20 17:38:02 +0000Square3(~Square@user/square) Square
2025-05-20 17:38:04 +0000j1n37-(~j1n37@user/j1n37) j1n37
2025-05-20 17:38:41 +0000biberu\(~biberu@user/biberu) biberu
2025-05-20 17:38:56 +0000monochrm(trebla@216.138.220.146)
2025-05-20 17:39:56 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 17:40:08 +0000Jonno_FT1(~come@api.carswap.me)
2025-05-20 17:40:15 +0000nefercheprure(tma@twin.jikos.cz) TMA
2025-05-20 17:41:08 +0000Fijxu(~Fijxu@user/fijxu) (Ping timeout: 272 seconds)
2025-05-20 17:41:40 +0000jjhoo_(jahakala@user/jjhoo) jjhoo
2025-05-20 17:42:02 +0000biberu(~biberu@user/biberu) (Ping timeout: 260 seconds)
2025-05-20 17:42:02 +0000Jonno_FTW(~come@user/jonno-ftw/x-0835346) (Ping timeout: 260 seconds)
2025-05-20 17:42:02 +0000TMA(tma@twin.jikos.cz) (Ping timeout: 260 seconds)
2025-05-20 17:42:02 +0000jjhoo(~jahakala@user/jjhoo) (Ping timeout: 260 seconds)
2025-05-20 17:42:02 +0000Square2(~Square@user/square) (Ping timeout: 260 seconds)
2025-05-20 17:42:03 +0000monochrom(trebla@216.138.220.146) (Ping timeout: 260 seconds)
2025-05-20 17:42:03 +0000biberu\biberu
2025-05-20 17:42:03 +0000monochrmmonochrom
2025-05-20 17:45:06 +0000Fijxu(~Fijxu@user/fijxu) fijxu
2025-05-20 17:46:18 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 17:46:42 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 17:51:20 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 17:53:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 17:53:20 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 17:55:15 +0000Digitteknohippie(~user@user/digit) Digit
2025-05-20 17:56:05 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 17:56:30 +0000Digit(~user@user/digit) (Ping timeout: 260 seconds)
2025-05-20 17:59:27 +0000euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-05-20 18:00:00 +0000mulk(~mulk@p5b2dc83b.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-05-20 18:00:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:00:45 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:01:52 +0000DigitteknohippieDigit
2025-05-20 18:02:53 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-05-20 18:06:56 +0000Digitteknohippie(~user@user/digit) Digit
2025-05-20 18:07:08 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 18:07:59 +0000Digit(~user@user/digit) (Ping timeout: 260 seconds)
2025-05-20 18:08:01 +0000euphores(~SASL_euph@user/euphores) euphores
2025-05-20 18:08:16 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:08:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:11:43 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-20 18:13:43 +0000mulk(~mulk@p5b2dc83b.dip0.t-ipconnect.de) mulk
2025-05-20 18:14:16 +0000DigitteknohippieDigit
2025-05-20 18:14:37 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:15:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:22:29 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:22:52 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:22:56 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 18:27:37 +0000JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-05-20 18:27:49 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-05-20 18:29:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:29:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:33:40 +0000rvalue-(~rvalue@user/rvalue) rvalue
2025-05-20 18:34:19 +0000rvalue(~rvalue@user/rvalue) (Ping timeout: 252 seconds)
2025-05-20 18:36:33 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:36:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:38:04 +0000lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds)
2025-05-20 18:38:33 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 18:40:30 +0000rvalue-rvalue
2025-05-20 18:43:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 18:43:46 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:44:10 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:45:40 +0000notzmv(~daniel@user/notzmv) notzmv
2025-05-20 18:47:24 +0000j1n37-(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-05-20 18:47:34 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 18:50:41 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-05-20 18:50:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:51:04 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 18:54:10 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 18:58:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 18:59:19 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-05-20 18:59:19 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:00:03 +0000caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-20 19:00:44 +0000caconym7(~caconym@user/caconym) caconym
2025-05-20 19:00:48 +0000 <[exa]> bwe: not sure tbh, but that seems to rather kill the thread after crossing a work threshold than cause earlier gc's
2025-05-20 19:03:08 +0000 <bwe> [exa]: Are you aware of https://github.com/bgamari/html-parse ?
2025-05-20 19:03:29 +0000 <[exa]> "aware" yes, "ever touched it" not really :D
2025-05-20 19:04:09 +0000 <[exa]> looks like the hiperf XML parsers though, could be cool
2025-05-20 19:04:22 +0000 <EvanR> >library is called "parse >it's a tokenizer
2025-05-20 19:04:34 +0000 <EvanR> lost a quote
2025-05-20 19:05:29 +0000[exa]is full of satisfaction looking at the picked nit
2025-05-20 19:05:50 +0000L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2025-05-20 19:05:54 +0000 <EvanR> is this typical language in web
2025-05-20 19:06:11 +0000 <EvanR> expect html parser to give a giant AST
2025-05-20 19:06:25 +0000 <[exa]> like, browers are giant ASTs
2025-05-20 19:06:26 +0000 <EvanR> (or fail because HTML)
2025-05-20 19:08:43 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 19:08:56 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-05-20 19:09:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:09:43 +0000 <haskellbridge> <sm> bwe: ah, that's unfortunate about tagsoup memory use
2025-05-20 19:09:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 19:10:41 +0000 <haskellbridge> <sm> +(https://github.com/ndmitchell/tagsoup/issues/83)
2025-05-20 19:10:57 +0000 <haskellbridge> <sm> oops, irc edit
2025-05-20 19:11:05 +0000 <bwe> What's the difference between tokenizer and parser?
2025-05-20 19:11:49 +0000 <sm> I read recently that "lexing detects words, parsing detects sentences (with grammar)
2025-05-20 19:12:04 +0000notzmv(~daniel@user/notzmv) (Ping timeout: 276 seconds)
2025-05-20 19:12:41 +0000AlexNoo_(~AlexNoo@178.34.162.255)
2025-05-20 19:13:25 +0000 <Rembane> You can use a parser as a tokenizer, so there's some semantic subset going on there.
2025-05-20 19:13:50 +0000 <bwe> [exa]: which hiperf XML parsers do you mean? html-parse uses attoparsec underneath.
2025-05-20 19:15:19 +0000 <EvanR> lexing / tokenizing is usually a thing that can process the input stream using a finite automaton, constant space
2025-05-20 19:16:00 +0000AlexNoo(~AlexNoo@178.34.162.255) (Ping timeout: 252 seconds)
2025-05-20 19:16:22 +0000 <EvanR> but to parse e.g. haskell syntax that wouldn't be enough
2025-05-20 19:16:24 +0000 <mauke> I'd say a lexer is a parser that produces a flat list of "tokens" as output
2025-05-20 19:16:50 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-05-20 19:16:56 +0000 <mauke> and those tokens usually correspond directly to substrings of the input
2025-05-20 19:17:25 +0000pavonia(~user@user/siracusa) siracusa
2025-05-20 19:18:20 +0000 <EvanR> the classic "you tried to parse HTML with regex" is ignoring the fact that you can in fact tokenize the HTML using a regex, so it's assuming parsing is something else. In that context
2025-05-20 19:18:31 +0000Nosrep(~Nosrep@user/nosrep) Nosrep
2025-05-20 19:18:46 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 19:19:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:19:25 +0000 <Rembane> IIRC the pumping lemma can be used to show that an arbitrary blob of HTML can't be parsed with regex.
2025-05-20 19:19:27 +0000sprotte24(~sprotte24@p200300d16f05e6007d40c893d0bf5242.dip0.t-ipconnect.de)
2025-05-20 19:19:50 +0000 <mauke> I use perl. my regexes spit on your pumping lemma :-)
2025-05-20 19:20:08 +0000 <mauke> but also, while you can technically tokenize <script> elements with a regex, it won't be pretty
2025-05-20 19:20:15 +0000 <EvanR> not your grand dad's regex
2025-05-20 19:20:29 +0000 <Rembane> Well, your regexes are neither regular nor expressions so I can see why.
2025-05-20 19:20:37 +0000 <mauke> I gave up on it and wrote two nested loops instead
2025-05-20 19:20:42 +0000 <mauke> exactly!
2025-05-20 19:20:46 +0000 <Rembane> :D
2025-05-20 19:20:51 +0000 <Rembane> "This son, are two nested loops."
2025-05-20 19:21:06 +0000 <EvanR> if you see <script> switch to the javascript tokenizer
2025-05-20 19:21:28 +0000 <mauke> you can't, actually
2025-05-20 19:21:28 +0000 <EvanR> because this is the only script ever
2025-05-20 19:21:48 +0000 <mauke> using the js tokenizer means you'd potentially miss the </script> end tag
2025-05-20 19:22:16 +0000 <EvanR> shirley js tokenizer's have a thing for this
2025-05-20 19:22:40 +0000 <EvanR> to treat </script> as an EOF
2025-05-20 19:23:04 +0000 <mauke> can't. </script> can occur in the middle of a string or comment
2025-05-20 19:23:04 +0000 <EvanR> ... that is not within a string
2025-05-20 19:23:17 +0000EvanRflips the table
2025-05-20 19:23:25 +0000 <haskellbridge> <sm> lol
2025-05-20 19:23:27 +0000 <Rembane> So you need half a javascript tokenizer and half a html tokenizer to stop tokenizing javasciprt?
2025-05-20 19:23:48 +0000carbolymer(~carbolyme@dropacid.net) (Remote host closed the connection)
2025-05-20 19:23:51 +0000ian_(~ian@81.2.99.210) (Ping timeout: 276 seconds)
2025-05-20 19:23:51 +0000j0lol(~j0lol@132.145.17.236) (Ping timeout: 276 seconds)
2025-05-20 19:24:03 +0000 <mauke> first you find the end tag using the html tokenizer, then you pass the string contents to the js parser
2025-05-20 19:24:12 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 264 seconds)
2025-05-20 19:24:17 +0000 <mauke> reparsing, baby
2025-05-20 19:24:30 +0000 <EvanR> but my finite automaton
2025-05-20 19:24:33 +0000 <Rembane> mauke: How do you know that the end tag isn't in a string or js-comment or some other cursed syntactical element?
2025-05-20 19:24:42 +0000 <mauke> you don't
2025-05-20 19:24:50 +0000 <Rembane> Does the js parser know?
2025-05-20 19:24:57 +0000carbolymer(~carbolyme@dropacid.net) carbolymer
2025-05-20 19:24:59 +0000 <mauke> know what?
2025-05-20 19:25:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 19:25:05 +0000j0lol(~j0lol@132.145.17.236) j0lol
2025-05-20 19:25:06 +0000 <EvanR> yes the html tokenizer knows
2025-05-20 19:25:24 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:25:28 +0000 <Rembane> If the resulting potential content of the script-tag is only javascript
2025-05-20 19:25:30 +0000Igloo(~ian@81.2.99.210)
2025-05-20 19:25:33 +0000 <mauke> consider: <script> var x = "</script>";
2025-05-20 19:25:57 +0000 <EvanR> nevermind
2025-05-20 19:25:58 +0000 <mauke> as far as html is considered, that's a script element with content ' var x = "', followed by a text node of '";'
2025-05-20 19:26:00 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-05-20 19:26:09 +0000 <mauke> and as far as javascript is considered, that's a syntax error
2025-05-20 19:26:18 +0000 <mauke> (unterminated string constant)
2025-05-20 19:26:55 +0000 <EvanR> <script> var x = "</script>"; </script>
2025-05-20 19:26:59 +0000 <EvanR> there, fixed it
2025-05-20 19:27:03 +0000 <EvanR> lol
2025-05-20 19:27:14 +0000 <mauke> that's an html error (unmatched </script> tag)
2025-05-20 19:28:01 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 19:28:25 +0000 <int-e> . o O ( <script id="vs" type="x-shader/x-vertex">...</script> )
2025-05-20 19:29:37 +0000 <EvanR> so tokens can be huge, the text blob of an entire script or any sort
2025-05-20 19:30:07 +0000 <int-e> parsing is easy unless it needs to be accurate or fast
2025-05-20 19:30:07 +0000 <EvanR> the web hates performance and efficiency
2025-05-20 19:31:25 +0000 <Rembane> Avoid performance at all costs!
2025-05-20 19:31:26 +0000machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-05-20 19:31:36 +0000 <Rembane> It's a part of their immune system
2025-05-20 19:32:50 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 19:33:09 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 19:33:14 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:33:43 +0000 <mauke> look at this nonsense: https://metacpan.org/release/MAUKE/HTML-Blitz-0.1001/source/lib/HTML/Blitz/Parser.pm#L174-194
2025-05-20 19:34:49 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-05-20 19:34:50 +0000 <Rembane> mauke: Are there gotos there disuised as redos?
2025-05-20 19:35:25 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 19:36:02 +0000 <int-e> mauke: &quest;&quest;&excl;
2025-05-20 19:36:18 +0000 <Rembane> Somehow I believe that that code started out much simpler than that.
2025-05-20 19:36:30 +0000 <mauke> Rembane: only in the sense that 'while' and 'continue' are also gotos in disguise
2025-05-20 19:36:39 +0000 <Rembane> mauke: Of course they are!
2025-05-20 19:36:51 +0000 <Rembane> mauke: Structured gotos considered really sweet!
2025-05-20 19:37:41 +0000 <mauke> that code is more or less a faithful translation of the state machine in the html5 spec
2025-05-20 19:39:20 +0000AlexNoo_AlexNoo
2025-05-20 19:39:37 +0000 <mauke> you can convert it into a single regex, but I couldn't figure out how myself, so I had to look up an "automaton to regular expression" algorithm
2025-05-20 19:40:14 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 19:40:38 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:42:57 +0000 <mauke> in case you couldn't tell from the code, <script> elements can contain "html" comments, which can contain nested <script> ... </script> tags
2025-05-20 19:43:07 +0000 <mauke> but only one level deep
2025-05-20 19:43:22 +0000peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-20 19:43:46 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 19:43:57 +0000 <mauke> also, a </script> tag can interrupt/close an unclosed comment and a '-->' can interrupt/close a nested <script> tag
2025-05-20 19:44:11 +0000Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-05-20 19:44:33 +0000 <EvanR> o_O
2025-05-20 19:44:40 +0000 <mauke> also also, <!-- starts a "comment", but <!--> and <!---> do not
2025-05-20 19:45:08 +0000 <mauke> valid: <script> <!-- </script>
2025-05-20 19:45:19 +0000 <mauke> valid: <script> <!-- <script> --> </script>
2025-05-20 19:45:33 +0000 <mauke> valid: <script> <!-- <script> </script> --> </script>
2025-05-20 19:45:47 +0000 <mauke> and no, none of this makes sense as javascript
2025-05-20 19:46:11 +0000 <EvanR> wait ... do the comments end up in the script instead of being discarded
2025-05-20 19:46:35 +0000 <EvanR> (the complete comments)
2025-05-20 19:46:41 +0000 <mauke> of course
2025-05-20 19:46:48 +0000 <mauke> this is just to find the end of the script element
2025-05-20 19:46:55 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 19:47:02 +0000 <mauke> as always, the contents are passed verbatim to the javascript parser
2025-05-20 19:47:08 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2025-05-20 19:47:18 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:47:37 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-05-20 19:47:50 +0000 <EvanR> valid: <script> <!-- <script> --> </script> the second pair of script tags is the script?
2025-05-20 19:48:04 +0000 <mauke> no, that is one full script element
2025-05-20 19:48:15 +0000 <mauke> contents: " <!-- <script> --> "
2025-05-20 19:48:23 +0000jespada(~jespada@r190-133-13-145.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…)
2025-05-20 19:49:12 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-20 19:49:19 +0000jespada(~jespada@r190-133-13-145.dialup.adsl.anteldata.net.uy) jespada
2025-05-20 19:52:27 +0000Square(~Square4@user/square) Square
2025-05-20 19:54:28 +0000 <mauke> so anyway, if you want to have fun with an "AI" coding LLM, ask it to generate a Haskell function for finding the correct script end tag (after having seen the script start tag) in an HTML document
2025-05-20 19:54:37 +0000peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-05-20 19:55:06 +0000notzmv(~daniel@user/notzmv) notzmv
2025-05-20 19:56:02 +0000Square3(~Square@user/square) (Ping timeout: 272 seconds)
2025-05-20 19:58:06 +0000 <EvanR> vibes can't be denied so easily
2025-05-20 19:58:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 19:59:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 19:59:34 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 19:59:52 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-05-20 20:01:05 +0000 <EvanR> it did findIndex (isPrefixOf "</script>") . tails
2025-05-20 20:01:18 +0000 <mauke> hahaha
2025-05-20 20:01:52 +0000 <mauke> you can trivially break that with </SCRIPT> or </script >
2025-05-20 20:02:20 +0000 <EvanR> I left out a T.toLower preprocessing step on that
2025-05-20 20:02:39 +0000 <EvanR> while paraphrasing
2025-05-20 20:03:40 +0000 <mauke> still leaves </script > :-)
2025-05-20 20:03:52 +0000 <mauke> and technically, </script/
2025-05-20 20:04:09 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-05-20 20:04:16 +0000 <mauke> which HTML says is a script end tag, but also a syntax error, but errors may be ignored
2025-05-20 20:04:17 +0000 <EvanR> haha yeah
2025-05-20 20:04:37 +0000 <EvanR> </script/ wtf
2025-05-20 20:09:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:09:24 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 20:13:28 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2025-05-20 20:15:20 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 20:16:17 +0000ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-05-20 20:16:37 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-05-20 20:17:14 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:17:34 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 20:19:15 +0000driib318(~driib@vmi931078.contaboserver.net) driib
2025-05-20 20:19:45 +0000notzmv(~daniel@user/notzmv) (Read error: Connection reset by peer)
2025-05-20 20:20:29 +0000 <hellwolf> why does this one not compile: https://play.haskell.org/saved/TMp4lfN1
2025-05-20 20:20:48 +0000 <hellwolf> Couldn't match expected type: TupleNtoNP m (m a1, m a2)
2025-05-20 20:20:48 +0000 <hellwolf> with actual type: NP m [a1, a2]
2025-05-20 20:20:58 +0000 <hellwolf> But the closed type family clearly has that formular
2025-05-20 20:20:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-20 20:21:10 +0000michalz(~michalz@185.246.207.200) (Remote host closed the connection)
2025-05-20 20:25:25 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:25:47 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 20:29:12 +0000 <int-e> It works without the (m x) case, say if you did TN2NP m (Solo (m x)) instead
2025-05-20 20:29:14 +0000gorignak(~gorignak@user/gorignak) (Read error: Connection reset by peer)
2025-05-20 20:29:27 +0000gorignak(~gorignak@user/gorignak) gorignak
2025-05-20 20:29:45 +0000finsternis(~X@23.226.237.192) finsternis
2025-05-20 20:29:56 +0000 <int-e> (m x) matches a lot, so how exactly does GHC deal with non-linearity of the lhs of a closed type family?
2025-05-20 20:30:30 +0000 <int-e> for (a,b) you can take m = (,) a and x = b
2025-05-20 20:31:08 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 20:31:47 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:32:08 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 20:32:14 +0000 <hellwolf> aha, so it is the Solo
2025-05-20 20:32:43 +0000 <int-e> so if GHC treats that LHS as (m ~ m') => TN2NP m (m' x) that would cause the "head" to match and possibly stop it from looking at later cases despite the constraint failing
2025-05-20 20:33:10 +0000 <int-e> just a plausible guess, I don't know what GHC actually does
2025-05-20 20:33:31 +0000 <hellwolf> https://play.haskell.org/saved/Qn7C7nFy
2025-05-20 20:33:47 +0000 <hellwolf> so, it was indeed just the Solo. I just didn't understand the error message.
2025-05-20 20:34:38 +0000 <hellwolf> All good now, I can continue. Thanks!
2025-05-20 20:34:49 +0000 <int-e> well the error doesn't explain why it fails to simplify that TN2NP m (m a1, m a2)
2025-05-20 20:35:21 +0000gorignak(~gorignak@user/gorignak) (Ping timeout: 276 seconds)
2025-05-20 20:35:23 +0000 <hellwolf> I mean, Solo (MkSolo) is the most awkward thing to work with.
2025-05-20 20:35:58 +0000 <int-e> but that overlap of m x with virtually anything is very likely the cause *somehow*
2025-05-20 20:35:59 +0000 <hellwolf> my hunch is that somehow "TupleNtoNP m (m x)" matched my Tuple2 case
2025-05-20 20:36:03 +0000gorignak(~gorignak@user/gorignak) gorignak
2025-05-20 20:36:16 +0000 <int-e> that is what I've been saying
2025-05-20 20:36:30 +0000vulpine(xfnw@user/meow/xfnw) (Quit: Connection reset by purr)
2025-05-20 20:36:39 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-20 20:36:45 +0000 <hellwolf> yea, I understood. But I can't wrap my head around easily, since it's not just a textual matching
2025-05-20 20:37:01 +0000 <hellwolf> "m = (,) a" as you said
2025-05-20 20:37:39 +0000 <hellwolf> I could actually make the Solo case the last one in the list of formulae of closed type family
2025-05-20 20:37:43 +0000 <hellwolf> that's a "hack"
2025-05-20 20:37:59 +0000 <hellwolf> to avoid using Solo (MkSolo)
2025-05-20 20:38:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:38:27 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 20:38:32 +0000vulpine(~xfnw@user/meow/xfnw) xfnw
2025-05-20 20:38:43 +0000 <int-e> the overlap will still bite you if at some point m is actually a (,) a or (,,) a b etc.
2025-05-20 20:39:26 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 20:39:30 +0000 <hellwolf> yea. better no hack. just live with Solo
2025-05-20 20:39:50 +0000 <hellwolf> also, I have bunch of specialized foo_1 to work with Solo... so silly
2025-05-20 20:40:31 +0000 <hellwolf> at that point, perhaps users should just type Solo(MkSolo) themselves
2025-05-20 20:41:25 +0000 <int-e> Haskell was not exactly designed for type-level programming :)
2025-05-20 20:43:08 +0000 <hellwolf> I am masochist
2025-05-20 20:43:30 +0000 <EvanR> lets see doom at type level in haskell lets go
2025-05-20 20:44:22 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 20:44:36 +0000 <hellwolf> whole-program specialization and all reduced to a IO :: () and pure ()
2025-05-20 20:45:16 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:45:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 20:51:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:51:40 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 20:54:42 +0000 <sm> EvanR! Nooo!
2025-05-20 20:55:15 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 20:57:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 20:57:31 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:00:08 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 21:03:14 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:03:35 +0000tromp(~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-20 21:03:36 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:06:55 +0000 <monochrom> Is that the next "Doom can run on anything" challenge? It is not enough to run Doom on your toaster, it must also run on GHC during compile time?
2025-05-20 21:08:40 +0000 <EvanR> yes there was a recent attempt in typescript
2025-05-20 21:09:52 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:10:19 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:11:01 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 21:16:05 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 21:16:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:16:47 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:22:01 +0000j1n37-(~j1n37@user/j1n37) j1n37
2025-05-20 21:22:36 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-05-20 21:23:04 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:23:26 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:23:44 +0000ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-05-20 21:24:12 +0000takuan(~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection)
2025-05-20 21:25:34 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:25:59 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:26:50 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 21:31:27 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-20 21:35:36 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-20 21:35:42 +0000LAC-Tech(~lewis@granite-phrase.bnr.la) LAC-Tech
2025-05-20 21:35:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:36:47 +0000 <LAC-Tech> is haskells type system able to distinguish between deterministic and non-deterministic code? broadly I'd expect the IO monad to be that boundary, but I am not very familiar with the language.
2025-05-20 21:37:38 +0000 <sm> not entirely, because exceptions aren't all reflected in types
2025-05-20 21:38:04 +0000 <sm> in practice, definitely more so than most languages
2025-05-20 21:38:41 +0000 <davean> most exceptions are deterministic though, only a few aren't and they're not code related "exactly"
2025-05-20 21:38:46 +0000 <sm> another source of non-determinism: a different version of the compiler might cause different memory behaviour
2025-05-20 21:39:21 +0000 <LAC-Tech> I'd constrain determinism here to include the same compiler version, and conveniently ignore hardware issuse etc. but I didn't know about exceptions
2025-05-20 21:42:12 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 21:43:39 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:44:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:46:49 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 21:51:05 +0000j1n37-(~j1n37@user/j1n37) (Ping timeout: 244 seconds)
2025-05-20 21:51:23 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 21:51:39 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:52:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 21:52:50 +0000nefercheprureTMA
2025-05-20 21:57:33 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 21:57:39 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 21:58:00 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:04:14 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-05-20 22:05:48 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:06:09 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:11:12 +0000nurupo(~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
2025-05-20 22:11:47 +0000nurupo(~nurupo.ga@user/nurupo) nurupo
2025-05-20 22:12:27 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:12:51 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:15:38 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 22:17:09 +0000xff0x(~xff0x@om126236151042.32.openmobile.ne.jp)
2025-05-20 22:18:15 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:18:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:21:04 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-20 22:25:25 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:25:51 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:26:38 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2025-05-20 22:31:23 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 22:31:56 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:32:19 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:36:12 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 22:38:41 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:39:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:41:49 +0000driib318(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2025-05-20 22:44:15 +0000 <EvanR> LAC-Tech, there's imprecise exceptions
2025-05-20 22:45:04 +0000 <EvanR> so technically unknown "pure code" containing no unsafePerformIO is not guaranteed to be deterministic
2025-05-20 22:46:09 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:46:30 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:47:11 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 22:48:50 +0000 <haskellbridge> <sm> we’re talking about asynchronous exceptions, right ?
2025-05-20 22:49:11 +0000 <EvanR> no
2025-05-20 22:49:29 +0000 <EvanR> like error "foo" + error "bar"
2025-05-20 22:50:10 +0000 <geekosaur> if the compiler can determine that multiple paths all lead to bottoms, it can arbitrarily pick one
2025-05-20 22:52:05 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-20 22:52:58 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 22:53:19 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 22:59:17 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2025-05-20 23:02:58 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 23:04:26 +0000 <haskellbridge> <hellwolf> why is things like whenM not in base? I see that ghc and extra packages have them.
2025-05-20 23:05:15 +0000 <haskellbridge> <hellwolf> I am exploring the design space of caving into monadic bang vs. having these specialized fooM functions.
2025-05-20 23:05:40 +0000 <haskellbridge> <hellwolf> hence the question
2025-05-20 23:07:39 +0000 <c_wraith> Usually something like traverse_ is better anyway.
2025-05-20 23:07:40 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 23:07:44 +0000 <EvanR> normal language: bool does a lot of heavy lifting, in haskell I feel like it got relegated to tier 4 control technology. Because you pattern match on more meaningful things most of time
2025-05-20 23:07:45 +0000tolgo(~Thunderbi@199.115.144.130)
2025-05-20 23:08:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:08:23 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:08:34 +0000 <c_wraith> and that's because you generally try to avoid Bool, yeah
2025-05-20 23:08:56 +0000tolgo(~Thunderbi@199.115.144.130) (Remote host closed the connection)
2025-05-20 23:10:13 +0000 <LAC-Tech> EvanR: interesting. General impression I'm getting is "it's mostly solved by the IO boundaries but there's a few annoying edge cases"
2025-05-20 23:11:07 +0000 <EvanR> haskell is like the jumping off point to new languages with more guarantees rather than the destination
2025-05-20 23:11:17 +0000 <c_wraith> Well, without IO you can't distinguish between different bottoms anyway
2025-05-20 23:11:51 +0000 <c_wraith> So it doesn't really matter what exception is thrown, the value is a bottom.
2025-05-20 23:11:54 +0000 <EvanR> but also if you mutate your perspective enough you can say haskell guarantees this or that ^
2025-05-20 23:12:20 +0000 <EvanR> the less actual stuff you care about the more abstract haskell gets
2025-05-20 23:12:59 +0000 <EvanR> e.g. next you could just ignore bottom entirely
2025-05-20 23:14:05 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:14:27 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:18:20 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 23:20:37 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:20:59 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:22:09 +0000 <haskellbridge> <sm> LAC-Tech: I think it’s a recurring topic of language geeks but it doesn’t feel like a common annoyance for people building with haskell, we generally feel pretty confident in the “pure” parts of our code
2025-05-20 23:23:05 +0000Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-05-20 23:23:08 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-20 23:25:11 +0000 <haskellbridge> <sm> eg I’ve been building small-medium Haskell apps for the last 18 years, they feel pretty deterministic
2025-05-20 23:25:44 +0000 <LAC-Tech> the property I am looking for is: same inputs, same outputs. notably this does not preclude mutable data structures, as long as they're internal - I'm not sure "pure" extends that far. system clocks, RNG, IO (maybe RNG falls under IO...), disk, network... that's stuff I'd want to exclude statically, if possible
2025-05-20 23:26:09 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:26:32 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:26:35 +0000Nosrep(~Nosrep@user/nosrep) (Remote host closed the connection)
2025-05-20 23:29:35 +0000j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-05-20 23:29:56 +0000 <haskellbridge> <sm> Yes, all those require the IO type
2025-05-20 23:32:17 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:32:27 +0000Sgeo(~Sgeo@user/sgeo) Sgeo
2025-05-20 23:32:44 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:33:23 +0000j1n37(~j1n37@user/j1n37) j1n37
2025-05-20 23:34:08 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 23:37:27 +0000 <LAC-Tech> aha, I thought so
2025-05-20 23:39:07 +0000sprotte24(~sprotte24@p200300d16f05e6007d40c893d0bf5242.dip0.t-ipconnect.de) (Quit: Leaving)
2025-05-20 23:40:13 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:40:25 +0000 <haskellbridge> <sm> Haskell code universally enforces this. There’s an escape hatch called unsafePerformIO which low level libs may use when it’s guaranteed harmless but you can statically check that too
2025-05-20 23:40:35 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:40:37 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-20 23:42:47 +0000 <haskellbridge> <sm> (or even high level code, I do use it occasionally but that’s a choice)
2025-05-20 23:44:15 +0000 <EvanR> LAC-Tech, it's cool that you can use mutable structures in "pure code" via ST
2025-05-20 23:44:33 +0000 <EvanR> the user of the code doesn't have to know
2025-05-20 23:46:30 +0000acidjnk(~acidjnk@p200300d6e71c4f69dd73fba2cf3982fe.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-05-20 23:47:02 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:47:24 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:52:10 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-20 23:52:12 +0000j1n37-(~j1n37@user/j1n37) j1n37
2025-05-20 23:52:30 +0000j1n37(~j1n37@user/j1n37) (Ping timeout: 244 seconds)
2025-05-20 23:54:32 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-20 23:54:54 +0000sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-20 23:56:45 +0000jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-05-20 23:57:25 +0000merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)