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