2025/08/28

2025-08-28 00:00:34 +0200segfaultfizzbuzz(~segfaultf@142.254.125.158) (Ping timeout: 258 seconds)
2025-08-28 00:00:37 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2025-08-28 00:01:00 +0200ec(~ec@gateway/tor-sasl/ec) ec
2025-08-28 00:15:08 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 258 seconds)
2025-08-28 00:15:55 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2025-08-28 00:16:52 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 00:19:17 +0200hc(~hc@mail.hce.li) (Server closed connection)
2025-08-28 00:19:31 +0200hc(~hc@mail.hce.li) hc
2025-08-28 00:20:50 +0200peutri(~peutri@bobo.desast.re) (Server closed connection)
2025-08-28 00:21:00 +0200peutri(~peutri@bobo.desast.re) peutri
2025-08-28 00:30:36 +0200notzmv(~umar@user/notzmv) (Remote host closed the connection)
2025-08-28 00:37:54 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-08-28 00:40:34 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-08-28 00:44:32 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-08-28 00:44:32 +0200ljdarj1ljdarj
2025-08-28 00:44:58 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-08-28 00:50:57 +0200tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2025-08-28 00:58:11 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2025-08-28 00:59:36 +0200xff0x(~xff0x@2405:6580:b080:900:c3c2:5734:3789:d6a1) (Ping timeout: 248 seconds)
2025-08-28 01:00:32 +0200xff0x(~xff0x@2405:6580:b080:900:19de:4997:404:5625)
2025-08-28 01:01:21 +0200jreicher(~user@user/jreicher) jreicher
2025-08-28 01:08:02 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 258 seconds)
2025-08-28 01:10:24 +0200sprotte24(~sprotte24@p200300d16f05d70019dbd74b079549bc.dip0.t-ipconnect.de) (Quit: Leaving)
2025-08-28 01:11:56 +0200ttybitnik(~ttybitnik@user/wolper) (Ping timeout: 244 seconds)
2025-08-28 01:19:37 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-28 01:20:02 +0200fgarcia(~lei@user/fgarcia) (Quit: Remote host closed the connection)
2025-08-28 01:21:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 01:21:48 +0200Axman9593(~Axman6@user/axman6) Axman6
2025-08-28 01:23:57 +0200fgarcia(~lei@user/fgarcia) fgarcia
2025-08-28 01:26:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 01:26:49 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 258 seconds)
2025-08-28 01:30:22 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-28 01:30:45 +0200Axman6(~Axman6@user/axman6) (*.net *.split)
2025-08-28 01:32:16 +0200lol_(~lol@2603:3016:1e01:b960:14c0:7a30:3283:d6ed)
2025-08-28 01:32:40 +0200trickard__trickard
2025-08-28 01:34:57 +0200fgarcia(~lei@user/fgarcia) (Read error: Connection reset by peer)
2025-08-28 01:36:06 +0200jcarpenter2(~lol@2603:3016:1e01:b960:a521:2571:4042:b249) (Ping timeout: 256 seconds)
2025-08-28 01:37:31 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 01:41:17 +0200fgarcia(~lei@user/fgarcia) fgarcia
2025-08-28 01:42:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-08-28 01:44:53 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-08-28 01:45:16 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-28 01:51:05 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 01:56:08 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 02:06:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 02:12:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 02:21:30 +0200acidjnk(~acidjnk@p200300d6e7171900a9f37d216dcd4f2e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-08-28 02:22:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 02:27:00 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 252 seconds)
2025-08-28 02:28:32 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 02:39:42 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 02:43:17 +0200scysta(~tiara@152.173.218.186) Scysta
2025-08-28 02:44:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 02:46:21 +0200alethkit(23bd17ddc6@sourcehut/user/alethkit) (Server closed connection)
2025-08-28 02:46:31 +0200alethkit(23bd17ddc6@sourcehut/user/alethkit) alethkit
2025-08-28 02:55:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 02:57:23 +0200lexi-lambda(sid92601@id-92601.hampstead.irccloud.com) (Server closed connection)
2025-08-28 02:57:33 +0200lexi-lambda(sid92601@id-92601.hampstead.irccloud.com) lexi-lambda
2025-08-28 02:58:23 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 03:00:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-28 03:09:44 +0200xff0x(~xff0x@2405:6580:b080:900:19de:4997:404:5625) (Ping timeout: 248 seconds)
2025-08-28 03:11:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 03:16:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 03:18:17 +0200Axman9593Axman6
2025-08-28 03:27:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 03:30:57 +0200robertm(robertm@lattice.rojoma.com) (Server closed connection)
2025-08-28 03:31:16 +0200robertm(robertm@lattice.rojoma.com) robertm
2025-08-28 03:34:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-08-28 03:42:10 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-08-28 03:42:43 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-28 03:45:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 03:52:39 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com) (Server closed connection)
2025-08-28 03:52:50 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com) shawwwn
2025-08-28 03:52:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 03:56:49 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-28 03:57:03 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-08-28 03:58:26 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-08-28 03:58:50 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-08-28 04:02:29 +0200ProofTechnique_(sid79547@id-79547.ilkley.irccloud.com) (Server closed connection)
2025-08-28 04:02:38 +0200ProofTechnique_(sid79547@id-79547.ilkley.irccloud.com)
2025-08-28 04:04:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 04:08:17 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2025-08-28 04:08:39 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2025-08-28 04:09:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 04:09:57 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-08-28 04:14:53 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (Server closed connection)
2025-08-28 04:15:01 +0200lambdabot(~lambdabot@silicon.int-e.eu)
2025-08-28 04:15:01 +0200lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2025-08-28 04:15:01 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) lambdabot
2025-08-28 04:15:01 +0200ChanServ+v lambdabot
2025-08-28 04:20:33 +0200eso(a0662dfd5e@2a03:6000:1812:100::1266) (Server closed connection)
2025-08-28 04:20:41 +0200eso(a0662dfd5e@2a03:6000:1812:100::1266) jeso
2025-08-28 04:23:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 04:25:27 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 258 seconds)
2025-08-28 04:25:33 +0200saolsen(sid26430@id-26430.lymington.irccloud.com) (Server closed connection)
2025-08-28 04:25:48 +0200saolsen(sid26430@id-26430.lymington.irccloud.com) saolsen
2025-08-28 04:27:06 +0200integral(sid296274@user/integral) (Server closed connection)
2025-08-28 04:27:19 +0200integral(sid296274@user/integral) integral
2025-08-28 04:27:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-28 04:31:45 +0200astra(sid289983@id-289983.hampstead.irccloud.com) (Server closed connection)
2025-08-28 04:32:00 +0200astra(sid289983@id-289983.hampstead.irccloud.com)
2025-08-28 04:32:27 +0200gaze__(sid387101@id-387101.helmsley.irccloud.com) (Read error: Software caused connection abort)
2025-08-28 04:32:38 +0200gaze__(sid387101@id-387101.helmsley.irccloud.com) gaze__
2025-08-28 04:38:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 04:39:09 +0200fn_lumi(3d621153a5@2a03:6000:1812:100::df7) (Server closed connection)
2025-08-28 04:39:18 +0200fn_lumi(3d621153a5@2a03:6000:1812:100::df7) fn_lumi
2025-08-28 04:41:29 +0200Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-08-28 04:43:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 04:44:48 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2025-08-28 04:44:57 +0200weary-traveler(~user@user/user363627) user363627
2025-08-28 04:54:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 04:59:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 05:05:25 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-08-28 05:06:12 +0200mmaruseacph2(~mihai@mihai.page) (Read error: Software caused connection abort)
2025-08-28 05:10:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 05:11:31 +0200mmaruseacph2(~mihai@mihai.page) mmaruseacph2
2025-08-28 05:17:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 05:23:44 +0200divya(divya@140.238.251.170) (Read error: Software caused connection abort)
2025-08-28 05:27:14 +0200lambdap23717(~lambdap@static.167.190.119.168.clients.your-server.de) (Read error: Software caused connection abort)
2025-08-28 05:27:32 +0200lambdap23717(~lambdap@static.167.190.119.168.clients.your-server.de)
2025-08-28 05:27:56 +0200noteness(~noteness@user/noteness) (Read error: Software caused connection abort)
2025-08-28 05:28:06 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 05:28:28 +0200trickard_trickard
2025-08-28 05:31:22 +0200noteness(~noteness@user/noteness) nessessary129
2025-08-28 05:32:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 05:33:00 +0200Guest64(~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8)
2025-08-28 05:33:21 +0200aforemny_(~aforemny@2001:9e8:6ce1:6300:21a5:3c39:3acb:d09f) aforemny
2025-08-28 05:33:22 +0200aforemny(~aforemny@2001:9e8:6cc5:2e00:296d:a9d3:b7bc:dd10) (Ping timeout: 260 seconds)
2025-08-28 05:33:56 +0200divya(divya@140.238.251.170) divya
2025-08-28 05:34:57 +0200dutchie(~dutchie@user/dutchie) (Server closed connection)
2025-08-28 05:35:11 +0200dutchie(~dutchie@user/dutchie) dutchie
2025-08-28 05:37:02 +0200whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Server closed connection)
2025-08-28 05:37:10 +0200whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) whereiseveryone
2025-08-28 05:38:24 +0200dumptruckman(~dumptruck@66-175-211-75.ip.linodeusercontent.com) (Server closed connection)
2025-08-28 05:40:17 +0200Guest64(~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8) (Quit: Client closed)
2025-08-28 05:40:42 +0200dumptruckman(~dumptruck@66-175-211-75.ip.linodeusercontent.com)
2025-08-28 05:41:30 +0200Guest89(~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8)
2025-08-28 05:42:02 +0200Guest89(~Guest93@2607:fb91:14df:89a5:7967:c050:d094:51a8) (Client Quit)
2025-08-28 05:43:32 +0200segfaultfizzbuzz(~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
2025-08-28 05:43:50 +0200zlqrvx(~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3)
2025-08-28 05:43:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 05:47:27 +0200zlqrvx(~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) (Client Quit)
2025-08-28 05:47:50 +0200zlqrvx(~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3)
2025-08-28 05:48:54 +0200Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Server closed connection)
2025-08-28 05:49:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 05:49:27 +0200dutchie(~dutchie@user/dutchie) (Remote host closed the connection)
2025-08-28 05:49:30 +0200Raito_Bezarius(~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) Raito_Bezarius
2025-08-28 05:50:34 +0200pavonia(~user@user/siracusa) siracusa
2025-08-28 05:50:50 +0200praidnan(~weatflac@106.195.39.246)
2025-08-28 05:51:27 +0200emperori(~emperori@106.195.39.246)
2025-08-28 05:51:56 +0200dutchie(~dutchie@user/dutchie) dutchie
2025-08-28 05:57:54 +0200Googulator68(~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
2025-08-28 05:58:13 +0200Googulator68(~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
2025-08-28 05:59:40 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 06:00:44 +0200fgarcia(~lei@user/fgarcia) (Ping timeout: 256 seconds)
2025-08-28 06:01:26 +0200zlqrvx(~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) (Quit: ZNC 1.10.0 - https://znc.in)
2025-08-28 06:03:12 +0200Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 258 seconds)
2025-08-28 06:04:44 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 06:05:34 +0200fgarcia(~lei@user/fgarcia) fgarcia
2025-08-28 06:07:15 +0200praidnan_(~weatflac@106.195.34.92)
2025-08-28 06:09:30 +0200emperori(~emperori@106.195.39.246) (Ping timeout: 245 seconds)
2025-08-28 06:10:29 +0200praidnan(~weatflac@106.195.39.246) (Ping timeout: 258 seconds)
2025-08-28 06:15:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 06:16:48 +0200haveo(~weechat@pacamara.iuwt.fr) (Server closed connection)
2025-08-28 06:17:12 +0200haveo(~weechat@pacamara.iuwt.fr) haveo
2025-08-28 06:20:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 06:20:45 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 245 seconds)
2025-08-28 06:24:04 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-08-28 06:28:00 +0200ackthet(~ackthet@user/ackthet) (Server closed connection)
2025-08-28 06:28:19 +0200ackthet(~ackthet@user/ackthet) ackthet
2025-08-28 06:31:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 06:36:08 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 06:36:25 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 06:40:56 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 248 seconds)
2025-08-28 06:43:26 +0200mange(~mange@user/mange) mange
2025-08-28 06:43:31 +0200machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds)
2025-08-28 06:45:01 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-08-28 06:47:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 06:51:38 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-28 06:51:52 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-08-28 06:53:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 06:54:11 +0200segfaultfizzbuzz(~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
2025-08-28 07:00:37 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-28 07:02:50 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-08-28 07:05:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 07:07:16 +0200hakutaku(~textual@chen.yukari.eu.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2025-08-28 07:08:08 +0200hakutaku(~textual@chen.yukari.eu.org)
2025-08-28 07:09:51 +0200Yumemi(~Yumemi@chamoin.net) (Server closed connection)
2025-08-28 07:09:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-08-28 07:10:10 +0200Yumemi(~Yumemi@chamoin.net) Yumemi
2025-08-28 07:11:21 +0200hakutaku(~textual@chen.yukari.eu.org) (Client Quit)
2025-08-28 07:11:50 +0200hakutaku(~textual@chen.yukari.eu.org)
2025-08-28 07:12:20 +0200scysta(~tiara@152.173.218.186) (Quit: leaving)
2025-08-28 07:12:48 +0200michalz(~michalz@185.246.207.221)
2025-08-28 07:17:41 +0200emperori(~emperori@2401:4900:4dda:4015:95c:a6c1:f7d0:215)
2025-08-28 07:18:20 +0200trickard_trickard
2025-08-28 07:18:48 +0200aniketd(32aa4844cd@2a03:6000:1812:100::dcb) (Server closed connection)
2025-08-28 07:18:57 +0200aniketd(32aa4844cd@2a03:6000:1812:100::dcb) aniketd
2025-08-28 07:20:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 07:20:52 +0200biberu(~biberu@user/biberu) biberu
2025-08-28 07:21:39 +0200monochrom(trebla@216.138.220.146) (Quit: ZNC 1.9.1+deb2build2 - https://znc.in)
2025-08-28 07:26:00 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-08-28 07:28:09 +0200amadaluzia(~amadaluzi@user/amadaluzia) (Quit: ZNC 1.9.1 - https://znc.in)
2025-08-28 07:28:59 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2025-08-28 07:34:52 +0200amadaluzia(~amadaluzi@user/amadaluzia) amadaluzia
2025-08-28 07:36:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 07:37:08 +0200takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-08-28 07:39:24 +0200monochrom(trebla@216.138.220.146)
2025-08-28 07:39:24 +0200takuan(~takuan@d8D86B9E9.access.telenet.be) (Read error: Connection reset by peer)
2025-08-28 07:39:59 +0200takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-08-28 07:40:07 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 07:40:07 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 07:40:07 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 07:40:37 +0200amadaluzia(~amadaluzi@user/amadaluzia) (Quit: ZNC 1.9.1 - https://znc.in)
2025-08-28 07:41:02 +0200Aleksejs(~Aleksejs@107.170.21.106) (Server closed connection)
2025-08-28 07:41:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 07:43:13 +0200Aleksejs(~Aleksejs@107.170.21.106) aleksejs
2025-08-28 07:46:20 +0200praidnan_(~weatflac@106.195.34.92) (Quit: Lost terminal)
2025-08-28 07:48:13 +0200ringo_(~ringo@157.230.117.128) (Ping timeout: 244 seconds)
2025-08-28 07:48:56 +0200haritzondo(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-08-28 07:52:25 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 07:57:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-08-28 08:00:50 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-08-28 08:02:42 +0200ringo_(~ringo@157.230.117.128) ringo_
2025-08-28 08:06:46 +0200JamesMowery17736(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) JamesMowery
2025-08-28 08:08:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 08:09:07 +0200emperori(~emperori@2401:4900:4dda:4015:95c:a6c1:f7d0:215) (Ping timeout: 260 seconds)
2025-08-28 08:11:13 +0200JamesMowery17736(~JamesMowe@ip68-228-212-232.ph.ph.cox.net) (Client Quit)
2025-08-28 08:13:12 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 08:16:33 +0200tromp(~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
2025-08-28 08:23:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 08:24:26 +0200rembo10(~rembo10@main.remulis.com) (Server closed connection)
2025-08-28 08:24:30 +0200ringo_(~ringo@157.230.117.128) (Ping timeout: 252 seconds)
2025-08-28 08:24:40 +0200rembo10(~rembo10@main.remulis.com) rembo10
2025-08-28 08:25:23 +0200Googulator68(~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu) (Quit: Client closed)
2025-08-28 08:25:37 +0200Googulator68(~Googulato@2a01-036d-0106-28ad-d14e-68ce-c41e-4464.pool6.digikabel.hu)
2025-08-28 08:25:44 +0200ringo_(~ringo@157.230.117.128) ringo_
2025-08-28 08:26:22 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2025-08-28 08:26:23 +0200trickard(~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-08-28 08:26:36 +0200trickard_(~trickard@cpe-57-98-47-163.wireline.com.au)
2025-08-28 08:30:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 08:31:38 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-08-28 08:42:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 08:44:55 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
2025-08-28 08:46:06 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-08-28 08:47:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-08-28 08:48:29 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net)
2025-08-28 08:51:48 +0200dyniec(~dyniec@dybiec.info) (Server closed connection)
2025-08-28 08:52:01 +0200dyniec(~dyniec@dybiec.info)
2025-08-28 08:54:18 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2025-08-28 08:54:27 +0200ft(~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
2025-08-28 08:54:36 +0200 <haskellbridge> <sm> tomsmeding: No mention of them in the docs; #haskell-stack:matrix.org (https://matrix.to/#/#haskell-stack:matrix.org) will know
2025-08-28 08:54:54 +0200thatonelutenist(8216c46202@2a03:6000:1812:100::fb3) (Server closed connection)
2025-08-28 08:55:02 +0200thatonelutenist(8216c46202@2a03:6000:1812:100::fb3) thatonelutenist
2025-08-28 08:55:15 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net)
2025-08-28 08:55:19 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 258 seconds)
2025-08-28 08:55:38 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit)
2025-08-28 08:55:53 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-08-28 09:00:01 +0200caconym747(~caconym@user/caconym) (Quit: bye)
2025-08-28 09:00:42 +0200caconym747(~caconym@user/caconym) caconym
2025-08-28 09:02:48 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 09:03:37 +0200 <c_wraith> as far as I know, stack uses cabal to actually install packages. (separate from determining which ones to install and downloading them)
2025-08-28 09:03:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 09:04:12 +0200 <c_wraith> So it will support mix-ins used by packages that your project depends on
2025-08-28 09:06:41 +0200tromp(~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-28 09:09:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 09:09:24 +0200jreicher(~user@user/jreicher) (Quit: In transit)
2025-08-28 09:09:27 +0200 <Franciman> stack is one of the worst software i have ever seen in terms of ecosystem coexistence
2025-08-28 09:14:01 +0200hsw(~hsw@112-104-9-97.adsl.dynamic.seed.net.tw) hsw
2025-08-28 09:15:49 +0200 <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?)
2025-08-28 09:17:43 +0200 <haskellbridge> <Morj> At least stack has good documentation for all the features it supports ;-)
2025-08-28 09:22:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 09:26:14 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2025-08-28 09:26:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2025-08-28 09:27:12 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-08-28 09:30:24 +0200jess(meow@libera/staff/cat/jess) (Read error: Software caused connection abort)
2025-08-28 09:31:52 +0200jreicher(~user@user/jreicher) jreicher
2025-08-28 09:32:58 +0200jess(meow@libera/staff/cat/jess) jess
2025-08-28 09:34:58 +0200 <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
2025-08-28 09:37:30 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 09:41:46 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-08-28 09:41:53 +0200 <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)
2025-08-28 09:42:34 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-08-28 09:48:57 +0200mange(~mange@user/mange) (Quit: Quittin' time!)
2025-08-28 09:49:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 09:49:38 +0200 <Franciman> where is maerwald?
2025-08-28 09:50:17 +0200 <haskellbridge> <maerwald> what?
2025-08-28 09:51:45 +0200 <Franciman> what's up?
2025-08-28 09:51:52 +0200 <Franciman> how are you?
2025-08-28 09:52:02 +0200 <haskellbridge> <maerwald> fixing ghc and cabal
2025-08-28 09:53:03 +0200 <Franciman> cool
2025-08-28 09:54:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 09:54:09 +0200 <haskellbridge> <maerwald> What else is there to do
2025-08-28 09:56:58 +0200 <haskellbridge> <sm> Hmm. are mixins and backpack different names for the same thing ?
2025-08-28 09:58:09 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-08-28 09:58:46 +0200Googulator68Googulator
2025-08-28 10:03:33 +0200 <Franciman> backpack is a way to emulate certain of the properties of standard ml module system, iiuc
2025-08-28 10:03:44 +0200 <Franciman> aren't mixins a way to solve the expression problem?
2025-08-28 10:03:44 +0200paul(~paul@p200300d0c724c95b1313013fcbfec0be.dip0.t-ipconnect.de)
2025-08-28 10:03:48 +0200paulGuest8610
2025-08-28 10:04:07 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2025-08-28 10:04:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 10:04:53 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2025-08-28 10:05:12 +0200FANTOM(~fantom@87.74.59.94) (Ping timeout: 248 seconds)
2025-08-28 10:05:49 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
2025-08-28 10:06:22 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 255 seconds)
2025-08-28 10:07:38 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-08-28 10:09:09 +0200 <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."
2025-08-28 10:10:32 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 10:10:53 +0200 <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
2025-08-28 10:12:14 +0200 <Franciman> ah ok
2025-08-28 10:13:05 +0200 <sm> Also for anyone curious, this seems to be the main history of stack backpack support so far (2016..2024-08):
2025-08-28 10:13:11 +0200 <sm> https://github.com/commercialhaskell/stack/issues/2540
2025-08-28 10:13:14 +0200 <sm> https://github.com/commercialhaskell/stack/issues/4745
2025-08-28 10:13:17 +0200 <sm> https://github.com/commercialhaskell/stack/issues/6356
2025-08-28 10:14:36 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2025-08-28 10:15:13 +0200chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2025-08-28 10:15:17 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 10:19:01 +0200acidjnk(~acidjnk@p200300d6e7171930a0d4799db13e1f65.dip0.t-ipconnect.de) acidjnk
2025-08-28 10:19:59 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 10:19:59 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 10:19:59 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 10:20:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-08-28 10:22:16 +0200 <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
2025-08-28 10:22:56 +0200 <yushyin> I sometimes use mixins in my cabal files
2025-08-28 10:23:50 +0200tromp(~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
2025-08-28 10:24:14 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2025-08-28 10:27:42 +0200 <sm> yushyin, can stack build those packages ?
2025-08-28 10:29:03 +0200 <yushyin> Dunno, but stack repl doesn't work with mixins. One reason why I stopped using stack
2025-08-28 10:29:58 +0200 <haskellbridge> <sm> are any of them public ? I'm curious
2025-08-28 10:31:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 10:31:35 +0200 <Franciman> yushyin: i personally avoid cabal too
2025-08-28 10:31:46 +0200 <Franciman> boot packages + ghc is WAYYY GOOD
2025-08-28 10:32:16 +0200 <Franciman> fortunately for programming in the large, cabal is quite good nowadays
2025-08-28 10:32:51 +0200 <yushyin> sm: No, I don't use mixins in public repos as I know about stack not working with them
2025-08-28 10:33:17 +0200 <haskellbridge> <sm> fair enough
2025-08-28 10:33:23 +0200 <Franciman> is there any use case, nowadays, to use stack rather than cabal'
2025-08-28 10:33:25 +0200 <Franciman> ?
2025-08-28 10:33:49 +0200 <Franciman> iiuc stackage is purposefully obfuscated to avoid being compatible with cabal, but is ultimately a cabal freeze output
2025-08-28 10:34:52 +0200 <haskellbridge> <sm> Franciman, I don't think yuc :)
2025-08-28 10:36:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 10:36:04 +0200 <Franciman> what does yuc mean?
2025-08-28 10:36:09 +0200 <Franciman> sorry
2025-08-28 10:37:32 +0200 <haskellbridge> <sm> "you understand correctly"
2025-08-28 10:37:42 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 10:37:42 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 10:37:42 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 10:37:55 +0200 <Franciman> ty
2025-08-28 10:39:07 +0200darkling(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (Server closed connection)
2025-08-28 10:39:17 +0200darkling(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space)
2025-08-28 10:40:30 +0200PaulMartensen(15a119e437@2001:bc8:1210:2cd8::3bc)
2025-08-28 10:41:36 +0200FANTOM(~fantom@87.74.59.94)
2025-08-28 10:41:37 +0200Guest8610(~paul@p200300d0c724c95b1313013fcbfec0be.dip0.t-ipconnect.de) (Quit: Guest8610)
2025-08-28 10:42:20 +0200 <haskellbridge> <sm> the plot thickens once again: it seems there are private sublibraries, and public sublibraries, which should be considered separately
2025-08-28 10:42:54 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 260 seconds)
2025-08-28 10:45:46 +0200 <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.
2025-08-28 10:46:45 +0200trickard_trickard
2025-08-28 10:46:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 10:47:05 +0200 <Franciman> i see sm thanks
2025-08-28 10:50:57 +0200chele(~chele@user/chele) chele
2025-08-28 10:53:37 +0200FANTOM(~fantom@87.74.59.94) (Ping timeout: 248 seconds)
2025-08-28 10:54:03 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 10:54:03 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 10:54:03 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 10:55:09 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 10:55:42 +0200literon(~literon@2E8B6C41.catv.pool.telekom.hu)
2025-08-28 10:58:25 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2025-08-28 11:02:22 +0200ubert1(~Thunderbi@178.165.186.86.wireless.dyn.drei.com) ubert
2025-08-28 11:05:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 11:08:47 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2025-08-28 11:09:06 +0200FANTOM(~fantom@87.74.59.94)
2025-08-28 11:09:31 +0200Square3(~Square4@user/square) Square
2025-08-28 11:10:41 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 11:12:07 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 256 seconds)
2025-08-28 11:13:23 +0200tomboy64(~tomboy64@user/tomboy64) tomboy64
2025-08-28 11:17:59 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2025-08-28 11:20:40 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 11:20:40 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 11:20:40 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 11:21:28 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2025-08-28 11:21:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 11:25:29 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 260 seconds)
2025-08-28 11:28:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 11:35:22 +0200fp(~Thunderbi@wireless-86-50-141-108.open.aalto.fi) fp
2025-08-28 11:37:20 +0200lol_(~lol@2603:3016:1e01:b960:14c0:7a30:3283:d6ed) (Ping timeout: 256 seconds)
2025-08-28 11:38:30 +0200jcarpenter2(~lol@96.78.87.197)
2025-08-28 11:39:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 11:44:44 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 11:51:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 11:55:35 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 11:55:35 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 11:55:35 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 11:56:01 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 11:59:37 +0200confusedalex(~alex@user/confusedalex) confusedalex
2025-08-28 11:59:45 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2025-08-28 12:00:31 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-08-28 12:02:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 12:02:06 +0200 <kuribas> I find OOP is just a more restricted version of using HOFs.
2025-08-28 12:02:48 +0200 <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.
2025-08-28 12:06:17 +0200 <ski> a large part of it is programming with product types, with message-dispatching (as dual to sum types, with pattern-matching)
2025-08-28 12:06:26 +0200Lycurgus(~juan@user/Lycurgus) Lycurgus
2025-08-28 12:06:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 12:07:51 +0200 <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))
2025-08-28 12:10:00 +0200 <kuribas> The instance being the product type?
2025-08-28 12:10:30 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2025-08-28 12:11:39 +0200 <kuribas> It's true, I don't often see sum types in OOP, usualy they are implicit Unions.
2025-08-28 12:11:52 +0200 <kuribas> Using isinstance checks to distinguish between them.
2025-08-28 12:12:11 +0200 <kuribas> In Python I often use "Class1 | Class2" instead of a sum type.
2025-08-28 12:12:24 +0200h2t(~h2t@user/h2t) (Server closed connection)
2025-08-28 12:12:25 +0200 <kuribas> But for parsing it's sometimes useful to have discriminated unios.
2025-08-28 12:12:36 +0200 <kuribas> Then you get into the mess that is "pydantic".
2025-08-28 12:12:39 +0200h2t(~h2t@user/h2t) h2t
2025-08-28 12:13:42 +0200 <probie> Java these days has pattern matching and you can pretend you have sum types via sealed interfaces, if you want that :p
2025-08-28 12:14:10 +0200 <kuribas> like scala?
2025-08-28 12:14:23 +0200 <ski> consider `data Queue a = forall q. MkQ {stateQ :: q,enQ :: a -> q -> q,deQ :: q -> Maybe (q,a)}'
2025-08-28 12:14:41 +0200 <ski> you can then define wrappers, for invoking the methods
2025-08-28 12:15:37 +0200davean(~davean@davean.sciesnet.net) (Server closed connection)
2025-08-28 12:15:55 +0200davean(~davean@davean.sciesnet.net) davean
2025-08-28 12:16:56 +0200 <ski> enqueue :: a -> Queue a -> Queue a
2025-08-28 12:17:03 +0200 <ski> enqueue x (MkQ q enQ deQ) = MkQ (enQ x q) enQ deQ
2025-08-28 12:17:05 +0200 <ski> and
2025-08-28 12:17:12 +0200 <ski> dequeue :: Queue a -> Maybe (Queue a,a)
2025-08-28 12:17:16 +0200 <ski> dequeue (MkQ q enQ deQ) = fmap (\(q,x) -> (MkQ q enQ deQ)) (deQ q)
2025-08-28 12:17:24 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 12:17:33 +0200 <ski> and then you can define a class, like
2025-08-28 12:18:28 +0200 <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.
2025-08-28 12:18:51 +0200 <ski> newListQueue :: Queue a
2025-08-28 12:19:04 +0200 <ski> newListQueue = MkQ [] enQ deQ
2025-08-28 12:19:08 +0200 <ski> where
2025-08-28 12:19:18 +0200 <ski> enQ x xs = xs ++ [x]
2025-08-28 12:19:28 +0200 <ski> deQ [ ] = Nothing
2025-08-28 12:19:41 +0200 <ski> deQ (x:xs) = Just (xs,x)
2025-08-28 12:19:58 +0200 <ski> and you can imagine more efficient implementations
2025-08-28 12:21:39 +0200 <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)}'
2025-08-28 12:22:25 +0200 <ski> (and then you're redefine the wrappers `enqueue' and `dequeue', for this representation)
2025-08-28 12:22:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 12:23:20 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds)
2025-08-28 12:23:39 +0200 <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
2025-08-28 12:24:37 +0200 <Franciman> what does principled mean?
2025-08-28 12:24:48 +0200 <probie> less ad-hoc
2025-08-28 12:25:59 +0200 <ski> if you don't have sealed, or something similar, there's no guarantee there won't be alternatives which are not covered
2025-08-28 12:28:43 +0200 <ski> btw, if you imagine `codata Queue a where Enqueue :: a -> Queue a -> Queue a; Dequeue :: Queue a', then one could define `newListQueue' as
2025-08-28 12:28:55 +0200 <ski> newListQueue :: Queue a
2025-08-28 12:29:03 +0200 <jreicher> The correspondence (if any) between OO and FP is further confused by the OO concept of a class conflating type and implementation.
2025-08-28 12:29:14 +0200 <ski> newListQueue = listQueue []
2025-08-28 12:29:21 +0200 <ski> where
2025-08-28 12:29:21 +0200 <jreicher> IMO you really gotta be careful with that in OO
2025-08-28 12:29:48 +0200 <ski> Enqueue x (listQueue xs) = listQueue (xs ++ [x])
2025-08-28 12:29:59 +0200 <ski> Dequeue (listQueue [ ]) = Nothing
2025-08-28 12:30:12 +0200 <ski> Dequeue (listQueue (x:xs)) = Just (listQueue xs,x)
2025-08-28 12:30:19 +0200 <ski> yes, jreicher
2025-08-28 12:31:33 +0200 <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)
2025-08-28 12:31:58 +0200 <Franciman> i see OO as more of a ontological programme
2025-08-28 12:32:25 +0200 <Franciman> than an actual way of implementing stuff. So while i agree that all OO languages bottle the implementation side
2025-08-28 12:32:31 +0200 <Franciman> i wouldn't say FP is opposed to OO
2025-08-28 12:32:45 +0200takuan(~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-08-28 12:32:54 +0200 <ski> "OO" can mean many different things (as can "FP")
2025-08-28 12:33:08 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 12:33:15 +0200 <Franciman> the issue with OO is probably how they put mutable state inside things
2025-08-28 12:33:19 +0200 <Franciman> in a non-controlled wy
2025-08-28 12:33:27 +0200 <ski> one useful way to contrast and compare, is to focus on the product vs. sum type distinction
2025-08-28 12:33:31 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 248 seconds)
2025-08-28 12:33:31 +0200 <jreicher> My take is that FP is a high-level OO. It creates an manages the objects for you.
2025-08-28 12:33:45 +0200 <ski> you can do immutable OO
2025-08-28 12:33:57 +0200 <ski> (O'Haskell, later Timber, did this)
2025-08-28 12:34:10 +0200 <ski> oh, and OCaml supports it, as well
2025-08-28 12:34:16 +0200 <jreicher> I believe it's fairly well accepted that a closure is a prototypical immutable object, and a thunk is a prototypical mutable one.
2025-08-28 12:34:49 +0200jreicher(~user@user/jreicher) (Quit: In transit)
2025-08-28 12:35:18 +0200 <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
2025-08-28 12:35:26 +0200 <ski> to me, "closure" is a particular implementation technique, used for delayed computation values (like first-class function values, "objects", continuations, promises, ..)
2025-08-28 12:35:53 +0200 <Lycurgus> communicating objects is downtown OOP
2025-08-28 12:35:56 +0200 <ski> "thunk" doesn't particularly convey any connotation of mutation, to me
2025-08-28 12:36:00 +0200segfaultfizzbuzz(~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
2025-08-28 12:36:22 +0200 <ski> (it might imply mutation. but might also not imply it. depending on the particular case)
2025-08-28 12:36:37 +0200__monty__(~toonn@user/toonn) toonn
2025-08-28 12:36:44 +0200 <Lycurgus> there's a legalistic 3 or 4 part qualifying list, encapsulation, inheritance, etc
2025-08-28 12:36:47 +0200 <ski> in Scheme, "thunk" often refers to any procedure taking no parameters
2025-08-28 12:36:56 +0200 <Lycurgus> polymorphism, i forget the other
2025-08-28 12:38:01 +0200Lycurgusremembers when OOP was new
2025-08-28 12:38:23 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 12:38:27 +0200 <Lycurgus> and FP had already been araound a while
2025-08-28 12:39:37 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6)
2025-08-28 12:39:37 +0200arandombit(~arandombi@2603:7000:4600:ffbe:2ca2:a28f:2f37:22f6) (Changing host)
2025-08-28 12:39:37 +0200arandombit(~arandombi@user/arandombit) arandombit
2025-08-28 12:39:55 +0200 <Lycurgus> biz likes OOP and it is foundational and presumed in modern data processing
2025-08-28 12:41:22 +0200 <Lycurgus> but doers of this time were mostly born after OOP began and even after its universal adoption
2025-08-28 12:41:40 +0200 <Lycurgus> in the 90s
2025-08-28 12:42:43 +0200 <Lycurgus> the once exciting and magical is for them the old crusty and banal
2025-08-28 12:43:04 +0200segfaultfizzbuzz(~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2025-08-28 12:44:23 +0200 <ski> <https://web.archive.org/web/20061014103835/http://community.schemewiki.org/?p=object-oriented-prog…> lists nine different aspects
2025-08-28 12:45:49 +0200 <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
2025-08-28 12:46:39 +0200 <Lycurgus> yeah that list is bloated and repetitive
2025-08-28 12:46:54 +0200takuan(~takuan@d8D86B9E9.access.telenet.be)
2025-08-28 12:47:10 +0200 <Lycurgus> you could say st was the species specimen, model type whatever
2025-08-28 12:47:25 +0200 <ski> SmallTalk ?
2025-08-28 12:47:31 +0200 <Lycurgus> y
2025-08-28 12:47:43 +0200 <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
2025-08-28 12:48:00 +0200 <Lycurgus> it also came about a decade later
2025-08-28 12:48:49 +0200fp(~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 248 seconds)
2025-08-28 12:48:52 +0200 <Lycurgus> and in a sense didn really gel in stable stuff ppl actually use till much later
2025-08-28 12:48:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 12:49:21 +0200 <Lycurgus> CLOS was shaky in my perception till after the turn of the century
2025-08-28 12:49:54 +0200fp(~Thunderbi@wireless-86-50-141-108.open.aalto.fi) fp
2025-08-28 12:50:13 +0200 <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
2025-08-28 12:50:18 +0200 <Lycurgus> in terms of you could expect it would just work in an implementation
2025-08-28 12:50:55 +0200 <Lycurgus> well you can see how transformative it is compared to the flat code scene b4 it
2025-08-28 12:51:03 +0200 <ski> (as compared to plain structured (but not necessarily modular) programming, that is)
2025-08-28 12:51:28 +0200 <Lycurgus> 'structured programming' which produced pascal was the preceeding big thiing
2025-08-28 12:51:39 +0200 <ski> right
2025-08-28 12:52:32 +0200 <Lycurgus> which basically meant no uglu bowsl of spagheeti
2025-08-28 12:52:32 +0200 <ski> insisting on single-entry and single-exit control structures (to avoid spaghetti programming)
2025-08-28 12:52:50 +0200 <Lycurgus> *ugly
2025-08-28 12:53:15 +0200 <Lycurgus> *bowls
2025-08-28 12:53:31 +0200 <ski> (and short-circuit facilities, like `&&' and `||', as well as `return',`break',`continue', are all deviations from this)
2025-08-28 12:54:17 +0200 <Lycurgus> *spaghetti
2025-08-28 12:54:54 +0200 <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
2025-08-28 12:55:16 +0200 <sajenim> haskell was my first language, now at school they are teaching java
2025-08-28 12:55:25 +0200 <sajenim> and it's fr frustrating
2025-08-28 12:55:31 +0200 <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)
2025-08-28 12:55:44 +0200 <ski> i feel your pain, sajenim
2025-08-28 12:55:55 +0200 <Lycurgus> well CLOS is just the aptheosis of OOP as u'd expect for the lang
2025-08-28 12:56:00 +0200 <sajenim> idk how my prof has a phd his code stinks
2025-08-28 12:56:07 +0200 <Lycurgus> *apotheosis
2025-08-28 12:56:38 +0200tromp(~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-08-28 12:56:44 +0200 <sajenim> he turns everything into a 160 column 1 liner
2025-08-28 12:56:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-28 12:56:57 +0200 <Lycurgus> so it's not surprising it took a while for the defacto thing outta PCL to become what ppl call CLOS now
2025-08-28 12:57:52 +0200 <ski> i guess he has a high resolution screen, sajenim
2025-08-28 12:58:14 +0200 <Lycurgus> concision freak maybe
2025-08-28 12:58:16 +0200 <sajenim> i have 1440p aswell, but like what about multiple files open
2025-08-28 12:58:53 +0200 <ski> too long lines tend to be hard to read (hard to quickly see where the next line starts), also in prose text
2025-08-28 12:58:58 +0200jreicher(~user@user/jreicher) jreicher
2025-08-28 12:58:59 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2025-08-28 12:59:00 +0200takuan(~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-08-28 12:59:46 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
2025-08-28 12:59:58 +0200 <sajenim> my peers called me a bad coder because i mentioned it's frustrating reading his wall of text
2025-08-28 13:00:04 +0200caconym747(~caconym@user/caconym) (Quit: bye)
2025-08-28 13:01:15 +0200 <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
2025-08-28 13:01:38 +0200 <sajenim> i did read something along the lines of what you are saying
2025-08-28 13:01:44 +0200fp(~Thunderbi@wireless-86-50-141-108.open.aalto.fi) (Ping timeout: 260 seconds)
2025-08-28 13:01:50 +0200 <sajenim> in relation to academia
2025-08-28 13:02:12 +0200caconym747(~caconym@user/caconym) caconym
2025-08-28 13:03:42 +0200 <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.
2025-08-28 13:04:51 +0200 <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
2025-08-28 13:04:51 +0200 <ski> yes. aka an implementation strategy for a delayed computation
2025-08-28 13:04:56 +0200fp(~Thunderbi@2001:708:150:10::72df) fp
2025-08-28 13:05:14 +0200 <Franciman> 30 years of research and implementation bottled by a interpreter done in 2 hours
2025-08-28 13:06:00 +0200 <Franciman> if P = NP, life would be brutal
2025-08-28 13:06:09 +0200 <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")
2025-08-28 13:07:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-28 13:13:45 +0200 <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
2025-08-28 13:14:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-08-28 13:15:26 +0200 <jreicher> You might want to check the difference between constructive and non-constructive proofs before you get comfortable with that
2025-08-28 13:15:50 +0200califax(~califax@user/califx) (Remote host closed the connection)
2025-08-28 13:16:47 +0200 <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
2025-08-28 13:17:04 +0200califax(~califax@user/califx) califx
2025-08-28 13:17:09 +0200 <Lycurgus> having a considered opition is enough for a humble doer like myself
2025-08-28 13:18:49 +0200 <Lycurgus> *opinion
2025-08-28 13:19:26 +0200 <jreicher> Church's thesis can't be proven. That's why it's a thesis. :)
2025-08-28 13:19:57 +0200 <Lycurgus> so what to you call P = NP, a conjecture?
2025-08-28 13:20:04 +0200 <Lycurgus> *do you
2025-08-28 13:20:10 +0200humasect(~humasect@dyn-192-249-132-90.nexicom.net)
2025-08-28 13:22:38 +0200 <jreicher> Yes, it's a conjecture. It's liable to formal proof, disproof, or independence.
2025-08-28 13:22:55 +0200 <Leary> 'Conjecture' suggests that it's considered likely to hold. I would just call it an open question.
2025-08-28 13:25:46 +0200 <kuribas> OO or actor model are good for large scale parts, where each part is self contained, and communicates with messaging.
2025-08-28 13:26:01 +0200 <Lycurgus> my feels are that proving church's thesis is like proving there's no god
2025-08-28 13:26:04 +0200 <kuribas> Using OO for numbers is ridiculous IMO, why send a message to add two numbers.
2025-08-28 13:26:10 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2025-08-28 13:27:19 +0200 <kuribas> The cell analogy for OOP shows this clearly, a cell is a super complicated things, maybe even more than your whole computer.
2025-08-28 13:27:49 +0200 <kuribas> It's not a thing that magically heals and solves problems.
2025-08-28 13:28:13 +0200 <Lycurgus> being life itself atomically dont count?
2025-08-28 13:29:11 +0200califax(~califax@user/califx) (Remote host closed the connection)
2025-08-28 13:29:53 +0200 <Lycurgus> and yeah good analogy if you just look at cells as bags with some properties or structure, i.e an abstraction
2025-08-28 13:29:56 +0200 <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.
2025-08-28 13:30:35 +0200 <kuribas> Lycurgus: the cell analogy was used by Alan Kay.
2025-08-28 13:30:48 +0200 <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
2025-08-28 13:32:37 +0200xff0x(~xff0x@2405:6580:b080:900:b44c:4dd6:a7f0:d125)
2025-08-28 13:32:40 +0200 <Lycurgus> kuribas, ack
2025-08-28 13:33:57 +0200califax(~califax@user/califx) califx
2025-08-28 13:34:24 +0200haritz(~hrtz@209.35.65.79)
2025-08-28 13:34:24 +0200haritz(~hrtz@209.35.65.79) (Changing host)
2025-08-28 13:34:24 +0200haritz(~hrtz@user/haritz) haritz
2025-08-28 13:38:17 +0200tromp(~textual@2001:1c00:3487:1b00:6941:8da5:79d5:ac1b)
2025-08-28 13:39:34 +0200 <kuribas> I think organic is taken synonym with self organising, effortless, ...
2025-08-28 13:41:00 +0200 <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.
2025-08-28 13:43:09 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 260 seconds)
2025-08-28 13:43:47 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-08-28 13:48:43 +0200 <Franciman> jreicher: i also like to see it as an empirical law
2025-08-28 13:48:50 +0200 <Franciman> like newton's gravity laws
2025-08-28 13:49:03 +0200 <Franciman> you keep it while it holds, then when somebody comes up with realtivity
2025-08-28 13:49:05 +0200 <Franciman> you drop it