Home liberachat/#haskell: Logs Calendar

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: &quest;&quest;&excl;
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.