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