Home liberachat/#haskell: Logs Calendar

Logs on 2025-08-28 (liberachat/#haskell)

00:06:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:12:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
00:21:30 × acidjnk quits (~acidjnk@p200300d6e7171900a9f37d216dcd4f2e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
00:22:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:27:00 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 252 seconds)
00:28:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
00:39:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:43:17 scysta joins (~tiara@152.173.218.186)
00:44:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
00:46:21 × alethkit quits (23bd17ddc6@sourcehut/user/alethkit) (Server closed connection)
00:46:31 alethkit joins (23bd17ddc6@sourcehut/user/alethkit)
00:55:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:57:23 × lexi-lambda quits (sid92601@id-92601.hampstead.irccloud.com) (Server closed connection)
00:57:33 lexi-lambda joins (sid92601@id-92601.hampstead.irccloud.com)
00:58:23 arandombit joins (~arandombi@user/arandombit)
01:00:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
01:09:44 × xff0x quits (~xff0x@2405:6580:b080:900:19de:4997:404:5625) (Ping timeout: 248 seconds)
01:11:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:16:27 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
01:18:17 Axman9593 is now known as Axman6
01:27:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:30:57 × robertm quits (robertm@lattice.rojoma.com) (Server closed connection)
01:31:16 robertm joins (robertm@lattice.rojoma.com)
01:34:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
01:42:10 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
01:42:43 Lycurgus joins (~juan@user/Lycurgus)
01:45:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:52:39 × shawwwn quits (sid6132@id-6132.helmsley.irccloud.com) (Server closed connection)
01:52:50 shawwwn joins (sid6132@id-6132.helmsley.irccloud.com)
01:52:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
01:56:49 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
01:57:03 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
01:58:26 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
01:58:50 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
02:02:29 × ProofTechnique_ quits (sid79547@id-79547.ilkley.irccloud.com) (Server closed connection)
02:02:38 ProofTechnique_ joins (sid79547@id-79547.ilkley.irccloud.com)
02:04:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:08:17 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
02:08:39 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
02:09:21 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
02:09:57 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
02:14:53 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Server closed connection)
02:15:01 lambdabot joins (~lambdabot@silicon.int-e.eu)
02:15:01 × lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host)
02:15:01 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
02:15:01 ChanServ sets mode +v lambdabot
02:20:33 × eso quits (a0662dfd5e@2a03:6000:1812:100::1266) (Server closed connection)
02:20:41 eso joins (a0662dfd5e@2a03:6000:1812:100::1266)
02:23:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:25:27 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 258 seconds)
02:25:33 × saolsen quits (sid26430@id-26430.lymington.irccloud.com) (Server closed connection)
02:25:48 saolsen joins (sid26430@id-26430.lymington.irccloud.com)
02:27:06 × integral quits (sid296274@user/integral) (Server closed connection)
02:27:19 integral joins (sid296274@user/integral)
02:27:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
02:31:45 × astra quits (sid289983@id-289983.hampstead.irccloud.com) (Server closed connection)
02:32:00 astra joins (sid289983@id-289983.hampstead.irccloud.com)
02:32:27 × gaze__ quits (sid387101@id-387101.helmsley.irccloud.com) (Read error: Software caused connection abort)
02:32:38 gaze__ joins (sid387101@id-387101.helmsley.irccloud.com)
02:38:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:39:09 × fn_lumi quits (3d621153a5@2a03:6000:1812:100::df7) (Server closed connection)
02:39:18 fn_lumi joins (3d621153a5@2a03:6000:1812:100::df7)
02:41:29 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
02:43:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
02:44:48 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
02:44:57 weary-traveler joins (~user@user/user363627)
02:54:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:59:11 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
03:05:25 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
03:06:12 × mmaruseacph2 quits (~mihai@mihai.page) (Read error: Software caused connection abort)
03:10:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:11:31 mmaruseacph2 joins (~mihai@mihai.page)
03:17:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:23:44 × divya quits (divya@140.238.251.170) (Read error: Software caused connection abort)
03:27:14 × lambdap23717 quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Read error: Software caused connection abort)
03:27:32 lambdap23717 joins (~lambdap@static.167.190.119.168.clients.your-server.de)
03:27:56 × noteness quits (~noteness@user/noteness) (Read error: Software caused connection abort)
03:28:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:28:28 trickard_ is now known as trickard
03:31:22 noteness joins (~noteness@user/noteness)
03:32:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
03:33:00 Guest64 joins (~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8)
03:33:21 aforemny_ joins (~aforemny@2001:9e8:6ce1:6300:21a5:3c39:3acb:d09f)
03:33:22 × aforemny quits (~aforemny@2001:9e8:6cc5:2e00:296d:a9d3:b7bc:dd10) (Ping timeout: 260 seconds)
03:33:56 divya joins (divya@140.238.251.170)
03:34:57 × dutchie quits (~dutchie@user/dutchie) (Server closed connection)
03:35:11 dutchie joins (~dutchie@user/dutchie)
03:37:02 × whereiseveryone quits (206ba86c98@2a03:6000:1812:100::2e4) (Server closed connection)
03:37:10 whereiseveryone joins (206ba86c98@2a03:6000:1812:100::2e4)
03:38:24 × dumptruckman quits (~dumptruck@66-175-211-75.ip.linodeusercontent.com) (Server closed connection)
03:40:17 × Guest64 quits (~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8) (Quit: Client closed)
03:40:42 dumptruckman joins (~dumptruck@66-175-211-75.ip.linodeusercontent.com)
03:41:30 Guest89 joins (~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8)
03:42:02 × Guest89 quits (~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8) (Client Quit)
03:43:32 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
03:43:50 zlqrvx joins (~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3)
03:43:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:47:27 × zlqrvx quits (~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) (Client Quit)
03:47:50 zlqrvx joins (~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3)
03:48:54 × Raito_Bezarius quits (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Server closed connection)
03:49:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:49:27 × dutchie quits (~dutchie@user/dutchie) (Remote host closed the connection)
03:49:30 Raito_Bezarius joins (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius)
03:50:34 pavonia joins (~user@user/siracusa)
03:50:50 praidnan joins (~weatflac@106.195.39.246)
03:51:27 emperori joins (~emperori@106.195.39.246)
03:51:56 dutchie joins (~dutchie@user/dutchie)
03:57:54 × Googulator68 quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
03:58:13 Googulator68 joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
03:59:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:00:44 × fgarcia quits (~lei@user/fgarcia) (Ping timeout: 256 seconds)
04:01:26 × zlqrvx quits (~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) (Quit: ZNC 1.10.0 - https://znc.in)
04:03:12 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 258 seconds)
04:04:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
04:05:34 fgarcia joins (~lei@user/fgarcia)
04:07:15 praidnan_ joins (~weatflac@106.195.34.92)
04:09:30 × emperori quits (~emperori@106.195.39.246) (Ping timeout: 245 seconds)
04:10:29 × praidnan quits (~weatflac@106.195.39.246) (Ping timeout: 258 seconds)
04:15:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:16:48 × haveo quits (~weechat@pacamara.iuwt.fr) (Server closed connection)
04:17:12 haveo joins (~weechat@pacamara.iuwt.fr)
04:20:27 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
04:20:45 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 245 seconds)
04:24:04 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
04:28:00 × ackthet quits (~ackthet@user/ackthet) (Server closed connection)
04:28:19 ackthet joins (~ackthet@user/ackthet)
04:31:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:36:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
04:36:25 arandombit joins (~arandombi@user/arandombit)
04:40:56 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 248 seconds)
04:43:26 mange joins (~mange@user/mange)
04:43:31 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds)
04:45:01 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
04:47:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:51:38 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
04:51:52 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
04:53:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
04:54:11 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
05:00:37 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
05:02:50 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
05:05:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:07:16 × hakutaku quits (~textual@chen.yukari.eu.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:08:08 hakutaku joins (~textual@chen.yukari.eu.org)
05:09:51 × Yumemi quits (~Yumemi@chamoin.net) (Server closed connection)
05:09:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
05:10:10 Yumemi joins (~Yumemi@chamoin.net)
05:11:21 × hakutaku quits (~textual@chen.yukari.eu.org) (Client Quit)
05:11:50 hakutaku joins (~textual@chen.yukari.eu.org)
05:12:20 × scysta quits (~tiara@152.173.218.186) (Quit: leaving)
05:12:48 michalz joins (~michalz@185.246.207.221)
05:17:41 emperori joins (~emperori@2401:4900:4dda:4015:95c:a6c1:f7d0:215)
05:18:20 trickard_ is now known as trickard
05:18:48 × aniketd quits (32aa4844cd@2a03:6000:1812:100::dcb) (Server closed connection)
05:18:57 aniketd joins (32aa4844cd@2a03:6000:1812:100::dcb)
05:20:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:20:52 biberu joins (~biberu@user/biberu)
05:21:39 × monochrom quits (trebla@216.138.220.146) (Quit: ZNC 1.9.1+deb2build2 - https://znc.in)
05:26:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
05:28:09 × amadaluzia quits (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.9.1 - https://znc.in)
05:28:59 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
05:34:52 amadaluzia joins (~amadaluzi@user/amadaluzia)
05:36:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:37:08 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
05:39:24 monochrom joins (trebla@216.138.220.146)
05:39:24 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Read error: Connection reset by peer)
05:39:59 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
05:40:07 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
05:40:07 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
05:40:07 arandombit joins (~arandombi@user/arandombit)
05:40:37 × amadaluzia quits (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.9.1 - https://znc.in)
05:41:02 × Aleksejs quits (~Aleksejs@107.170.21.106) (Server closed connection)
05:41:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
05:43:13 Aleksejs joins (~Aleksejs@107.170.21.106)
05:46:20 × praidnan_ quits (~weatflac@106.195.34.92) (Quit: Lost terminal)
05:48:13 × ringo_ quits (~ringo@157.230.117.128) (Ping timeout: 244 seconds)
05:48:56 × haritzondo quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
05:52:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:57:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
06:00:50 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
06:02:42 ringo_ joins (~ringo@157.230.117.128)
06:06:46 JamesMowery17736 joins (~JamesMowe@ip68-228-212-232.ph.ph.cox.net)
06:08:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:09:07 × emperori quits (~emperori@2401:4900:4dda:4015:95c:a6c1:f7d0:215) (Ping timeout: 260 seconds)
06:11:13 × JamesMowery17736 quits (~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Client Quit)
06:13:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
06:16:33 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
06:23:58 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:24:26 × rembo10 quits (~rembo10@main.remulis.com) (Server closed connection)
06:24:30 × ringo_ quits (~ringo@157.230.117.128) (Ping timeout: 252 seconds)
06:24:40 rembo10 joins (~rembo10@main.remulis.com)
06:25:23 × Googulator68 quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
06:25:37 Googulator68 joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
06:25:44 ringo_ joins (~ringo@157.230.117.128)
06:26:22 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
06:26:23 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
06:26:36 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
06:30:47 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
06:31:38 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:42:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:44:55 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
06:46:06 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
06:47:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
06:48:29 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
06:51:48 × dyniec quits (~dyniec@dybiec.info) (Server closed connection)
06:52:01 dyniec joins (~dyniec@dybiec.info)
06:54:18 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
06:54:27 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
06:54:36 <haskellbridge> <sm> tomsmeding: No mention of them in the docs; #haskell-stack:matrix.org (https://matrix.to/#/#haskell-stack:matrix.org) will know
06:54:54 × thatonelutenist quits (8216c46202@2a03:6000:1812:100::fb3) (Server closed connection)
06:55:02 thatonelutenist joins (8216c46202@2a03:6000:1812:100::fb3)
06:55:15 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
06:55:19 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 258 seconds)
06:55:38 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit)
06:55:53 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
07:00:01 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
07:00:42 caconym747 joins (~caconym@user/caconym)
07:02:48 arandombit joins (~arandombi@user/arandombit)
07:03:37 <c_wraith> as far as I know, stack uses cabal to actually install packages. (separate from determining which ones to install and downloading them)
07:03:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:04:12 <c_wraith> So it will support mix-ins used by packages that your project depends on
07:06:41 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:09:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
07:09:24 × jreicher quits (~user@user/jreicher) (Quit: In transit)
07:09:27 <Franciman> stack is one of the worst software i have ever seen in terms of ecosystem coexistence
07:14:01 hsw joins (~hsw@112-104-9-97.adsl.dynamic.seed.net.tw)
07:15:49 <Axman6> There've been a few features added to Cabal that haven't been supported by syack for a very long time (or at all? I seem to remember multiple libraries per project, or something like that, not being supported?)
07:17:43 <haskellbridge> <Morj> At least stack has good documentation for all the features it supports ;-)
07:22:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:26:14 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
07:26:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
07:27:12 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
07:30:24 × jess quits (meow@libera/staff/cat/jess) (Read error: Software caused connection abort)
07:31:52 jreicher joins (~user@user/jreicher)
07:32:58 jess joins (meow@libera/staff/cat/jess)
07:34:58 <haskellbridge> <sm> Axman6: From https://docs.haskellstack.org/en/stable/ChangeLog I get the impression that stack started support for multi-library packages (AKA sub libraries AKA internal libraries ...) around 2018, and has been steadily improving that support ever since
07:37:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:41:46 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
07:41:53 <haskellbridge> <sm> backpack support is another one people usually ask about; AFAIK it's not in stack and consensus is that the feature has failed as an practical feature in cabal/ghc (it should be in the language not the tools)
07:42:34 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
07:48:57 × mange quits (~mange@user/mange) (Quit: Quittin' time!)
07:49:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:49:38 <Franciman> where is maerwald?
07:50:17 <haskellbridge> <maerwald> what?
07:51:45 <Franciman> what's up?
07:51:52 <Franciman> how are you?
07:52:02 <haskellbridge> <maerwald> fixing ghc and cabal
07:53:03 <Franciman> cool
07:54:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
07:54:09 <haskellbridge> <maerwald> What else is there to do
07:56:58 <haskellbridge> <sm> Hmm. are mixins and backpack different names for the same thing ?
07:58:09 ljdarj joins (~Thunderbi@user/ljdarj)
07:58:46 Googulator68 is now known as Googulator
08:03:33 <Franciman> backpack is a way to emulate certain of the properties of standard ml module system, iiuc
08:03:44 <Franciman> aren't mixins a way to solve the expression problem?
08:03:44 paul joins (~paul@p200300d0c724c95b1313013fcbfec0be.dip0.t-ipconnect.de)
08:03:48 paul is now known as Guest8610
08:04:07 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
08:04:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:04:53 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
08:05:12 × FANTOM quits (~fantom@87.74.59.94) (Ping timeout: 248 seconds)
08:05:49 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
08:06:22 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 255 seconds)
08:07:38 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
08:09:09 <sm> https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#pkg-field-mixins says "Mixin packages are part of the How to use Backpack modules extension to the Haskell module system."
08:10:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
08:10:53 <sm> https://cabal.readthedocs.io/en/stable/how-to-use-backpack.html mentions "mix-in linking" a few times. But it's not clear if these things are essentially the same feature, or two features that overlap
08:12:14 <Franciman> ah ok
08:13:05 <sm> Also for anyone curious, this seems to be the main history of stack backpack support so far (2016..2024-08):
08:13:11 <sm> https://github.com/commercialhaskell/stack/issues/2540
08:13:14 <sm> https://github.com/commercialhaskell/stack/issues/4745
08:13:17 <sm> https://github.com/commercialhaskell/stack/issues/6356
08:14:36 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
08:15:13 chiselfuse joins (~chiselfus@user/chiselfuse)
08:15:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:19:01 acidjnk joins (~acidjnk@p200300d6e7171930a0d4799db13e1f65.dip0.t-ipconnect.de)
08:19:59 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
08:19:59 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
08:19:59 arandombit joins (~arandombi@user/arandombit)
08:20:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
08:22:16 <haskellbridge> <sm> ezyang's initial comment suggests that use of backpack in private/internal/sub libraries may just work; exposing backpack signatures in the public library is the problem
08:22:56 <yushyin> I sometimes use mixins in my cabal files
08:23:50 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
08:24:14 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds)
08:27:42 <sm> yushyin, can stack build those packages ?
08:29:03 <yushyin> Dunno, but stack repl doesn't work with mixins. One reason why I stopped using stack
08:29:58 <haskellbridge> <sm> are any of them public ? I'm curious
08:31:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:31:35 <Franciman> yushyin: i personally avoid cabal too
08:31:46 <Franciman> boot packages + ghc is WAYYY GOOD
08:32:16 <Franciman> fortunately for programming in the large, cabal is quite good nowadays
08:32:51 <yushyin> sm: No, I don't use mixins in public repos as I know about stack not working with them
08:33:17 <haskellbridge> <sm> fair enough
08:33:23 <Franciman> is there any use case, nowadays, to use stack rather than cabal'
08:33:25 <Franciman> ?
08:33:49 <Franciman> iiuc stackage is purposefully obfuscated to avoid being compatible with cabal, but is ultimately a cabal freeze output
08:34:52 <haskellbridge> <sm> Franciman, I don't think yuc :)
08:36:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
08:36:04 <Franciman> what does yuc mean?
08:36:09 <Franciman> sorry
08:37:32 <haskellbridge> <sm> "you understand correctly"
08:37:42 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
08:37:42 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
08:37:42 arandombit joins (~arandombi@user/arandombit)
08:37:55 <Franciman> ty
08:39:07 × darkling quits (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (Server closed connection)
08:39:17 darkling joins (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space)
08:40:30 PaulMartensen joins (15a119e437@2001:bc8:1210:2cd8::3bc)
08:41:36 FANTOM joins (~fantom@87.74.59.94)
08:41:37 × Guest8610 quits (~paul@p200300d0c724c95b1313013fcbfec0be.dip0.t-ipconnect.de) (Quit: Guest8610)
08:42:20 <haskellbridge> <sm> the plot thickens once again: it seems there are private sublibraries, and public sublibraries, which should be considered separately
08:42:54 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
08:45:46 <haskellbridge> <sm> Franciman if you're asking seriously: many people, including myself, like stack for its greater focus on reproducibility, its generally better UX, and its relative lack of cruft and legacy baggage.
08:46:45 trickard_ is now known as trickard
08:46:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:47:05 <Franciman> i see sm thanks
08:50:57 chele joins (~chele@user/chele)
08:53:37 × FANTOM quits (~fantom@87.74.59.94) (Ping timeout: 248 seconds)
08:54:03 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
08:54:03 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
08:54:03 arandombit joins (~arandombi@user/arandombit)
08:55:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
08:55:42 literon joins (~literon@2E8B6C41.catv.pool.telekom.hu)
08:58:25 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
09:02:22 ubert1 joins (~Thunderbi@178.165.186.86.wireless.dyn.drei.com)
09:05:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:08:47 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
09:09:06 FANTOM joins (~fantom@87.74.59.94)
09:09:31 Square3 joins (~Square4@user/square)
09:10:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
09:12:07 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 256 seconds)
09:13:23 tomboy64 joins (~tomboy64@user/tomboy64)
09:17:59 gmg joins (~user@user/gehmehgeh)
09:20:40 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
09:20:40 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
09:20:40 arandombit joins (~arandombi@user/arandombit)
09:21:28 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
09:21:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:25:29 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
09:28:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:35:22 fp joins (~Thunderbi@wireless-86-50-141-108.open.aalto.fi)
09:37:20 × lol_ quits (~lol@2603:3016:1e01:b960:14c0:7a30:3283:d6ed) (Ping timeout: 256 seconds)
09:38:30 jcarpenter2 joins (~lol@96.78.87.197)
09:39:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:44:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
09:51:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
09:55:35 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
09:55:35 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
09:55:35 arandombit joins (~arandombi@user/arandombit)
09:56:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
09:59:37 confusedalex joins (~alex@user/confusedalex)
09:59:45 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
10:00:31 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
10:02:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:02:06 <kuribas> I find OOP is just a more restricted version of using HOFs.
10:02:48 <kuribas> I can make a superclass, and call virtual functions inside a method, but it's just the same as having a HOF function taking helper functions.
10:06:17 <ski> a large part of it is programming with product types, with message-dispatching (as dual to sum types, with pattern-matching)
10:06:26 Lycurgus joins (~juan@user/Lycurgus)
10:06:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
10:07:51 <ski> (also the product types would typically be non-strict, leading to a closure-type implementation strategy (passing instance state / environment, to operations in vtable))
10:10:00 <kuribas> The instance being the product type?
10:10:30 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
10:11:39 <kuribas> It's true, I don't often see sum types in OOP, usualy they are implicit Unions.
10:11:52 <kuribas> Using isinstance checks to distinguish between them.
10:12:11 <kuribas> In Python I often use "Class1 | Class2" instead of a sum type.
10:12:24 × h2t quits (~h2t@user/h2t) (Server closed connection)
10:12:25 <kuribas> But for parsing it's sometimes useful to have discriminated unios.
10:12:36 <kuribas> Then you get into the mess that is "pydantic".
10:12:39 h2t joins (~h2t@user/h2t)
10:13:42 <probie> Java these days has pattern matching and you can pretend you have sum types via sealed interfaces, if you want that :p
10:14:10 <kuribas> like scala?
10:14:23 <ski> consider `data Queue a = forall q. MkQ {stateQ :: q,enQ :: a -> q -> q,deQ :: q -> Maybe (q,a)}'
10:14:41 <ski> you can then define wrappers, for invoking the methods
10:15:37 × davean quits (~davean@davean.sciesnet.net) (Server closed connection)
10:15:55 davean joins (~davean@davean.sciesnet.net)
10:16:56 <ski> enqueue :: a -> Queue a -> Queue a
10:17:03 <ski> enqueue x (MkQ q enQ deQ) = MkQ (enQ x q) enQ deQ
10:17:05 <ski> and
10:17:12 <ski> dequeue :: Queue a -> Maybe (Queue a,a)
10:17:16 <ski> dequeue (MkQ q enQ deQ) = fmap (\(q,x) -> (MkQ q enQ deQ)) (deQ q)
10:17:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:17:33 <ski> and then you can define a class, like
10:18:28 <kuribas> I have sort of the opposite problem, I am writing python, but I don't see a good reason to use a class (other than being more "pythonic"). It just seems less flexible.
10:18:51 <ski> newListQueue :: Queue a
10:19:04 <ski> newListQueue = MkQ [] enQ deQ
10:19:08 <ski> where
10:19:18 <ski> enQ x xs = xs ++ [x]
10:19:28 <ski> deQ [ ] = Nothing
10:19:41 <ski> deQ (x:xs) = Just (xs,x)
10:19:58 <ski> and you can imagine more efficient implementations
10:21:39 <ski> but also note that another way to define this type `Queue a' (where the above type is basically `exists q. (q,a -> q -> q,q -> Maybe (q,a))'), recursively, as `data Queue a = MkQ {enQ :: a -> Queue a,deQ :: Maybe (Queue a,a)}'
10:22:25 <ski> (and then you're redefine the wrappers `enqueue' and `dequeue', for this representation)
10:22:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
10:23:20 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds)
10:23:39 <ski> "Using isinstance checks to distinguish between them." -- which is kinda a kludge. using VisitorPattern (which is basically CPS, Church representation) is in some sense more principled
10:24:37 <Franciman> what does principled mean?
10:24:48 <probie> less ad-hoc
10:25:59 <ski> if you don't have sealed, or something similar, there's no guarantee there won't be alternatives which are not covered
10:28:43 <ski> btw, if you imagine `codata Queue a where Enqueue :: a -> Queue a -> Queue a; Dequeue :: Queue a', then one could define `newListQueue' as
10:28:55 <ski> newListQueue :: Queue a
10:29:03 <jreicher> The correspondence (if any) between OO and FP is further confused by the OO concept of a class conflating type and implementation.
10:29:14 <ski> newListQueue = listQueue []
10:29:21 <ski> where
10:29:21 <jreicher> IMO you really gotta be careful with that in OO
10:29:48 <ski> Enqueue x (listQueue xs) = listQueue (xs ++ [x])
10:29:59 <ski> Dequeue (listQueue [ ]) = Nothing
10:30:12 <ski> Dequeue (listQueue (x:xs)) = Just (listQueue xs,x)
10:30:19 <ski> yes, jreicher
10:31:33 <ski> (`Enqueue' and `Dequeue' here are methods, and `listQueue' is basically the class / class constructor. `listQueue xs' is being defined, in terms of how it responds to "messages", being the methods)
10:31:58 <Franciman> i see OO as more of a ontological programme
10:32:25 <Franciman> than an actual way of implementing stuff. So while i agree that all OO languages bottle the implementation side
10:32:31 <Franciman> i wouldn't say FP is opposed to OO
10:32:45 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
10:32:54 <ski> "OO" can mean many different things (as can "FP")
10:33:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:33:15 <Franciman> the issue with OO is probably how they put mutable state inside things
10:33:19 <Franciman> in a non-controlled wy
10:33:27 <ski> one useful way to contrast and compare, is to focus on the product vs. sum type distinction
10:33:31 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 248 seconds)
10:33:31 <jreicher> My take is that FP is a high-level OO. It creates an manages the objects for you.
10:33:45 <ski> you can do immutable OO
10:33:57 <ski> (O'Haskell, later Timber, did this)
10:34:10 <ski> oh, and OCaml supports it, as well
10:34:16 <jreicher> I believe it's fairly well accepted that a closure is a prototypical immutable object, and a thunk is a prototypical mutable one.
10:34:49 × jreicher quits (~user@user/jreicher) (Quit: In transit)
10:35:18 <Lycurgus> my take is the model of computation, math in the case of FP, a variety of things for OOP, i once said pure phenomenollogy
10:35:26 <ski> to me, "closure" is a particular implementation technique, used for delayed computation values (like first-class function values, "objects", continuations, promises, ..)
10:35:53 <Lycurgus> communicating objects is downtown OOP
10:35:56 <ski> "thunk" doesn't particularly convey any connotation of mutation, to me
10:36:00 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
10:36:22 <ski> (it might imply mutation. but might also not imply it. depending on the particular case)
10:36:37 __monty__ joins (~toonn@user/toonn)
10:36:44 <Lycurgus> there's a legalistic 3 or 4 part qualifying list, encapsulation, inheritance, etc
10:36:47 <ski> in Scheme, "thunk" often refers to any procedure taking no parameters
10:36:56 <Lycurgus> polymorphism, i forget the other
10:38:01 Lycurgus remembers when OOP was new
10:38:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
10:38:27 <Lycurgus> and FP had already been araound a while
10:39:37 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
10:39:37 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
10:39:37 arandombit joins (~arandombi@user/arandombit)
10:39:55 <Lycurgus> biz likes OOP and it is foundational and presumed in modern data processing
10:41:22 <Lycurgus> but doers of this time were mostly born after OOP began and even after its universal adoption
10:41:40 <Lycurgus> in the 90s
10:42:43 <Lycurgus> the once exciting and magical is for them the old crusty and banal
10:43:04 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
10:44:23 <ski> <https://web.archive.org/web/20061014103835/http://community.schemewiki.org/?p=object-oriented-programming&c=hv&t=1108777713> lists nine different aspects
10:45:49 <ski> encapsulation,protection,ad-hoc polymorphism,parametric polymorphism,everything is an object,all you can do is send a message,specification inheritance,implementation inheritance,sum-of-product-of-function pattern
10:46:39 <Lycurgus> yeah that list is bloated and repetitive
10:46:54 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
10:47:10 <Lycurgus> you could say st was the species specimen, model type whatever
10:47:25 <ski> SmallTalk ?
10:47:31 <Lycurgus> y
10:47:43 <probie> All I know is that Common Lisp's Object System often doesn't meet definitions of "object-oriented", which is a shame, because it's definitely one of my favourite object systems to work with
10:48:00 <Lycurgus> it also came about a decade later
10:48:49 × fp quits (~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 248 seconds)
10:48:52 <Lycurgus> and in a sense didn really gel in stable stuff ppl actually use till much later
10:48:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:49:21 <Lycurgus> CLOS was shaky in my perception till after the turn of the century
10:49:54 fp joins (~Thunderbi@wireless-86-50-141-108.open.aalto.fi)
10:50:13 <ski> OO largely improved on design, by encouraging accessing state through a defined interface (making it easier to uphold representation invariants, and do possible validation), rather than arbitrarily reaching into state of one subsystem, from another sub-system
10:50:18 <Lycurgus> in terms of you could expect it would just work in an implementation
10:50:55 <Lycurgus> well you can see how transformative it is compared to the flat code scene b4 it
10:51:03 <ski> (as compared to plain structured (but not necessarily modular) programming, that is)
10:51:28 <Lycurgus> 'structured programming' which produced pascal was the preceeding big thiing
10:51:39 <ski> right
10:52:32 <Lycurgus> which basically meant no uglu bowsl of spagheeti
10:52:32 <ski> insisting on single-entry and single-exit control structures (to avoid spaghetti programming)
10:52:50 <Lycurgus> *ugly
10:53:15 <Lycurgus> *bowls
10:53:31 <ski> (and short-circuit facilities, like `&&' and `||', as well as `return',`break',`continue', are all deviations from this)
10:54:17 <Lycurgus> *spaghetti
10:54:54 <probie> Lycurgus: It was the early 2000s before I ever touched LISP, so I never experienced the implementation pains. I also learnt it _before_ "regular" object orientation, so I remember being constantly disappointed at not having multiple dispatch in anything else
10:55:16 <sajenim> haskell was my first language, now at school they are teaching java
10:55:25 <sajenim> and it's fr frustrating
10:55:31 <ski> (.. in Prolog, the cut, `!', is also an example here. this, together with `return',`break',`continue', all have the aspect that they refer to an implicit surrounding "current context" (predicate clause, function definition, loop command), which makes it harder to refactor code)
10:55:44 <ski> i feel your pain, sajenim
10:55:55 <Lycurgus> well CLOS is just the aptheosis of OOP as u'd expect for the lang
10:56:00 <sajenim> idk how my prof has a phd his code stinks
10:56:07 <Lycurgus> *apotheosis
10:56:38 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:56:44 <sajenim> he turns everything into a 160 column 1 liner
10:56:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
10:56:57 <Lycurgus> so it's not surprising it took a while for the defacto thing outta PCL to become what ppl call CLOS now
10:57:52 <ski> i guess he has a high resolution screen, sajenim
10:58:14 <Lycurgus> concision freak maybe
10:58:16 <sajenim> i have 1440p aswell, but like what about multiple files open
10:58:53 <ski> too long lines tend to be hard to read (hard to quickly see where the next line starts), also in prose text
10:58:58 jreicher joins (~user@user/jreicher)
10:58:59 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
10:59:00 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
10:59:46 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
10:59:58 <sajenim> my peers called me a bad coder because i mentioned it's frustrating reading his wall of text
11:00:04 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
11:01:15 <probie> sajenim: You don't need to write good code for a PhD; the quality of code written doesn't directly map to quality of the research, and there's often less incentive to have things maintainable
11:01:38 <sajenim> i did read something along the lines of what you are saying
11:01:44 × fp quits (~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 260 seconds)
11:01:50 <sajenim> in relation to academia
11:02:12 caconym747 joins (~caconym@user/caconym)
11:03:42 <jreicher> ski: A closure is not a delayed computation. It's a solution to the upward funarg problem if you optimise the substitution rule for beta reduction by using an environment.
11:04:51 <Franciman> how much fun did i have when i implemented fully lazy sharing and obtained a 20x increase in speed from ghc's compiled output
11:04:51 <ski> yes. aka an implementation strategy for a delayed computation
11:04:56 fp joins (~Thunderbi@2001:708:150:10::72df)
11:05:14 <Franciman> 30 years of research and implementation bottled by a interpreter done in 2 hours
11:06:00 <Franciman> if P = NP, life would be brutal
11:06:09 <ski> (delaying substitutions for variables, in the body of the delayed computation, by bundling that body with the mapping, the substitution/environment. in the case of object-orientation, that environment is known as "instance state")
11:07:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:13:45 <Lycurgus> i guess i'm feeling that P is prolly = NP, intuitively, verification being semantically close to computation of a value, and i sense a vested job security interest in the opposite position
11:14:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
11:15:26 <jreicher> You might want to check the difference between constructive and non-constructive proofs before you get comfortable with that
11:15:50 × califax quits (~califax@user/califx) (Remote host closed the connection)
11:16:47 <Lycurgus> well it's a matter of abstract principle, i have no interest in setting off on a proof of stuff like that or say church's thesis
11:17:04 califax joins (~califax@user/califx)
11:17:09 <Lycurgus> having a considered opition is enough for a humble doer like myself
11:18:49 <Lycurgus> *opinion
11:19:26 <jreicher> Church's thesis can't be proven. That's why it's a thesis. :)
11:19:57 <Lycurgus> so what to you call P = NP, a conjecture?
11:20:04 <Lycurgus> *do you
11:20:10 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
11:22:38 <jreicher> Yes, it's a conjecture. It's liable to formal proof, disproof, or independence.
11:22:55 <Leary> 'Conjecture' suggests that it's considered likely to hold. I would just call it an open question.
11:25:46 <kuribas> OO or actor model are good for large scale parts, where each part is self contained, and communicates with messaging.
11:26:01 <Lycurgus> my feels are that proving church's thesis is like proving there's no god
11:26:04 <kuribas> Using OO for numbers is ridiculous IMO, why send a message to add two numbers.
11:26:10 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
11:27:19 <kuribas> The cell analogy for OOP shows this clearly, a cell is a super complicated things, maybe even more than your whole computer.
11:27:49 <kuribas> It's not a thing that magically heals and solves problems.
11:28:13 <Lycurgus> being life itself atomically dont count?
11:29:11 × califax quits (~califax@user/califx) (Remote host closed the connection)
11:29:53 <Lycurgus> and yeah good analogy if you just look at cells as bags with some properties or structure, i.e an abstraction
11:29:56 <kuribas> "Organically" is often used as a good adjective, but in reality what we consider "organic", is carefully managed by us, like growing plants, or maintaining a garden.
11:30:35 <kuribas> Lycurgus: the cell analogy was used by Alan Kay.
11:30:48 <ski> there are "internalized versions" of Church's thesis, basically claiming that every (computable) function is algorithmic (in some particular system). these could be provable, like in versions of constructive math, given appropriate axioms
11:32:37 xff0x joins (~xff0x@2405:6580:b080:900:b44c:4dd6:a7f0:d125)
11:32:40 <Lycurgus> kuribas, ack
11:33:57 califax joins (~califax@user/califx)
11:34:24 haritz joins (~hrtz@209.35.65.79)
11:34:24 × haritz quits (~hrtz@209.35.65.79) (Changing host)
11:34:24 haritz joins (~hrtz@user/haritz)
11:38:17 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
11:39:34 <kuribas> I think organic is taken synonym with self organising, effortless, ...
11:41:00 <jreicher> ski: Church's thesis is an idea in the absence of axioms. That's the whole point. If anything it suggests the axioms and not the other way round.
11:43:09 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
11:43:47 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
11:48:43 <Franciman> jreicher: i also like to see it as an empirical law
11:48:50 <Franciman> like newton's gravity laws
11:49:03 <Franciman> you keep it while it holds, then when somebody comes up with realtivity
11:49:05 <Franciman> you drop it
11:49:27 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
11:51:47 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:53:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:58:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
12:01:48 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 272 seconds)
12:03:03 ec joins (~ec@gateway/tor-sasl/ec)
12:04:33 × literon quits (~literon@2E8B6C41.catv.pool.telekom.hu) (Quit: Client closed)
12:08:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:10:50 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
12:10:54 × fp quits (~Thunderbi@2001:708:150:10::72df) (Quit: fp)
12:11:00 fp1 joins (~Thunderbi@wireless-86-50-141-108.open.aalto.fi)
12:11:04 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
12:12:56 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
12:12:56 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
12:12:56 arandombit joins (~arandombi@user/arandombit)
12:13:18 fp1 is now known as fp
12:13:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
12:15:38 × aku quits (aku@65.108.245.241) (Quit: Lost terminal)
12:16:57 aku joins (aku@65.108.245.241)
12:18:25 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
12:24:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:29:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
12:32:02 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
12:33:26 tbahne joins (~tbahne@user/tbahne)
12:40:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:43:35 × meejah quits (~meejah@rutas.meejah.ca) (Server closed connection)
12:43:44 meejah joins (~meejah@rutas.meejah.ca)
12:45:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
12:45:32 trickard_ is now known as trickard
12:45:56 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
12:46:12 × AlexNoo quits (~AlexNoo@5.139.233.33) (Quit: Leaving)
12:47:04 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
12:47:04 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
12:47:04 arandombit joins (~arandombi@user/arandombit)
12:52:34 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
12:54:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
12:57:07 ttybitnik joins (~ttybitnik@user/wolper)
13:00:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
13:03:59 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
13:03:59 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
13:03:59 arandombit joins (~arandombi@user/arandombit)
13:06:12 <Athas> Is the OverloadedLists extension known to be very annoying to use? Just enabling it leads to lots of errors about ambiguity.
13:06:52 <Athas> I suppose my coding style may simply be inappropriate, but it looks like most of my list literals become ambiguous.
13:08:54 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
13:12:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:16:49 <probie> It was less bad before `foldable`
13:17:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
13:21:57 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
13:21:57 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
13:21:57 arandombit joins (~arandombi@user/arandombit)
13:22:41 <Athas> Right, it's definitely Foldable that creates the ambiguities.
13:22:54 <Athas> It would perhaps be useful if it defaulted to lists in ambiguous cases, but currently it seems completely useless.
13:23:28 <haskellbridge> <Morj> Yeah I had a similar problem. That's why nowadays I leave explicit fromList calls
13:25:37 <Leary> Athas: Tried `default ([])`?
13:27:09 <Athas> Leary: does that work?
13:27:16 <Leary> I don't know. :)
13:27:34 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
13:27:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:28:19 <Athas> It does not. But the error message complains that [] is not an instance of IsString, so I'm guessing OverloadedStrings got to that bit of notation first.
13:28:34 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
13:31:31 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
13:31:47 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
13:32:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
13:33:01 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
13:36:13 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
13:39:47 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
13:42:50 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
13:43:28 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
13:43:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:45:27 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
13:47:25 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
13:48:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
13:49:58 AlexZenon joins (~alzenon@5.139.233.33)
13:53:14 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
13:55:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
13:55:08 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
13:58:59 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
14:00:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:00:13 × fp quits (~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 260 seconds)
14:03:09 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
14:04:18 × ubert1 quits (~Thunderbi@178.165.186.86.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
14:09:37 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
14:09:51 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
14:10:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:13:01 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
14:13:01 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
14:13:01 arandombit joins (~arandombi@user/arandombit)
14:15:48 Sgeo joins (~Sgeo@user/sgeo)
14:15:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:20:05 × jocke-l quits (jocke-l@a.x0.is) (Server closed connection)
14:20:30 jocke-l joins (jocke-l@a.x0.is)
14:20:48 <absence> I'm playing with the singletons library, and trying to reify a Bool by pattern matching on "toSing boolValue". To my understanding, it returns "SomeSing (s :: Sing (b :: Bool))", but when I try to use pass @b to a function, I get "Could not deduce SomeConstraint b", even though both SomeConstraint 'True and SomeConstraint 'False are in scope. Clearly I'm missing a step, could someone point me in the
14:20:54 <absence> right direction?
14:26:35 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:30:40 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
14:31:02 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
14:31:25 <Leary> absence: I don't know the details of the singletons library (since I tend to roll my own), but I imagine you want to case on `s`, refining `b` to `False` when `s` is `SFalse`, etc.
14:31:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:34:07 davidlbowman joins (~dlb@user/davidlbowman)
14:36:41 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
14:36:46 trickard_ is now known as trickard
14:37:08 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:39:17 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
14:41:36 Square2 joins (~Square@user/square)
14:42:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:45:44 × Square3 quits (~Square4@user/square) (Ping timeout: 260 seconds)
14:46:37 × tbahne quits (~tbahne@user/tbahne) (Quit: tbahne)
14:46:53 tbahne joins (~tbahne@user/tbahne)
14:49:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
14:50:24 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
14:51:29 × tbahne quits (~tbahne@user/tbahne) (Ping timeout: 248 seconds)
14:52:29 × hakutaku quits (~textual@chen.yukari.eu.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:52:51 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
14:53:19 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
14:56:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
14:57:17 × vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection)
14:58:54 <absence> Leary: Do you mean pattern matching on STrue and SFalse, and manually passing @True and @False in each case?
14:59:43 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 260 seconds)
15:01:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
15:01:26 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
15:04:15 <Leary> That sounds like it should work, at least. You might want to factor things differently though, e.g. `instance SingI b => SomeConstraint b where ...`
15:07:34 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
15:07:52 mxs9 joins (~mxs@user/mxs)
15:07:57 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
15:10:46 <absence> Leary: In that case I don't need singletons at all, and can just pattern match on the Bool value directly, and match on True and False. I thought the idea was that singletons would let you avoid that kind of pattern match.
15:11:43 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
15:11:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:13:10 tomboy64 joins (~tomboy64@user/tomboy64)
15:16:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
15:18:28 arandombit joins (~arandombi@user/arandombit)
15:20:20 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2)
15:21:13 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
15:21:19 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
15:24:33 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
15:24:56 <kuribas> absence: The right direction is to use idris2 once you start medling with singletons.
15:25:08 <kuribas> absence: or write boring haskell :)
15:25:11 <kuribas> absence: IMHO
15:25:37 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
15:27:36 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:29:50 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
15:29:57 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
15:30:19 gmg joins (~user@user/gehmehgeh)
15:31:36 <geekosaur> absence, kuribas: strong agreement
15:31:49 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
15:32:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
15:33:52 × Googulator quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
15:34:09 Googulator joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
15:34:33 lightspell joins (~lightspel@dhcp-143-103-27-110.gobrightspeed.net)
15:38:08 poscat joins (~poscat@user/poscat)
15:39:30 × poscat0x04 quits (~poscat@user/poscat) (Ping timeout: 245 seconds)
15:42:00 <absence> The ergonomics decrease quickly when using type-level stuff for sure...
15:42:29 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
15:43:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:45:19 hakutaku joins (~textual@chen.yukari.eu.org)
15:45:20 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
15:45:20 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
15:45:20 arandombit joins (~arandombi@user/arandombit)
15:47:45 × hakutaku quits (~textual@chen.yukari.eu.org) (Client Quit)
15:48:43 × Googulator quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
15:48:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
15:48:57 Googulator joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
15:53:16 hakutaku joins (~textual@chen.yukari.eu.org)
15:56:41 <geekosaur> haskell still doesn't have dependent types and (compared to languages that do) barely has a type level. singletons is IMO a horrible hack to try to get around this
15:57:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
15:57:03 <geekosaur> pretty much everything that uses Haskell with singletons should really be in Idris
15:57:20 <geekosaur> except, of course, that Idris barely has an ecosystem
15:57:37 × hakutaku quits (~textual@chen.yukari.eu.org) (Ping timeout: 248 seconds)
16:02:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:08:34 × Googulator quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
16:08:49 Googulator joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
16:09:13 hakutaku joins (~textual@chen.yukari.eu.org)
16:11:21 <lightspell> Hi, I'm learning Haskell by writing a simple card game. I'm using StateT to maintain the game state, and I'm using StatefulGen for randomly shuffling the deck when necessary. However, I can't figure out how to use both at the same time. Any chance someone could let me know what I'm doing wrong? I've made a simple version of the game to show the
16:11:22 <lightspell> issue, with only the shuffle and draw logic: https://play.haskell.org/saved/SKCK9WHL
16:12:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:18:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:19:45 <absence> lightspell: You've hard coded the base monad to [] in GameState. Instead, you probably want something like "StatefulGen g m => StateT Game m a", i.e. StateT should sit on top of the StatefulGen. You could also use mtl, e.g. "(MonadState Game m, StatefulGen g m) => m a"
16:19:53 lightspell10 joins (~lightspel@dhcp-143-103-27-110.gobrightspeed.net)
16:20:08 × lightspell10 quits (~lightspel@dhcp-143-103-27-110.gobrightspeed.net) (Client Quit)
16:20:24 lightspell1 joins (~lightspel@dhcp-143-103-27-110.gobrightspeed.net)
16:21:19 <lightspell1> I included the rest of the code so it could run, but the main question is really just how to write a function like `shuffleDiscards`, which uses StatefulGen and StateT. The way I tried to write the type signature is `shuffleDiscards :: (StatefulGen g m) => PlayerId -> g -> m ()`, hoping that `m ()` would be equivalent to `StateT Game [] ()`, but
16:21:19 <lightspell1> clearly I have no idea what I'm doing.
16:22:56 <absence> lightspell1: Maybe you missed my message in the reconnect: You've hard coded the base monad to [] in GameState. Instead, you probably want something like "StatefulGen g m => StateT Game m a", i.e. StateT should sit on top of the StatefulGen. You could also use mtl, e.g. "(MonadState Game m, StatefulGen g m) => m a"
16:23:11 <lightspell1> whoops, sorry got disconnected and somehow got assigned a new handle. Thanks for the hint!
16:23:35 × lightspell quits (~lightspel@dhcp-143-103-27-110.gobrightspeed.net) (Ping timeout: 250 seconds)
16:24:36 <lightspell1> That makes sense, thank you. I thought that somehow the StateT should already be wrapping the random generator, but I wasn't sure how.
16:25:37 × Googulator quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
16:25:44 Googulator33 joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
16:26:07 <EvanR> StateT basically does nothing but add 1 mutable variable
16:26:43 <EvanR> whatever manipulations on it you write yourself on top of that
16:26:59 <EvanR> there are other monads that specialize in randomness
16:27:28 <EvanR> while IO gives you randomness, as many mutable variables as you want, and more
16:31:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:33:39 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
16:33:58 <haskellbridge> <sm> indeed!
16:34:07 divlamir joins (~divlamir@user/divlamir)
16:34:41 <lightspell1> EvanR: I'm trying to figure out how to limit the code to one mutable state, rather than running everything in IO
16:36:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
16:39:15 <geekosaur> but the random seed is itself a mutable state, so you necessarily have two unless you design your own state that combines them
16:43:55 lightspell joins (~lightspel@dhcp-143-103-27-110.gobrightspeed.net)
16:45:38 <lightspell> I get that, but I thought the random generator is mutating itself every time I use it, and I'm passing it around as an argument to each function, so the way it's written now the StateT monad only needs to maintain the game state. I would like to also encapsulate the random generator as its own state, like you suggest, so it doesn't need to get
16:45:38 <lightspell> passed around all the time. I figured that would need some kind of nested transformers with mtl.
16:46:08 <EvanR> you could use two StateTs in a row for 2 variables but it gets interesting
16:46:21 <EvanR> or one StateT and one random monad transformer
16:46:48 <EvanR> without getting into MonadState generalizations
16:46:51 ljdarj joins (~Thunderbi@user/ljdarj)
16:47:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:47:25 × lightspell1 quits (~lightspel@dhcp-143-103-27-110.gobrightspeed.net) (Ping timeout: 250 seconds)
16:48:10 <EvanR> e.g. RandomT (sold separately) would add the ability the pick uniformly from a list and shuffle a list
16:48:12 <lightspell> That's what I'm trying to figure out how to do, yes. I barely understand what I'm doing now, so I don't want to get into further generalizations yet.
16:49:22 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:49:36 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:51:07 lightspell45 joins (~lightspel@dhcp-143-103-27-110.gobrightspeed.net)
16:51:13 <lightspell45> geez, I don't know what's up with these disconnections. Sorry.
16:52:09 lightspell52 joins (~lightspel@dhcp-143-103-27-110.gobrightspeed.net)
16:52:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
16:52:20 <lightspell52> okay I give up for now. I'll try again later with a more stable service. Thanks for the help!
16:52:30 <EvanR> light spell, that's a blast from the past
16:52:34 <EvanR> dungeon master
16:53:55 × lightspell quits (~lightspel@dhcp-143-103-27-110.gobrightspeed.net) (Ping timeout: 250 seconds)
16:54:11 <lightspell52> I've tried nesting State inside the StateT to hold the random number generator. However, I have no idea how to actually do that
16:55:42 tromp joins (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
16:55:47 <lightspell52> Something like this. Defining `MyRandomState` clearly doesn't work because I don't think you can have parameterized types in a type definition like this. But I don't know how to tell it that I want the `m` to be `State` and the `g` to be the generator in the state.
16:55:48 <lightspell52> type MyRandomState = (StatefulGen g m) => State g
16:55:48 <lightspell52> type GameState a = StateT Game MyRandom a
16:56:05 × lightspell45 quits (~lightspel@dhcp-143-103-27-110.gobrightspeed.net) (Ping timeout: 250 seconds)
16:56:29 <lightspell52> That's complete nonsense code. Just trying to communicate the concept, something here just hasn't clicked yet for me.
16:57:54 <EvanR> it would be like StateT Game (StateT RNG IO a)
16:58:08 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
16:58:24 <EvanR> where RNG is the type for the generator state, whatever that is
16:58:27 <EvanR> not a monad
16:59:14 <EvanR> but because they're both StateT the disambiguation for the StateT methods gets fun
16:59:38 <EvanR> which is why a dedicated RandomT would be more ergonomic
17:00:26 × krei-se- quits (~krei-se@p3ee0fd0d.dip0.t-ipconnect.de) (Quit: ZNC 1.9.1 - https://znc.in)
17:00:30 <EvanR> I typoed that: StateT Game (StateT RNG IO) a
17:00:42 qqe joins (~qqq@185.54.20.59)
17:01:25 <EvanR> the third argument is a monad, which has to have kind * -> *
17:01:54 <EvanR> 2nd argument ? 3rd position
17:03:58 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:04:08 × ggVGc quits (~ggVGc@a.lowtech.earth) (Server closed connection)
17:04:12 <lightspell52> That makes so more sense, than you. I will give that a try.
17:04:31 ggVGc joins (~ggVGc@a.lowtech.earth)
17:08:14 sprotte24 joins (~sprotte24@p200300d16f0bc80029e95c83e39d93ca.dip0.t-ipconnect.de)
17:09:49 × jreicher quits (~user@user/jreicher) (Ping timeout: 260 seconds)
17:12:35 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
17:12:49 trickard joins (~trickard@cpe-57-98-47-163.wireline.com.au)
17:13:19 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
17:13:48 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:16:04 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Quit: Frostillicus)
17:17:34 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
17:19:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
17:19:08 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 260 seconds)
17:28:44 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
17:29:35 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
17:29:35 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:33:09 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
17:34:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
17:35:15 chromoblob joins (~chromoblo@user/chromob1ot1c)
17:44:51 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
17:44:51 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
17:44:51 arandombit joins (~arandombi@user/arandombit)
17:45:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:48:20 × hakutaku quits (~textual@chen.yukari.eu.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:48:58 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
17:49:01 hakutaku joins (~textual@chen.yukari.eu.org)
17:49:05 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 248 seconds)
17:50:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
17:51:42 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
17:59:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:00:23 arandombit joins (~arandombi@user/arandombit)
18:03:00 ttybitnik joins (~ttybitnik@user/wolper)
18:03:37 vanishingideal joins (~vanishing@user/vanishingideal)
18:04:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
18:04:39 Googulator9 joins (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
18:08:27 × Googulator33 quits (~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Ping timeout: 250 seconds)
18:10:10 × poscat quits (~poscat@user/poscat) (Remote host closed the connection)
18:10:42 Googulator9 is now known as Googulator
18:10:44 poscat joins (~poscat@user/poscat)
18:12:27 krei-se joins (~krei-se@p3ee0fd0d.dip0.t-ipconnect.de)
18:14:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:19:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
18:22:39 ThePenguin2 joins (~ThePengui@cust-95-80-28-221.csbnet.se)
18:24:34 × ThePenguin quits (~ThePengui@cust-95-80-31-242.csbnet.se) (Ping timeout: 245 seconds)
18:24:34 ThePenguin2 is now known as ThePenguin
18:24:58 notzmv joins (~umar@user/notzmv)
18:26:57 × ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
18:27:17 ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se)
18:31:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:33:38 × ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
18:33:49 ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se)
18:37:17 × ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection)
18:38:21 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
18:38:41 × notzmv quits (~umar@user/notzmv) (Ping timeout: 248 seconds)
18:39:12 ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se)
18:40:26 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
18:41:02 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
18:42:01 trickard_ is now known as trickard
18:44:11 hjj123 joins (~hjj123@178.155.116.235)
18:44:30 × hjj123 quits (~hjj123@178.155.116.235) (Client Quit)
18:46:34 jmcantrell_ joins (~weechat@user/jmcantrell)
18:48:35 target_i joins (~target_i@user/target-i/x-6023099)
18:49:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:50:09 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
18:53:28 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
18:54:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
18:54:25 mreh joins (~matthew@host86-146-25-68.range86-146.btcentralplus.com)
19:00:00 × caconym747 quits (~caconym@user/caconym) (Quit: bye)
19:00:31 <mreh> I think I've broken a dependency installed with stack. Since it was installed I changed a pkg-config package, and a new project isn't linking any more.
19:00:41 caconym747 joins (~caconym@user/caconym)
19:00:47 <mreh> Are deps cached per GHC or project?
19:04:16 × acidjnk quits (~acidjnk@p200300d6e7171930a0d4799db13e1f65.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
19:05:06 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:05:54 acidjnk joins (~acidjnk@p200300d6e7171904ad9b21b318fd8019.dip0.t-ipconnect.de)
19:06:46 × Logio quits (~em@kapsi.fi) (Server closed connection)
19:06:56 Logio joins (em@kapsi.fi)
19:07:23 <tomsmeding> mreh: ~/.stack/snapshots/
19:07:37 <tomsmeding> per-snapshot
19:07:49 <tomsmeding> (meaning per-ghc because a snapshot has one particular ghc)
19:08:43 <mreh> tomsmeding: yeah, I saw that directory and have since wiped it to see if it fixes it, but I'm so confused as to why one project on the same snapshot builds, and the other doesn't
19:09:06 <tomsmeding> I have no idea what the hashes in that folder are of
19:09:19 <mreh> tomsmeding: didn't want to go their either :X
19:09:29 <tomsmeding> maybe your two projects are the same snapshot but get a different hash? /shrug/
19:09:35 × xelxebar quits (~xelxebar@wilsonb.com) (Server closed connection)
19:09:56 xelxebar joins (~xelxebar@wilsonb.com)
19:09:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
19:10:04 <mreh> there's no tool to uninstall stack packages, other than ghc-pkg
19:10:31 <mreh> but that's too low level, and I don't understand why reinstall isn't working
19:10:36 <tomsmeding> there is one for cabal, kind of https://github.com/treblacy/cabalgc
19:10:41 <tomsmeding> (never used it)
19:10:58 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
19:11:03 <mreh> all the cool kids use nix nowadays?
19:11:11 <tomsmeding> mreh: probably you need to not only rebuild a dependency, but also relink it
19:11:15 <tomsmeding> s/rebuild/reinstall/
19:11:25 <tomsmeding> I'd guess that ghc-pkg will not actually do any build steps
19:11:54 <tomsmeding> I dunno, I don't use nix
19:11:54 <mreh> it'll "unregister", but `stack build` doesn't re-build after that
19:12:00 <tomsmeding> not sure if I'm cool
19:12:21 <tomsmeding> honestly if you want to rebuild installed packages, just wipe the appropriate snapshot folder
19:12:31 <tomsmeding> and if you're too lazy to figure out which one it is, wipe the whole thing
19:12:54 <tomsmeding> removing individual packages from a snapshot is risky
19:19:32 <mreh> experiments suggest it's per project, what I was expecting
19:20:49 × lightspell52 quits (~lightspel@dhcp-143-103-27-110.gobrightspeed.net) (Ping timeout: 250 seconds)
19:20:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:25:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
19:26:49 rvalue- joins (~rvalue@about/hackers/rvalue)
19:27:48 × rvalue quits (~rvalue@about/hackers/rvalue) (Ping timeout: 256 seconds)
19:32:39 rvalue- is now known as rvalue
19:33:21 Lycurgus joins (~juan@user/Lycurgus)
19:36:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:41:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
19:42:38 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 260 seconds)
19:44:43 tomboy64 joins (~tomboy64@user/tomboy64)
19:48:40 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 245 seconds)
19:51:45 itaipu joins (~itaipu@168.121.97.28)
19:52:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:57:48 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
19:57:48 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 260 seconds)
19:58:24 itaipu joins (~itaipu@168.121.97.28)
20:02:24 × mreh quits (~matthew@host86-146-25-68.range86-146.btcentralplus.com) (Quit: Lost terminal)
20:03:36 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
20:08:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:09:43 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 256 seconds)
20:14:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
20:15:39 Square3 joins (~Square4@user/square)
20:17:19 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
20:18:20 × pie_ quits (~pie_bnc@user/pie/x-2818909) (Quit: No Ping reply in 180 seconds.)
20:18:49 × Square2 quits (~Square@user/square) (Ping timeout: 260 seconds)
20:18:56 × xnbya quits (~xnbya@2a01:4f8:c17:cbdd::1) (Quit: No Ping reply in 180 seconds.)
20:19:06 × loonycyborg quits (loonycybor@wesnoth/developer/loonycyborg) (Quit: ZNC - http://znc.sourceforge.net)
20:19:38 pie_ joins (~pie_bnc@user/pie/x-2818909)
20:19:41 loonycyborg joins (~loonycybo@wesnoth/developer/loonycyborg)
20:20:02 xnbya joins (~xnbya@2a01:4f8:c17:cbdd::1)
20:20:45 × jjhoo quits (jahakala@user/jjhoo) (Server closed connection)
20:21:01 jjhoo joins (~jahakala@user/jjhoo)
20:21:39 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
20:21:43 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
20:26:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:30:37 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
20:31:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
20:32:30 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
20:38:50 × acidjnk quits (~acidjnk@p200300d6e7171904ad9b21b318fd8019.dip0.t-ipconnect.de) (Remote host closed the connection)
20:39:17 acidjnk joins (~acidjnk@p200300d6e7171904ad9b21b318fd8019.dip0.t-ipconnect.de)
20:39:39 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Remote host closed the connection)
20:39:41 tzh_ joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
20:39:49 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
20:40:24 × myme quits (~myme@2a01:799:d5e:5f00:f3b1:73c3:e8c3:8d9a) (Ping timeout: 248 seconds)
20:41:13 myme joins (~myme@2a01:799:d5e:5f00:9644:9a6c:745:3df)
20:42:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:46:58 notzmv joins (~umar@user/notzmv)
20:47:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
20:49:37 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
20:49:43 × arandombit quits (~arandombi@user/arandombit) (Ping timeout: 260 seconds)
20:51:05 fgarcia is now known as emerge
20:57:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:00:11 emerge is now known as fgarcia
21:03:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
21:05:49 arandombit joins (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
21:05:49 × arandombit quits (~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
21:05:49 arandombit joins (~arandombi@user/arandombit)
21:12:37 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:13:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:15:02 × df quits (~ben@justworks.xyz) (Server closed connection)
21:15:17 df joins (~ben@justworks.xyz)
21:15:23 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
21:18:41 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
21:20:34 ljdarj1 joins (~Thunderbi@user/ljdarj)
21:23:34 × tromp quits (~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:24:08 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
21:24:08 ljdarj1 is now known as ljdarj
21:28:15 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
21:29:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:31:22 juri_ joins (~juri@implicitcad.org)
21:33:12 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
21:34:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
21:40:24 ljdarj1 joins (~Thunderbi@user/ljdarj)
21:44:33 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
21:44:33 ljdarj1 is now known as ljdarj
21:45:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:52:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
22:00:35 × califax quits (~califax@user/califx) (Remote host closed the connection)
22:00:35 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
22:00:50 califax joins (~califax@user/califx)
22:00:57 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
22:03:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:04:33 × notzmv quits (~umar@user/notzmv) (Ping timeout: 248 seconds)
22:08:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
22:09:43 cherryramatisdev joins (~cherryram@user/cherryramatisdev)
22:10:48 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
22:10:48 × davidlbowman quits (~dlb@user/davidlbowman) (Ping timeout: 260 seconds)
22:19:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:23:45 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
22:24:17 × AlexZenon quits (~alzenon@5.139.233.33) (Ping timeout: 248 seconds)
22:24:22 × mxs9 quits (~mxs@user/mxs) (Quit: The Lounge - https://thelounge.chat)
22:25:45 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
22:28:41 AlexZenon joins (~alzenon@5.139.233.33)
22:34:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:37:44 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
22:39:50 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
22:39:51 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
22:41:47 tbahne joins (~tbahne@user/tbahne)
22:44:39 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
22:49:18 × xff0x quits (~xff0x@2405:6580:b080:900:b44c:4dd6:a7f0:d125) (Ping timeout: 260 seconds)
22:50:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:55:25 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
22:55:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
22:57:58 × krjst quits (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48) (Server closed connection)
22:58:23 krjst joins (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48)
23:00:01 × tbahne quits (~tbahne@user/tbahne) (Ping timeout: 248 seconds)
23:01:46 xff0x joins (~xff0x@2405:6580:b080:900:b44c:4dd6:a7f0:d125)
23:06:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:06:40 karenw joins (~karenw@user/karenw)
23:07:37 × codedmart quits (codedmart@2600:3c01::f03c:92ff:fefe:8511) (Server closed connection)
23:07:54 codedmart joins (~codedmart@li335-49.members.linode.com)
23:11:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
23:13:46 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 272 seconds)
23:13:49 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
23:15:59 ec joins (~ec@gateway/tor-sasl/ec)
23:18:17 mange joins (~mange@user/mange)
23:22:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:22:59 bcksl joins (~bcksl@user/bcksl)
23:28:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
23:29:28 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 256 seconds)
23:30:00 end joins (~end@user/end/x-0094621)
23:37:29 davidlbowman joins (~dlb@user/davidlbowman)
23:40:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:40:49 sus0 joins (zero@user/zeromomentum)
23:41:41 × qqe quits (~qqq@185.54.20.59) (Quit: Lost terminal)
23:43:00 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
23:45:14 × sprotte24 quits (~sprotte24@p200300d16f0bc80029e95c83e39d93ca.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
23:45:21 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
23:45:41 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
23:46:10 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:56:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)

All times are in UTC on 2025-08-28.