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.