2024/12/04

2024-12-04 00:00:39 +0100alp(~alp@2001:861:8ca0:4940:e76a:7d36:8adc:27e3) (Remote host closed the connection)
2024-12-04 00:00:58 +0100alp(~alp@2001:861:8ca0:4940:2134:167a:303d:5617)
2024-12-04 00:02:20 +0100alp(~alp@2001:861:8ca0:4940:2134:167a:303d:5617) (Remote host closed the connection)
2024-12-04 00:02:36 +0100joeyadams(~joeyadams@syn-184-054-105-097.res.spectrum.com)
2024-12-04 00:02:37 +0100alp(~alp@2001:861:8ca0:4940:32d1:b188:aa8d:80b0)
2024-12-04 00:04:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 00:04:01 +0100alp(~alp@2001:861:8ca0:4940:32d1:b188:aa8d:80b0) (Remote host closed the connection)
2024-12-04 00:04:18 +0100alp(~alp@2001:861:8ca0:4940:53e6:2ee0:3c96:ba17)
2024-12-04 00:05:42 +0100alp(~alp@2001:861:8ca0:4940:53e6:2ee0:3c96:ba17) (Remote host closed the connection)
2024-12-04 00:05:59 +0100alp(~alp@2001:861:8ca0:4940:8cdb:a56:d144:a524)
2024-12-04 00:06:00 +0100gawen(~gawen@user/gawen) gawen
2024-12-04 00:07:41 +0100alp_(~alp@2001:861:8ca0:4940:b7d8:58c7:6786:7d57)
2024-12-04 00:07:55 +0100pdxleif(~ubuntu@ec2-35-163-144-64.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2024-12-04 00:08:59 +0100xff0x(~xff0x@2405:6580:b080:900:2e90:f46e:2f28:18f7) (Ping timeout: 260 seconds)
2024-12-04 00:09:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-04 00:09:24 +0100alp__(~alp@2001:861:8ca0:4940:19e:b817:16a3:105c)
2024-12-04 00:09:46 +0100xff0x(~xff0x@2405:6580:b080:900:2aec:ff1e:1898:31f2)
2024-12-04 00:10:45 +0100alp(~alp@2001:861:8ca0:4940:8cdb:a56:d144:a524) (Ping timeout: 248 seconds)
2024-12-04 00:10:47 +0100alp__(~alp@2001:861:8ca0:4940:19e:b817:16a3:105c) (Remote host closed the connection)
2024-12-04 00:11:04 +0100alp__(~alp@2001:861:8ca0:4940:e5c2:6c92:e493:e6dd)
2024-12-04 00:12:29 +0100alp__(~alp@2001:861:8ca0:4940:e5c2:6c92:e493:e6dd) (Remote host closed the connection)
2024-12-04 00:12:46 +0100alp__(~alp@2001:861:8ca0:4940:8cf8:84fd:c29d:ded4)
2024-12-04 00:12:53 +0100alp_(~alp@2001:861:8ca0:4940:b7d8:58c7:6786:7d57) (Ping timeout: 248 seconds)
2024-12-04 00:14:12 +0100alp__(~alp@2001:861:8ca0:4940:8cf8:84fd:c29d:ded4) (Remote host closed the connection)
2024-12-04 00:14:28 +0100alp__(~alp@2001:861:8ca0:4940:e711:d17b:85ba:6e68)
2024-12-04 00:15:54 +0100alp__(~alp@2001:861:8ca0:4940:e711:d17b:85ba:6e68) (Remote host closed the connection)
2024-12-04 00:16:11 +0100alp__(~alp@2001:861:8ca0:4940:da39:ecb7:24a3:fa7c)
2024-12-04 00:17:09 +0100tuxpaint(~a@put.gay) (Quit: gn)
2024-12-04 00:17:28 +0100tuxpaint(~a@put.gay)
2024-12-04 00:17:36 +0100alp__(~alp@2001:861:8ca0:4940:da39:ecb7:24a3:fa7c) (Remote host closed the connection)
2024-12-04 00:17:53 +0100alp__(~alp@2001:861:8ca0:4940:248:7c82:2e7e:d482)
2024-12-04 00:19:02 +0100rvalue(~rvalue@user/rvalue) (Quit: ZNC - https://znc.in)
2024-12-04 00:19:18 +0100alp__(~alp@2001:861:8ca0:4940:248:7c82:2e7e:d482) (Remote host closed the connection)
2024-12-04 00:19:35 +0100alp__(~alp@2001:861:8ca0:4940:6255:bcf2:af03:3641)
2024-12-04 00:19:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 00:20:13 +0100machined1od(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-04 00:20:35 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Read error: Connection reset by peer)
2024-12-04 00:21:00 +0100alp__(~alp@2001:861:8ca0:4940:6255:bcf2:af03:3641) (Remote host closed the connection)
2024-12-04 00:21:17 +0100alp__(~alp@2001:861:8ca0:4940:487b:94b7:43cf:3ccc)
2024-12-04 00:22:42 +0100alp__(~alp@2001:861:8ca0:4940:487b:94b7:43cf:3ccc) (Remote host closed the connection)
2024-12-04 00:22:59 +0100alp__(~alp@2001:861:8ca0:4940:e89d:a86a:2e60:67c5)
2024-12-04 00:24:25 +0100alp__(~alp@2001:861:8ca0:4940:e89d:a86a:2e60:67c5) (Remote host closed the connection)
2024-12-04 00:24:42 +0100alp__(~alp@2001:861:8ca0:4940:5270:bdae:7548:3af1)
2024-12-04 00:24:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-04 00:26:06 +0100alp__(~alp@2001:861:8ca0:4940:5270:bdae:7548:3af1) (Remote host closed the connection)
2024-12-04 00:26:23 +0100alp__(~alp@2001:861:8ca0:4940:4cea:f7a:2dd7:2a8)
2024-12-04 00:27:48 +0100alp__(~alp@2001:861:8ca0:4940:4cea:f7a:2dd7:2a8) (Remote host closed the connection)
2024-12-04 00:28:05 +0100alp__(~alp@2001:861:8ca0:4940:c06:15fd:dd93:fa63)
2024-12-04 00:29:30 +0100alp__(~alp@2001:861:8ca0:4940:c06:15fd:dd93:fa63) (Remote host closed the connection)
2024-12-04 00:29:47 +0100alp__(~alp@2001:861:8ca0:4940:1d46:1aa0:4e7f:b2f9)
2024-12-04 00:31:30 +0100alp_(~alp@2001:861:8ca0:4940:73f1:fc81:eaca:26f6)
2024-12-04 00:32:55 +0100alp_(~alp@2001:861:8ca0:4940:73f1:fc81:eaca:26f6) (Remote host closed the connection)
2024-12-04 00:33:12 +0100alp_(~alp@2001:861:8ca0:4940:7e12:ac14:b600:1a67)
2024-12-04 00:34:33 +0100alp__(~alp@2001:861:8ca0:4940:1d46:1aa0:4e7f:b2f9) (Ping timeout: 246 seconds)
2024-12-04 00:34:37 +0100alp_(~alp@2001:861:8ca0:4940:7e12:ac14:b600:1a67) (Remote host closed the connection)
2024-12-04 00:34:53 +0100alp_(~alp@2001:861:8ca0:4940:8a72:4fa4:8dbc:5fb1)
2024-12-04 00:35:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 00:36:19 +0100alp_(~alp@2001:861:8ca0:4940:8a72:4fa4:8dbc:5fb1) (Remote host closed the connection)
2024-12-04 00:36:36 +0100alp_(~alp@2001:861:8ca0:4940:e2d0:740d:3023:9109)
2024-12-04 00:38:01 +0100alp_(~alp@2001:861:8ca0:4940:e2d0:740d:3023:9109) (Remote host closed the connection)
2024-12-04 00:38:05 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-12-04 00:38:18 +0100alp_(~alp@2001:861:8ca0:4940:bc0e:2aee:6a22:2d20)
2024-12-04 00:39:43 +0100alp_(~alp@2001:861:8ca0:4940:bc0e:2aee:6a22:2d20) (Remote host closed the connection)
2024-12-04 00:40:00 +0100alp_(~alp@2001:861:8ca0:4940:658:5d41:1e17:177a)
2024-12-04 00:40:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-04 00:41:44 +0100alp__(~alp@2001:861:8ca0:4940:f868:e2da:2313:3292)
2024-12-04 00:43:07 +0100alp__(~alp@2001:861:8ca0:4940:f868:e2da:2313:3292) (Remote host closed the connection)
2024-12-04 00:43:25 +0100alp__(~alp@2001:861:8ca0:4940:a1d4:8f5:ea39:48)
2024-12-04 00:44:42 +0100alp_(~alp@2001:861:8ca0:4940:658:5d41:1e17:177a) (Ping timeout: 246 seconds)
2024-12-04 00:45:07 +0100alp_(~alp@2001:861:8ca0:4940:8329:3732:b124:24b7)
2024-12-04 00:46:31 +0100alp_(~alp@2001:861:8ca0:4940:8329:3732:b124:24b7) (Remote host closed the connection)
2024-12-04 00:46:49 +0100alp_(~alp@2001:861:8ca0:4940:6376:2500:12a5:17ce)
2024-12-04 00:48:13 +0100alp_(~alp@2001:861:8ca0:4940:6376:2500:12a5:17ce) (Remote host closed the connection)
2024-12-04 00:48:32 +0100alp_(~alp@2001:861:8ca0:4940:6e86:45d3:7da3:dca9)
2024-12-04 00:48:50 +0100alp__(~alp@2001:861:8ca0:4940:a1d4:8f5:ea39:48) (Ping timeout: 260 seconds)
2024-12-04 00:49:56 +0100alp_(~alp@2001:861:8ca0:4940:6e86:45d3:7da3:dca9) (Remote host closed the connection)
2024-12-04 00:50:13 +0100alp_(~alp@2001:861:8ca0:4940:787f:767d:4686:fe80)
2024-12-04 00:51:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 00:51:37 +0100alp_(~alp@2001:861:8ca0:4940:787f:767d:4686:fe80) (Remote host closed the connection)
2024-12-04 00:51:56 +0100alp_(~alp@2001:861:8ca0:4940:8598:7fdf:3873:87a8)
2024-12-04 00:53:20 +0100alp_(~alp@2001:861:8ca0:4940:8598:7fdf:3873:87a8) (Remote host closed the connection)
2024-12-04 00:53:37 +0100alp_(~alp@2001:861:8ca0:4940:32ee:f693:b590:f66c)
2024-12-04 00:55:02 +0100alp_(~alp@2001:861:8ca0:4940:32ee:f693:b590:f66c) (Remote host closed the connection)
2024-12-04 00:55:20 +0100alp_(~alp@2001:861:8ca0:4940:2099:9745:f1c7:8705)
2024-12-04 00:56:04 +0100tylerhou(~tylerhou@user/tylerhou) (Quit: Client closed)
2024-12-04 00:56:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 00:56:44 +0100alp_(~alp@2001:861:8ca0:4940:2099:9745:f1c7:8705) (Remote host closed the connection)
2024-12-04 00:57:02 +0100alp_(~alp@2001:861:8ca0:4940:ab2:c635:31cc:2871)
2024-12-04 00:57:09 +0100acidjnk_new3(~acidjnk@p200300d6e7283f756566d9820eaa5300.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-12-04 00:58:26 +0100alp_(~alp@2001:861:8ca0:4940:ab2:c635:31cc:2871) (Remote host closed the connection)
2024-12-04 00:58:43 +0100alp_(~alp@2001:861:8ca0:4940:5aee:7e5d:1206:a620)
2024-12-04 00:58:59 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 252 seconds)
2024-12-04 01:00:08 +0100alp_(~alp@2001:861:8ca0:4940:5aee:7e5d:1206:a620) (Remote host closed the connection)
2024-12-04 01:00:25 +0100alp_(~alp@2001:861:8ca0:4940:a886:2477:d10a:75c1)
2024-12-04 01:01:19 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-12-04 01:02:09 +0100alp__(~alp@128-79-174-146.hfc.dyn.abo.bbox.fr)
2024-12-04 01:03:35 +0100gawen(~gawen@user/gawen) (Quit: cya)
2024-12-04 01:03:49 +0100iqubic(~sophia@2601:602:9201:9440:6112:c36d:f068:3b4f) (Ping timeout: 260 seconds)
2024-12-04 01:05:13 +0100alp_(~alp@2001:861:8ca0:4940:a886:2477:d10a:75c1) (Ping timeout: 252 seconds)
2024-12-04 01:06:43 +0100iqubic(~sophia@2601:602:9201:9440:9777:a5e9:365:fd69) iqubic
2024-12-04 01:06:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 01:08:14 +0100j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-12-04 01:10:05 +0100agent314(~quassel@static-198-54-130-91.cust.tzulo.com) agent314
2024-12-04 01:10:36 +0100 <Leary> @tell tylerhou `Fix` is a functor from the category of endofunctors on Hask to Hask; your `lift` corresponds to `fmap`, mapping the morphisms of the former (natural transformations) to to those of the latter (arrows).
2024-12-04 01:10:36 +0100 <lambdabot> Consider it noted.
2024-12-04 01:11:08 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-12-04 01:11:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 01:11:52 +0100gawen(~gawen@user/gawen) gawen
2024-12-04 01:12:21 +0100j1n37(~j1n37@user/j1n37) j1n37
2024-12-04 01:12:46 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2024-12-04 01:15:29 +0100ByronJohnson(~bairyn@50.250.232.19) (Remote host closed the connection)
2024-12-04 01:18:49 +0100agent314(~quassel@static-198-54-130-91.cust.tzulo.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-12-04 01:22:41 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 01:23:26 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-04 01:23:59 +0100sprotte24(~sprotte24@p200300d16f4231002957a791852bdd2a.dip0.t-ipconnect.de) (Quit: Leaving)
2024-12-04 01:29:27 +0100j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-12-04 01:29:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-04 01:34:11 +0100j1n37(~j1n37@user/j1n37) j1n37
2024-12-04 01:34:51 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-04 01:34:55 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-04 01:37:36 +0100weary-traveler(~user@user/user363627) user363627
2024-12-04 01:40:15 +0100pera(~pera@user/pera) pera
2024-12-04 01:40:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 01:46:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 01:47:23 +0100mange(~user@user/mange) (Ping timeout: 252 seconds)
2024-12-04 01:47:42 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-04 01:50:48 +0100dolio(~dolio@130.44.140.168) dolio
2024-12-04 01:50:50 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-12-04 01:51:56 +0100euleritian(~euleritia@77.22.252.159)
2024-12-04 01:52:25 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
2024-12-04 01:54:13 +0100euleritian(~euleritia@77.22.252.159) (Read error: Connection reset by peer)
2024-12-04 01:54:28 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-12-04 01:56:31 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 01:59:20 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-04 02:01:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-04 02:01:58 +0100mange(~user@user/mange) mange
2024-12-04 02:01:58 +0100mange(~user@user/mange) (Excess Flood)
2024-12-04 02:03:33 +0100Guest33(~Guest33@14.139.38.209)
2024-12-04 02:04:30 +0100Guest33(~Guest33@14.139.38.209) (Client Quit)
2024-12-04 02:04:36 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-04 02:06:02 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-12-04 02:07:35 +0100 <monochrom> >:)
2024-12-04 02:09:53 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-12-04 02:12:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 02:17:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-04 02:17:12 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 02:24:09 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-04 02:28:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 02:29:03 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2024-12-04 02:30:15 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de)
2024-12-04 02:32:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 02:43:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 02:48:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 02:52:12 +0100emma-underscores(~quassel@204.187.100.82) ()
2024-12-04 02:57:56 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-04 02:59:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 03:02:30 +0100Buliarous(~gypsydang@46.232.210.139) (Remote host closed the connection)
2024-12-04 03:02:58 +0100pera(~pera@user/pera) (Quit: leaving)
2024-12-04 03:03:25 +0100Buliarous(~gypsydang@46.232.210.139) Buliarous
2024-12-04 03:04:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-04 03:14:29 +0100machined1od(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds)
2024-12-04 03:15:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 03:19:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-04 03:30:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 03:33:50 +0100joeyadams(~joeyadams@syn-184-054-105-097.res.spectrum.com) (Quit: Leaving)
2024-12-04 03:34:23 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-04 03:35:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-04 03:41:43 +0100Everything(~Everythin@46-133-12-50.mobile.vf-ua.net) (Quit: leaving)
2024-12-04 03:46:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 03:51:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 03:53:54 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-12-04 03:54:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-12-04 03:54:49 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-04 04:02:13 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 04:06:57 +0100td_(~td@i5387091F.versanet.de) (Ping timeout: 248 seconds)
2024-12-04 04:08:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 04:08:59 +0100td_(~td@i53870906.versanet.de) td_
2024-12-04 04:20:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 04:23:06 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-04 04:24:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-04 04:31:58 +0100alp__(~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Remote host closed the connection)
2024-12-04 04:32:16 +0100alp__(~alp@2001:861:8ca0:4940:fc7d:2254:175b:29dd)
2024-12-04 04:33:59 +0100alp_(~alp@2001:861:8ca0:4940:68d:72c1:d8a6:4577)
2024-12-04 04:35:23 +0100alp_(~alp@2001:861:8ca0:4940:68d:72c1:d8a6:4577) (Remote host closed the connection)
2024-12-04 04:35:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 04:35:40 +0100alp_(~alp@2001:861:8ca0:4940:1baf:64f4:e1ae:5b74)
2024-12-04 04:37:05 +0100alp_(~alp@2001:861:8ca0:4940:1baf:64f4:e1ae:5b74) (Remote host closed the connection)
2024-12-04 04:37:09 +0100alp__(~alp@2001:861:8ca0:4940:fc7d:2254:175b:29dd) (Ping timeout: 252 seconds)
2024-12-04 04:37:22 +0100alp_(~alp@2001:861:8ca0:4940:4ba7:cb8a:c26a:d8d0)
2024-12-04 04:39:06 +0100alp__(~alp@2001:861:8ca0:4940:5a62:c4d4:e730:577a)
2024-12-04 04:40:46 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 04:41:53 +0100ByronJohnson(~bairyn@50.250.232.19) (Remote host closed the connection)
2024-12-04 04:42:17 +0100alp_(~alp@2001:861:8ca0:4940:4ba7:cb8a:c26a:d8d0) (Ping timeout: 252 seconds)
2024-12-04 04:44:07 +0100alp__(~alp@2001:861:8ca0:4940:5a62:c4d4:e730:577a) (Ping timeout: 252 seconds)
2024-12-04 04:51:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 04:59:33 +0100koolazer(~koo@user/koolazer) koolazer
2024-12-04 05:01:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 05:12:31 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 05:17:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 05:17:47 +0100aforemny_(~aforemny@2001:9e8:6cc3:9500:59e1:615b:5b80:729c) aforemny
2024-12-04 05:18:43 +0100aforemny(~aforemny@2001:9e8:6ce3:fa00:8581:f920:fe47:eb38) (Ping timeout: 252 seconds)
2024-12-04 05:27:16 +0100r-sta(~r-sta@sgyl-37-b2-v4wan-168528-cust2421.vm6.cable.virginm.net)
2024-12-04 05:27:27 +0100 <r-sta> hello i wish to release a library via cabal
2024-12-04 05:28:06 +0100 <r-sta> i want to have an example to paste where it uses the import, and a cmd line to open a repl to the src with the required lib built from cabal
2024-12-04 05:28:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 05:28:23 +0100 <r-sta> can anyone help me with the steps?
2024-12-04 05:29:05 +0100vanishingideal(~vanishing@user/vanishingideal) (Quit: leaving)
2024-12-04 05:31:14 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-12-04 05:32:05 +0100 <r-sta> heres some code
2024-12-04 05:32:06 +0100 <r-sta> https://paste.tomsmeding.com/xmn5qdUG
2024-12-04 05:33:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-04 05:34:56 +0100 <r-sta> imtrying to write a zipper library for data.functor
2024-12-04 05:35:09 +0100 <r-sta> to give default fmap instances
2024-12-04 05:37:42 +0100 <Axman6> ndo you have a cabal project (i.e, a .cabal file) for it yet?
2024-12-04 05:37:47 +0100 <Axman6> -n
2024-12-04 05:38:25 +0100 <Axman6> that Source class looks quite hard to use
2024-12-04 05:38:53 +0100 <r-sta> yeah, im just trying to use a cabal proj file vsn
2024-12-04 05:39:10 +0100 <r-sta> is there some place i can link a directory?
2024-12-04 05:39:56 +0100 <Axman6> the easiest thing would be to put it on a publicly accessible git hosting site like github (and ththat will make it easier for us ot help you too)
2024-12-04 05:41:17 +0100 <Axman6> Is there a reason you don't have a functional dependency a -> index in Source?
2024-12-04 05:42:19 +0100 <Axman6> repeatedly n f a = iterate f a !! n, btw
2024-12-04 05:44:05 +0100 <r-sta> different sources of the same type might have different indexes
2024-12-04 05:44:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 05:44:40 +0100 <Axman6> I'm not sure I really understand what this is supposed to do, so I'll ignore it for now we can sort out the cabal side of things.
2024-12-04 05:44:51 +0100 <r-sta> ok
2024-12-04 05:44:58 +0100 <r-sta> there is a simpler presentation anyhow
2024-12-04 05:45:03 +0100 <r-sta> which is what i will be uploading
2024-12-04 05:46:41 +0100 <r-sta> so... all i have at the moment is a comment... but i could still upload it i guess
2024-12-04 05:47:19 +0100 <r-sta> i can open it up in ghci with cabal v2-repl zipper
2024-12-04 05:47:27 +0100 <r-sta> how do i push it to hackage?
2024-12-04 05:47:45 +0100 <r-sta> and do i have to do something so it appears as Data.Functor.Zipper ?
2024-12-04 05:48:05 +0100 <Axman6> do you have a cabal file?
2024-12-04 05:49:04 +0100 <r-sta> yeah
2024-12-04 05:49:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 05:49:26 +0100 <Axman6> do you have your code on github or another git hosting website so we can see it?
2024-12-04 05:49:41 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) billchenchina
2024-12-04 05:50:23 +0100 <r-sta> if you give me the cmd to upload to cabal i could link the hackage!
2024-12-04 05:50:42 +0100 <r-sta> cabal-version: 2.4
2024-12-04 05:50:42 +0100 <r-sta> name: zipper
2024-12-04 05:50:43 +0100 <r-sta> version: 0.1.0.0
2024-12-04 05:50:43 +0100 <r-sta> library
2024-12-04 05:50:44 +0100 <r-sta>   default-language: Haskell2010
2024-12-04 05:50:44 +0100 <r-sta>   hs-source-dirs: src
2024-12-04 05:50:45 +0100 <r-sta>   exposed-modules: Data.Functor.Zipper
2024-12-04 05:50:45 +0100 <r-sta>   build-depends: base
2024-12-04 05:50:52 +0100 <Axman6> you need a hackage account first, and you should consider whether this is something th's generally useful to other people
2024-12-04 05:50:59 +0100 <Axman6> do not paste multiple lines in IRC!
2024-12-04 05:51:02 +0100 <Axman6> @where paste
2024-12-04 05:51:02 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2024-12-04 05:51:07 +0100 <r-sta> erp, sry
2024-12-04 05:51:23 +0100 <r-sta> i think its useful, it gives default functor instances
2024-12-04 05:51:36 +0100 <Axman6> there is already a library called zipper, so you'll need to call it something else
2024-12-04 05:51:39 +0100 <r-sta> ie, users can implement it as an alternative to implementing fmap
2024-12-04 05:52:06 +0100 <r-sta> hmm... its like, a pointer with a next function for where it points too
2024-12-04 05:52:08 +0100 <r-sta> any ideas?
2024-12-04 05:52:20 +0100 <r-sta> its kind of a zipper...
2024-12-04 05:52:29 +0100 <Axman6> I don't see what that has to do with functors?
2024-12-04 05:52:49 +0100 <r-sta> if you give the length of however many cursor updates it requires
2024-12-04 05:52:57 +0100 <r-sta> then it lenses each value and fmaps like that
2024-12-04 05:53:14 +0100 <r-sta> the length is a "complete functor sheduling"
2024-12-04 05:53:32 +0100 <r-sta> where there pointer index / cursor type is just Int for list position
2024-12-04 05:53:48 +0100 <r-sta> if its more complicated because it jumps about the place as it fmaps, then it might not be Int
2024-12-04 05:53:50 +0100 <Axman6> I think this is a long way from being ready to upload to hackage, there's no documentation or explanation of what it does or how to use it
2024-12-04 05:54:08 +0100 <Axman6> so, step one, make it available via git
2024-12-04 05:54:09 +0100poscat(~poscat@user/poscat) (Ping timeout: 252 seconds)
2024-12-04 05:54:14 +0100 <r-sta> ok
2024-12-04 05:54:59 +0100 <r-sta> i just want to get the hackage cabal issue sorted first cos im sick of these darn proj files
2024-12-04 05:55:07 +0100 <jackdk> Note that Hackage is an append-only package store, and the trustees ask people only to upload packages that "work, are useful to other people, and that you intend to maintain". It's possible to point to git repositories using a `cabal.project` file, which is one way to depend on experimental packages while they're cooking.
2024-12-04 05:55:17 +0100 <r-sta> i want to get as much like, pure abstraction into the background as possible
2024-12-04 05:55:41 +0100 <r-sta> really general libs like functors consisting for pointers with shedules for visitation, id rather make standard libs
2024-12-04 05:55:44 +0100 <Axman6> Please don't upload packages to hackage that aren't ready for other people to use them
2024-12-04 05:55:51 +0100 <r-sta> ah ok
2024-12-04 05:56:01 +0100 <r-sta> ill make sure someone here gives it a look over before i do so
2024-12-04 05:56:10 +0100 <r-sta> just trying to get a hackage account atm
2024-12-04 05:56:25 +0100poscat(~poscat@user/poscat) poscat
2024-12-04 05:56:46 +0100 <Axman6> that will take a while IIRC, they get manually approved. Please just put it on github, then we can give you better advice
2024-12-04 05:57:05 +0100 <jackdk> ... or your alternative code forge of choice
2024-12-04 05:57:39 +0100 <Axman6> sure, wherever, as long as we can see it
2024-12-04 05:58:06 +0100 <r-sta> okok one moment
2024-12-04 05:59:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 06:01:31 +0100 <r-sta> any idea what i could call it?
2024-12-04 06:01:53 +0100 <r-sta> next?
2024-12-04 06:02:01 +0100 <r-sta> ok im calling it next
2024-12-04 06:02:12 +0100 <Axman6> I don't understand what it's for or why it exists, so not really
2024-12-04 06:03:00 +0100 <Axman6> Also have you looked for (or asked) if there is something that already exists that implements what you want?
2024-12-04 06:04:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 06:04:53 +0100 <Axman6> You haven't defined any instances for your class, so it's very unclear to me what it's supposed to do. the `ensemble` looks very context specific, will other people frequently be working with something which works on [Double] like that?
2024-12-04 06:05:09 +0100 <r-sta> https://github.com/munston/next/tree/main/next
2024-12-04 06:05:23 +0100 <r-sta> hmm...
2024-12-04 06:05:26 +0100 <r-sta> er, no
2024-12-04 06:05:33 +0100 <r-sta> thats for parametric things
2024-12-04 06:05:39 +0100 <r-sta> thats not part of the general abstraction
2024-12-04 06:05:51 +0100 <r-sta> sorry it was a shotgun module for examples sake
2024-12-04 06:06:01 +0100 <r-sta> ...
2024-12-04 06:06:05 +0100 <Axman6> Can you add a README explaining what it is and what it's used for?
2024-12-04 06:06:25 +0100 <r-sta> probably the class is more useful no?
2024-12-04 06:06:36 +0100 <r-sta> isnt it clear from Source and SheduledFunctor what it does?
2024-12-04 06:06:41 +0100 <Axman6> no idea, I don't understand the class
2024-12-04 06:07:00 +0100 <r-sta> ill write a clearer version in this repo 2 secs
2024-12-04 06:08:56 +0100 <Axman6> generally you wouldn't have everything inside a folder in the git repo either, your .cabal file and src directory would usually be at the top level
2024-12-04 06:09:51 +0100 <Axman6> I'm really confused why there seems to be so much IO involved in the types if this is about functors, do we mean the same functors, as in Haskell's Functor class?
2024-12-04 06:15:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 06:17:40 +0100 <r-sta> https://raw.githubusercontent.com/munston/next/refs/heads/main/next/src/Data/Functor/Next.hs
2024-12-04 06:18:06 +0100 <r-sta> oh the src thing
2024-12-04 06:18:13 +0100 <r-sta> thats some weird mutability version
2024-12-04 06:18:18 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-04 06:18:25 +0100 <r-sta> the core (pure) version is the scheduled functor below
2024-12-04 06:18:27 +0100 <Axman6> that's what you shared...
2024-12-04 06:18:51 +0100 <r-sta> yeah. i mean. its just because it uses writing and reading in the IO monad
2024-12-04 06:19:03 +0100 <r-sta> but its just a synonym to the pure version below it
2024-12-04 06:19:03 +0100 <Axman6> so you're reimplementing things that already exist in the lens package?
2024-12-04 06:19:16 +0100 <r-sta> huh, no its just a term
2024-12-04 06:19:23 +0100 <r-sta> its a getter setter pair iiuc
2024-12-04 06:19:44 +0100 <r-sta> its like, if your fmapping, you think of editing the contents *within* the container
2024-12-04 06:19:47 +0100 <r-sta> but with a lens
2024-12-04 06:19:52 +0100 <r-sta> its like you retrive it first
2024-12-04 06:19:56 +0100 <r-sta> then edit it and put it back
2024-12-04 06:20:09 +0100 <Axman6> right, that's what the lens library provides?
2024-12-04 06:20:13 +0100 <r-sta> the mutability in the Source version kind of means you dont need to put it back you just write to disck
2024-12-04 06:20:25 +0100 <r-sta> Axman6: its 3 lines
2024-12-04 06:20:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-04 06:20:47 +0100 <r-sta> im not pulling in a whole repo for that, so obfuscating
2024-12-04 06:20:52 +0100 <r-sta> its for comunications sake anyway
2024-12-04 06:21:44 +0100 <r-sta> i mean, you could say the index was in a bifunctor...
2024-12-04 06:22:01 +0100 <r-sta> because its a uniquely appearing element, fmap is the same as get edit and set
2024-12-04 06:22:20 +0100 <r-sta> the cursor itself, does not need a cursor for its get and set
2024-12-04 06:22:25 +0100 <r-sta> because there is only one of them
2024-12-04 06:22:55 +0100 <r-sta> its like. functor <-> lenslike opperation
2024-12-04 06:23:03 +0100 <r-sta> its basically a bifunctor on the cursor and the contents
2024-12-04 06:23:12 +0100 <r-sta> but instead we just say we can put a lens on to edit it
2024-12-04 06:23:38 +0100 <r-sta> the actual values in the functor that is being sheduled have an order specified
2024-12-04 06:23:55 +0100 <Axman6> do you have example instances of those three classes? The Lens class feels like it might not be a good idea
2024-12-04 06:23:58 +0100 <r-sta> otherwise the functor is coming from the get edit set in much the same way
2024-12-04 06:24:33 +0100 <r-sta> if you dont have the lens class it ends up looking like the version from before
2024-12-04 06:27:36 +0100 <Axman6> Ok, so I have quite a lot of problems here, but one of the biggest is reusing very well understood terms with new meaning - Haskell developers know what a lens is (and generally accept that that means the van Laarhoven encoding of them). So for people to use this, they need to adopt incompatible ideas that don't work with the rest of the HAskell ecosystem. That doesn't sound like something that should be on hackage. Can you explain what you're actually trying
2024-12-04 06:27:36 +0100 <Axman6> to achieve? It doesn't like you just want to have the code somewhere out of your project, that doesn't mean it needs to be on hackage
2024-12-04 06:29:26 +0100 <r-sta> this might be more simple to understand
2024-12-04 06:29:26 +0100 <r-sta> https://raw.githubusercontent.com/munston/next/refs/heads/main/next/src/Data/Functor/Next.hs
2024-12-04 06:30:21 +0100 <r-sta> there are no problems with using the word Lens in a source file. it is a standard encoding also
2024-12-04 06:30:26 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-12-04 06:31:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 06:32:57 +0100 <r-sta> as for what im trying to acheive, thats what im trying to comunicate, is there anything specific thats not clear about the technique being presented?
2024-12-04 06:33:16 +0100 <r-sta> could do the missing definition i suppose
2024-12-04 06:33:31 +0100 <Axman6> some example instances would help, I understand the code, I don't understand what it's for
2024-12-04 06:34:02 +0100 <Axman6> it feels like it's related to Traversable, or just lens' optics
2024-12-04 06:35:56 +0100 <Axman6> is the idea of fmapDefaultZ that it would repearedly call... yeah I can't figure out how you could even imeplement fmapDefaultZ using that interface, there's no way to tell which index you're up to, how do you know when you're done?
2024-12-04 06:36:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 06:38:04 +0100 <r-sta> you just get given the length
2024-12-04 06:38:08 +0100 <r-sta> you do it that many times
2024-12-04 06:38:13 +0100 <r-sta> maybe thats not the best way...
2024-12-04 06:38:18 +0100 <r-sta> but it is *a* way!
2024-12-04 06:38:19 +0100 <Axman6> but what if the index isn't at the beginning?
2024-12-04 06:38:28 +0100 <r-sta> then your fucked!
2024-12-04 06:38:46 +0100 <r-sta> i mean... it should be at the beginning
2024-12-04 06:39:05 +0100 <r-sta> tbh this feels like a week point
2024-12-04 06:39:16 +0100 <Axman6> so I can go through a _thing_ once ever? what types can be instances of Next?
2024-12-04 06:39:35 +0100 <r-sta> eg if its a list, ix ~ Int
2024-12-04 06:39:39 +0100 <r-sta> next = +1
2024-12-04 06:39:56 +0100 <Axman6> does that mean that using this on a list of O(n^2)?
2024-12-04 06:40:11 +0100 <Axman6> of=is
2024-12-04 06:40:16 +0100 <r-sta> hmm.. well depends on how you implement the zipper
2024-12-04 06:40:22 +0100 <r-sta> if it just uses !! it will be slow
2024-12-04 06:40:32 +0100 <r-sta> if it actually maintains the cursor like a zipper it might be faster
2024-12-04 06:40:39 +0100 <r-sta> but its at class level so we cant be sure
2024-12-04 06:41:08 +0100 <Axman6> so does it make sense to have instance Next Int [a]?
2024-12-04 06:41:09 +0100 <r-sta> we just know that if we were given an index, we should be able to edit at that cursor location
2024-12-04 06:41:33 +0100 <r-sta> yes thats a good instance. other shedules might be interesting too
2024-12-04 06:41:46 +0100 <r-sta> like if there is (x,xs) instead of (x:xs)
2024-12-04 06:41:52 +0100 <Axman6> or do we need instance Next Int (ListZipper a) which is some other type that represents a cursor over a list?
2024-12-04 06:41:58 +0100 <r-sta> and you alternate between the head, and each element of the tail in turn
2024-12-04 06:42:11 +0100 <r-sta> so doing n opperations on one of n+1 elements
2024-12-04 06:42:20 +0100 <r-sta> and doing one on each of the others
2024-12-04 06:42:49 +0100 <r-sta> Axeman6: yes, if you wanted the fast version, you would have to ensure the instance is over a container that updates that way
2024-12-04 06:43:01 +0100 <Axman6> the usual definition for a list zipper is something like data ListZipper a = ListZipper [a] a [a] where the first list is all the elements before the focus (in reverse order), the current focus, and everything after
2024-12-04 06:43:13 +0100 <r-sta> exactly, this is the perfect example instance
2024-12-04 06:43:34 +0100 <Axman6> ok, so write some instances so people know what this is for
2024-12-04 06:43:40 +0100 <r-sta> we write these implementations, and then it gives the fmap
2024-12-04 06:43:46 +0100 <Axman6> does it make sense to have a zipper over Map k v?
2024-12-04 06:44:10 +0100 <r-sta> iiuc yes, but that it might be slower depending on theoretical hardware
2024-12-04 06:44:32 +0100 <Axman6> Luckily GHC doesn't support theoretical hardware
2024-12-04 06:44:56 +0100 <r-sta> damn, then the Map version might even be faster
2024-12-04 06:45:21 +0100 <r-sta> i cant decide on how to write the classes though
2024-12-04 06:45:38 +0100 <r-sta> you have flumoxed me by saying i shouldnt invoke a lens class just for a lens on the cursor
2024-12-04 06:45:55 +0100 <Axman6> So this goes to my point ogf this not being ready for hackage, if you can't figure out how to use it properly, how will others?
2024-12-04 06:46:12 +0100 <Axman6> Well, what are the instances of the Lens class?
2024-12-04 06:46:26 +0100 <Axman6> show us some instances
2024-12-04 06:47:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 06:47:44 +0100 <Axman6> For reference, the lens encoding of this is extremely nice: https://hackage.haskell.org/package/zippers-0.3.2/docs/Control-Zipper.html as long as you have a lens to any point in your structure, you can get a zipper for free over it
2024-12-04 06:48:46 +0100 <Axman6> (This is one of those libraries I've always wanted a use for but never found one)
2024-12-04 06:49:02 +0100 <r-sta> https://github.com/munston/next/blob/main/next/src/Data/Functor/Next.hs
2024-12-04 06:50:19 +0100 <r-sta> er, yeah, i was working with ed for a while on all that stuff and despite basically giving the biplate stuff i ended up hating all the carrots and stuff
2024-12-04 06:50:32 +0100 <Axman6> editZ doesn't call next, so it just applies `f` `lengthZ x` times on one focus right?
2024-12-04 06:50:56 +0100 <r-sta> yeah, you dont want the cursor shifting each time there is an edit nesacarrily
2024-12-04 06:51:52 +0100 <Axman6> how often do I want to apply a function n times, where n is the length of the ... structure?
2024-12-04 06:52:04 +0100 <Axman6> I still don't see any instances btw
2024-12-04 06:52:05 +0100 <r-sta> every time you do fmap!
2024-12-04 06:52:31 +0100 <r-sta> anyway, this can let you do it n+m times, where m are some extra edits!!!
2024-12-04 06:52:33 +0100 <Axman6> but if the index never moves, then I'm just applying f that many times to one item?
2024-12-04 06:53:00 +0100 <Axman6> Also, you can't use this to implement fmap at all right? You only modify one a at a time, so its type can't change
2024-12-04 06:53:02 +0100 <r-sta> huh, no, just because its not used in the edit function automatically, you just have to use it manually in fmap
2024-12-04 06:53:14 +0100 <r-sta> erp!
2024-12-04 06:53:16 +0100 <r-sta> type change
2024-12-04 06:53:19 +0100 <r-sta> oh no!
2024-12-04 06:53:20 +0100 <Axman6> that
2024-12-04 06:53:28 +0100 <Axman6> that's a pretty fundamental part of fmap...
2024-12-04 06:53:29 +0100 <r-sta> stupid parameter vectors totally blindsided me
2024-12-04 06:53:36 +0100 <Axman6> it might be _the_ fundamental part of fmap
2024-12-04 06:53:46 +0100 <r-sta> suspended traversals will never allow for that!
2024-12-04 06:53:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 06:53:52 +0100 <Axman6> indeed
2024-12-04 06:54:27 +0100 <r-sta> the requirement becomes an insane 2 type zipper
2024-12-04 06:54:33 +0100 <Axman6> data ListZipper' a b c = ListZipper [a] (Maybe b) [c] would allow it
2024-12-04 06:54:37 +0100 <r-sta> and not amenable to arbitrary scheduling
2024-12-04 06:54:39 +0100 <r-sta> ffs
2024-12-04 06:54:48 +0100Square2(~Square4@user/square) Square
2024-12-04 06:55:09 +0100 <r-sta> yeah, but its about not being able to do many updates to the same entry according to the schedule
2024-12-04 06:55:24 +0100 <r-sta> "functor schedule" is a misnomer in of itself
2024-12-04 06:55:29 +0100 <r-sta> nothing to do with functors!
2024-12-04 06:55:32 +0100 <r-sta> brarg!
2024-12-04 06:55:53 +0100 <r-sta> ok, now this is why you need a seccond pair of eyes
2024-12-04 06:55:54 +0100 <Axman6> indeed
2024-12-04 06:56:08 +0100 <r-sta> well thats not getting on hackage then!
2024-12-04 06:56:11 +0100 <Axman6> These are good lessons to learn though
2024-12-04 06:56:34 +0100 <r-sta> ok fair
2024-12-04 06:56:49 +0100 <r-sta> im actually kinda bummed out about that, ima go
2024-12-04 06:56:53 +0100 <Axman6> and one of the reasons I kept trying to get you to write some concrete things like instances (fmapDefaultZ would have been good too). just because you can write the types doesn't mean you can write the code
2024-12-04 06:57:27 +0100 <Axman6> so this may well still be a useful thing, but you gotta prove that (luckily programs are proofs in Haskell)
2024-12-04 06:57:28 +0100 <r-sta> ...
2024-12-04 06:57:29 +0100 <r-sta> suppose
2024-12-04 06:57:50 +0100 <Axman6> undefined proves everything, just not usefully
2024-12-04 06:57:53 +0100Square(~Square@user/square) (Ping timeout: 255 seconds)
2024-12-04 06:58:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 06:58:24 +0100 <r-sta> your right, i would have run into the "edit many times, not (a->b) for edit" as soon as i went to write the instance
2024-12-04 06:58:47 +0100 <Axman6> monoMap :: Zipper ix a (f a) => (a -> a) -> f a -> f a feels doable, and worth seeing if you can do it
2024-12-04 06:58:51 +0100 <r-sta> ANYWAY
2024-12-04 06:58:53 +0100 <r-sta> basically
2024-12-04 06:58:54 +0100 <r-sta> yeah
2024-12-04 06:58:57 +0100 <r-sta> you have to mono it
2024-12-04 06:59:05 +0100 <r-sta> then everything still holds
2024-12-04 06:59:23 +0100 <Axman6> prove it =)
2024-12-04 06:59:27 +0100 <r-sta> multiple edits breaks traversable laws, i thought this might be an interesting structure
2024-12-04 07:00:24 +0100 <r-sta> (sorry your also right there should be a next in editZ)
2024-12-04 07:01:24 +0100 <r-sta> this compiles ok;
2024-12-04 07:01:24 +0100 <r-sta> https://github.com/munston/next/blob/main/next/src/Data/Functor/Next.hs
2024-12-04 07:02:02 +0100 <Axman6> does it work? Show me some instances
2024-12-04 07:02:53 +0100 <Axman6> simple ones that only have simple definitions: Data.Proxy.Proxy, (b, a), Maybe a - can you write isntances for next and zipper for those?
2024-12-04 07:03:53 +0100 <monochrom> If I were interested, I would ask about actual instances and toy examples too.
2024-12-04 07:04:04 +0100 <Axman6> instance Next () (Proxy a) where ..., instance Next () (b, a) where ..., instance Next ?? (Maybe a) where ...
2024-12-04 07:04:05 +0100 <monochrom> But since I am uninterested, I will tell the well-known math joke.
2024-12-04 07:04:18 +0100 <r-sta> or maybe more like this;
2024-12-04 07:04:18 +0100 <r-sta> https://github.com/munston/next/blob/main/next/src/Data/Functor/Next.hs
2024-12-04 07:04:43 +0100 <r-sta> go on, whats this math joke?
2024-12-04 07:04:54 +0100 <Axman6> I think the joke is an exercise left to the reader
2024-12-04 07:04:58 +0100 <monochrom> A math PhD student thought up a new kind of rings (additional axioms on top of ring axioms), and proved many nice theorems about them.
2024-12-04 07:05:31 +0100Axman6gets the popcorn
2024-12-04 07:05:38 +0100 <monochrom> During the exam, the examiners asked: Do you have examples of this kind of rings? Answer: No, haven't thought of it.
2024-12-04 07:05:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-04 07:05:53 +0100poscat(~poscat@user/poscat) (Quit: Bye)
2024-12-04 07:06:08 +0100 <monochrom> The examiners went on to go to the blackboard and proved that only {0} satisfies the additional axioms.
2024-12-04 07:07:20 +0100poscat(~poscat@user/poscat) poscat
2024-12-04 07:07:43 +0100euandreh1(~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) euandreh
2024-12-04 07:08:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 07:09:40 +0100Axman6is waiting for a punchline...
2024-12-04 07:09:50 +0100 <monochrom> That's the punchline.
2024-12-04 07:10:50 +0100euandreh1(~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) (Client Quit)
2024-12-04 07:10:56 +0100euandreh(~Thunderbi@189.6.105.228) (Ping timeout: 264 seconds)
2024-12-04 07:11:05 +0100 <Axman6> that feels more like a cry for help based on a real experience you've had monochrom, you good bro?
2024-12-04 07:11:19 +0100 <monochrom> Perhaps I can retell the joke with semigroups instead of rings? More people here know semigroups.
2024-12-04 07:11:56 +0100 <monochrom> A math PhD student thought up a new kind of semigroups (additional axioms on top of semigroup axioms), and proved many nice theorems about them.
2024-12-04 07:12:10 +0100 <monochrom> During the exam, the examiners asked: Do you have examples of this kind of semigroups? Answer: No, haven't thought of it.
2024-12-04 07:12:11 +0100 <Axman6> Also, I'm pretty sure the appropriate type above for Maybe would be instance Next Bool (Maybe a) - "have we visited all the a's yet"
2024-12-04 07:12:25 +0100 <monochrom> The examiners went on to go to the blackboard and proved that only the empty set satisfies the additional axioms.
2024-12-04 07:12:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-04 07:13:26 +0100 <Axman6> monochrom: that just sounds like the sort of nonsense mathematicians do all the time though, the student feels like a model methematician to me
2024-12-04 07:14:01 +0100 <monochrom> haha
2024-12-04 07:15:06 +0100 <Axman6> r-sta: I have a feeling you want to use lengthZ x - 1 btw
2024-12-04 07:15:14 +0100 <monochrom> Works that survive peer review are not that bad. Someone would be asking "is there an example?" all the time.
2024-12-04 07:15:41 +0100 <monochrom> But sure, during sketching and brainstorming, of course you run into that all the time. It's brainstorming.
2024-12-04 07:16:06 +0100 <Axman6> I've definitely gone through very similar things, where I thought I had come up with something useful, until I tried to use it
2024-12-04 07:17:25 +0100 <Axman6> (possible max 0 (lengthZ x - 1) to be safe - the isntance for Proxy will have lengthZ _ = 0)
2024-12-04 07:17:36 +0100 <r-sta> it does not work...
2024-12-04 07:17:37 +0100 <r-sta> https://github.com/munston/next/blob/main/next/src/Data/Functor/Next.hs
2024-12-04 07:18:32 +0100 <Axman6> what goes wrong?
2024-12-04 07:18:46 +0100 <Axman6> I would expect any use of error to go wrong =)
2024-12-04 07:19:12 +0100 <r-sta> it does not return an error
2024-12-04 07:19:17 +0100 <r-sta> :-(
2024-12-04 07:19:33 +0100 <Axman6> what did you do to run it though?
2024-12-04 07:19:42 +0100 <Axman6> did you evaluate test in ghci?
2024-12-04 07:20:00 +0100 <r-sta> yeah it just returns fine
2024-12-04 07:20:03 +0100 <r-sta> unchanged
2024-12-04 07:20:15 +0100 <r-sta> ghci> test
2024-12-04 07:20:16 +0100 <r-sta> ListCursor 0 0 [1,2,3]
2024-12-04 07:20:24 +0100 <r-sta> should be [2,3,4]
2024-12-04 07:20:35 +0100 <r-sta> well, if it was (+1) and not (error.show)
2024-12-04 07:21:10 +0100 <Axman6> should newListCursor xs = ListCursor 0 0 xs be calling length? (something which is almost always a code smell btw, length may never terminate)
2024-12-04 07:21:21 +0100 <r-sta> DERP!
2024-12-04 07:22:59 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-04 07:24:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 07:24:01 +0100 <r-sta> ok
2024-12-04 07:24:02 +0100 <r-sta> https://raw.githubusercontent.com/munston/next/refs/heads/main/next/src/Data/Functor/Next.hs
2024-12-04 07:24:04 +0100 <r-sta> that works
2024-12-04 07:24:09 +0100 <r-sta> all examples and everything
2024-12-04 07:24:48 +0100 <r-sta> not a bad concept eh!?
2024-12-04 07:25:08 +0100 <Axman6> I seem many problems still, but at least you got something working
2024-12-04 07:25:13 +0100 <r-sta> any ideas how to get it into the kind of form where it could be a lib?
2024-12-04 07:25:39 +0100 <r-sta> problems!?
2024-12-04 07:25:42 +0100 <r-sta> seems fine!
2024-12-04 07:25:47 +0100zenmov(~zenmov@user/zenmov) zenmov
2024-12-04 07:25:48 +0100 <r-sta> compiles, passes unit tests
2024-12-04 07:25:58 +0100 <r-sta> never breaks...
2024-12-04 07:26:01 +0100 <Axman6> I think you'd need to make it more efficient first, there's some significant performance issues there. most of the list operations are O(n^2)
2024-12-04 07:26:31 +0100 <Axman6> And I think you'd need some more instances defined
2024-12-04 07:26:33 +0100 <r-sta> oh, you mean you want the propper zipper version
2024-12-04 07:26:39 +0100 <r-sta> im not spending all day writing instances
2024-12-04 07:26:59 +0100 <Axman6> then why do you want to release it on hackage? Without instances, it's not useful to anyone
2024-12-04 07:27:14 +0100 <r-sta> huh
2024-12-04 07:27:24 +0100 <r-sta> i meant more in terms of, like getting it to do stuff
2024-12-04 07:27:34 +0100 <r-sta> its not useless
2024-12-04 07:27:39 +0100 <r-sta> but like, the user might want Map
2024-12-04 07:27:44 +0100 <r-sta> idk how to implementa that
2024-12-04 07:27:46 +0100 <Axman6> Just because some Haskell code _exists_ doesn't mean it should be on Hackage (as someone who has a few packages on Hackage that aren't useful at all that should be removed)
2024-12-04 07:27:53 +0100 <r-sta> cos its from a library and i can basically only do pure code
2024-12-04 07:28:10 +0100 <r-sta> ok ill keep it off hackage and save from having to maintain it!
2024-12-04 07:28:13 +0100 <Axman6> I don't understand your point
2024-12-04 07:28:24 +0100 <r-sta> point is i am not writing these instances
2024-12-04 07:28:27 +0100 <Axman6> what does pure code have to do with Map?
2024-12-04 07:28:37 +0100 <r-sta> er... i mean. not from libraries
2024-12-04 07:28:39 +0100 <r-sta> sorry, tired
2024-12-04 07:28:48 +0100 <r-sta> prelude only idiom
2024-12-04 07:28:49 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 07:28:58 +0100 <r-sta> part of the reason i want to get some of my libs on hackage
2024-12-04 07:28:59 +0100 <Axman6> Right, so what use does this provide to other people?
2024-12-04 07:29:02 +0100 <r-sta> so i can actually use libs!
2024-12-04 07:29:12 +0100 <Axman6> you can use libraries without hackage
2024-12-04 07:29:18 +0100 <r-sta> ok. so. if eg. you. wrote the Map instance, etc, so it was useful
2024-12-04 07:29:29 +0100 <r-sta> well, its broken cos i didnt realise there was this mono type restriction
2024-12-04 07:29:36 +0100 <r-sta> and so there are like, theoretics abound
2024-12-04 07:29:50 +0100 <Axman6> Well, I can;t write the Map instance, I don't control your package or the containers package, and those are the only two places instances are allowed to be defined
2024-12-04 07:30:30 +0100 <r-sta> fair
2024-12-04 07:30:35 +0100 <r-sta> well i dont need this anyway
2024-12-04 07:30:41 +0100 <r-sta> personally
2024-12-04 07:30:52 +0100 <r-sta> and i kind of just wanted to use it for my project. but i get thats not the point
2024-12-04 07:31:01 +0100 <r-sta> so ill keep it in a local cabal proj as per usual
2024-12-04 07:31:14 +0100 <r-sta> and if any of the libs are more worthy of user stuff ill put those
2024-12-04 07:31:14 +0100 <Axman6> Sounds reasonable to me
2024-12-04 07:31:40 +0100 <r-sta> so what do you think of the concept?
2024-12-04 07:31:49 +0100 <r-sta> and this weird multi edit monotyping business
2024-12-04 07:32:18 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-04 07:32:35 +0100euleritian(~euleritia@77.23.250.232)
2024-12-04 07:33:48 +0100 <Axman6> I'm not sure what someone would use it for. it reminds me a bit of Ed Kmett's monoid action stuff, but only barely.
2024-12-04 07:34:05 +0100 <r-sta> well im using it for parameters
2024-12-04 07:34:13 +0100 <r-sta> i have an awesome code hang on
2024-12-04 07:34:32 +0100 <Axman6> Also feels a lot like https://hackage.haskell.org/package/cursor
2024-12-04 07:35:39 +0100 <r-sta> yup
2024-12-04 07:35:46 +0100 <r-sta> done loads on this over the years
2024-12-04 07:35:50 +0100 <r-sta> there was i think conduit
2024-12-04 07:36:17 +0100 <r-sta> https://pastebin.com/raw/tCbSrZ5M
2024-12-04 07:36:35 +0100 <Axman6> Can't quite see the relationship to conduit
2024-12-04 07:37:13 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-04 07:37:18 +0100 <r-sta> sorry i think i put the wrong code
2024-12-04 07:38:02 +0100 <Axman6> I'm done with work for today, so home time for me
2024-12-04 07:39:23 +0100 <r-sta> ok try this
2024-12-04 07:39:24 +0100 <r-sta> https://pastebin.com/raw/4bGief1Z
2024-12-04 07:39:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 07:40:38 +0100 <r-sta> and thanks for your help
2024-12-04 07:42:32 +0100r-sta(~r-sta@sgyl-37-b2-v4wan-168528-cust2421.vm6.cable.virginm.net) (Quit: Client closed)
2024-12-04 07:42:38 +0100hseg(~gesh@46.120.21.36)
2024-12-04 07:44:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 07:53:15 +0100gentauro(~gentauro@user/gentauro) (Ping timeout: 276 seconds)
2024-12-04 07:55:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 07:57:36 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-12-04 07:59:13 +0100alp(~alp@2001:861:8ca0:4940:81a9:6af:7f50:e369)
2024-12-04 07:59:26 +0100gentauro(~gentauro@user/gentauro) gentauro
2024-12-04 08:02:43 +0100alp(~alp@2001:861:8ca0:4940:81a9:6af:7f50:e369) (Remote host closed the connection)
2024-12-04 08:03:19 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-04 08:03:20 +0100alp(~alp@2001:861:8ca0:4940:81a9:6af:7f50:e369)
2024-12-04 08:07:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 08:07:19 +0100euleritian(~euleritia@77.23.250.232) (Ping timeout: 260 seconds)
2024-12-04 08:08:10 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de)
2024-12-04 08:09:13 +0100ByronJohnson(~bairyn@50.250.232.19) (Remote host closed the connection)
2024-12-04 08:18:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 08:19:05 +0100CiaoSen(~Jura@2a05:5800:206:4900:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-04 08:20:16 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-04 08:23:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-04 08:25:21 +0100poscat(~poscat@user/poscat) (Quit: Bye)
2024-12-04 08:31:50 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
2024-12-04 08:34:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 08:41:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-04 08:41:47 +0100agent314(~quassel@static-198-54-130-91.cust.tzulo.com) agent314
2024-12-04 08:45:03 +0100agent314(~quassel@static-198-54-130-91.cust.tzulo.com) (Client Quit)
2024-12-04 08:45:06 +0100vpan(~vpan@212.117.1.172)
2024-12-04 08:52:07 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-04 08:52:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 08:53:21 +0100agent314(~quassel@static-198-54-130-91.cust.tzulo.com) agent314
2024-12-04 08:54:25 +0100agent314(~quassel@static-198-54-130-91.cust.tzulo.com) (Client Quit)
2024-12-04 08:57:00 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-04 08:57:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-04 09:00:03 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-04 09:00:40 +0100caconym(~caconym@user/caconym) caconym
2024-12-04 09:01:46 +0100falafel(~falafel@2603:8000:b4f0:62a0:73f:cafd:54ea:955f) falafel
2024-12-04 09:06:30 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-04 09:08:23 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
2024-12-04 09:13:09 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-04 09:14:51 +0100chele(~chele@user/chele) chele
2024-12-04 09:21:24 +0100kuribas(~user@2a02:1808:80:ffbf:6c27:4932:fe0c:bc0c) kuribas
2024-12-04 09:22:07 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-04 09:22:25 +0100euleritian(~euleritia@77.23.250.232)
2024-12-04 09:27:14 +0100euleritian(~euleritia@77.23.250.232) (Ping timeout: 260 seconds)
2024-12-04 09:27:37 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-12-04 09:28:04 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-12-04 09:28:21 +0100 <albet70> hi, nice to meet u all,i want 2 improve my english. pls help me.3ks a lot
2024-12-04 09:28:26 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 09:33:15 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-12-04 09:33:16 +0100poscat(~poscat@user/poscat) poscat
2024-12-04 09:33:47 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de)
2024-12-04 09:37:07 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2024-12-04 09:38:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-04 09:38:52 +0100kuribas(~user@2a02:1808:80:ffbf:6c27:4932:fe0c:bc0c) (Ping timeout: 252 seconds)
2024-12-04 09:42:07 +0100falafel(~falafel@2603:8000:b4f0:62a0:73f:cafd:54ea:955f) (Ping timeout: 264 seconds)
2024-12-04 09:42:14 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-12-04 09:42:27 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-04 09:42:32 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-12-04 09:42:41 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-12-04 09:53:59 +0100michalz(~michalz@185.246.207.222)
2024-12-04 09:56:38 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-12-04 09:58:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-04 09:58:36 +0100billchenchina-(~billchenc@103.118.42.229) billchenchina
2024-12-04 10:00:49 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Ping timeout: 245 seconds)
2024-12-04 10:07:44 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-04 10:08:50 +0100poscat(~poscat@user/poscat) (Ping timeout: 260 seconds)
2024-12-04 10:09:09 +0100poscat0x04(~poscat@user/poscat) poscat
2024-12-04 10:11:51 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-04 10:13:51 +0100acidjnk_new3(~acidjnk@p200300d6e7283f433921c55fec8b6dfb.dip0.t-ipconnect.de) acidjnk
2024-12-04 10:17:15 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-12-04 10:19:05 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-04 10:19:12 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-12-04 10:19:22 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 10:24:53 +0100billchenchina-(~billchenc@103.118.42.229) (Ping timeout: 255 seconds)
2024-12-04 10:26:50 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-12-04 10:29:54 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2024-12-04 10:30:36 +0100ByronJohnson(~bairyn@50.250.232.19) (Ping timeout: 246 seconds)
2024-12-04 10:30:58 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de)
2024-12-04 10:39:01 +0100euleritian(~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-04 10:39:20 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 10:47:36 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-04 11:02:06 +0100lortabac(~lortabac@37.166.141.63) lortabac
2024-12-04 11:08:51 +0100comerijn(~merijn@77.242.116.146) merijn
2024-12-04 11:11:20 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-12-04 11:12:47 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-12-04 11:13:13 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2024-12-04 11:19:56 +0100CiaoSen(~Jura@2a05:5800:206:4900:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds)
2024-12-04 11:27:28 +0100 <hellwolf> huh?
2024-12-04 11:27:35 +0100 <hellwolf> wrong channel, ser
2024-12-04 11:48:08 +0100lortabac(~lortabac@37.166.141.63) (Read error: Connection reset by peer)
2024-12-04 11:56:17 +0100cptaffe`(~cptaffe@user/cptaffe) cptaffe
2024-12-04 11:56:45 +0100cptaffe(~cptaffe@user/cptaffe) (Ping timeout: 260 seconds)
2024-12-04 11:58:00 +0100dunj3(~dunj3@2a01:239:328:1600::1) (Quit: ZNC 1.9.1 - https://znc.in)
2024-12-04 11:58:32 +0100cptaffe`cptaffe
2024-12-04 12:00:38 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-12-04 12:15:26 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-12-04 12:16:55 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2024-12-04 12:19:35 +0100__monty__(~toonn@user/toonn) toonn
2024-12-04 12:20:34 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-04 12:24:08 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (*.net *.split)
2024-12-04 12:24:08 +0100mantraofpie(~mantraofp@user/mantraofpie) (*.net *.split)
2024-12-04 12:24:08 +0100califax(~califax@user/califx) (*.net *.split)
2024-12-04 12:24:08 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (*.net *.split)
2024-12-04 12:24:08 +0100gmg(~user@user/gehmehgeh) (*.net *.split)
2024-12-04 12:24:08 +0100chexum(~quassel@gateway/tor-sasl/chexum) (*.net *.split)
2024-12-04 12:24:08 +0100chiselfuse(~chiselfus@user/chiselfuse) (*.net *.split)
2024-12-04 12:25:20 +0100alp(~alp@2001:861:8ca0:4940:81a9:6af:7f50:e369) (Ping timeout: 260 seconds)
2024-12-04 12:30:09 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-04 12:30:54 +0100CiaoSen(~Jura@2a05:5800:206:4900:ca4b:d6ff:fec1:99da) CiaoSen
2024-12-04 12:34:34 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 245 seconds)
2024-12-04 12:41:31 +0100 <hellwolf> I have a dumb question, for some recursive show instances, how can I avoid too many parenthesis? I don't seem to be able to square it, no matter how I try. I always end up "a :* (b :* (c :* Nil))"
2024-12-04 12:41:51 +0100 <hellwolf> (maybe it's the limitation of the show function signature)
2024-12-04 12:47:58 +0100 <tomsmeding> hellwolf: showsPrec can do this
2024-12-04 12:48:16 +0100 <tomsmeding> but iirc the default-generated Show instance only takes precedence into account, not associativity
2024-12-04 12:48:17 +0100 <hellwolf> I was looking at it. but not sure how yet.
2024-12-04 12:48:37 +0100 <tomsmeding> showsPrec takes a precedence argument so that you can do parentheses correctly in the first place
2024-12-04 12:48:58 +0100 <tomsmeding> correctly handling associativity means carefully choosing what precedence you pass to subterms, usually
2024-12-04 12:49:16 +0100 <hellwolf> okay, I will take a look... I have skill issues atm.
2024-12-04 12:49:33 +0100 <tomsmeding> doing it this way with showsPrec essentially means that you lump together all operators on a certain precedence level
2024-12-04 12:50:35 +0100 <tomsmeding> so e.g. if you have :+ and :- both on the same precedence level and both left-associative, then ((a :+ b) :- c) :+ d will (with an associativity-aware showsPrec) print as "a :+ b :- c :+ d"
2024-12-04 12:50:40 +0100 <tomsmeding> this may not be what you want
2024-12-04 12:50:55 +0100 <tomsmeding> but if this is what you want, then showsPrec is enough to implement this
2024-12-04 12:51:07 +0100 <tomsmeding> note that this behaviour will even happen if :+ and :- are of unrelated types
2024-12-04 12:53:03 +0100 <tomsmeding> hellwolf: the general idea with showsPrec is that at the start of a showsPrec implementation, if the `d` you receive is strictly larger than the precedence level of the operator you're about to print, then you add parentheses around your result
2024-12-04 12:53:28 +0100 <tomsmeding> so if you have a non-associative level-6 binary operator, then it would call showsPrec on its children with d=7
2024-12-04 12:53:42 +0100 <tomsmeding> so that if those were more copies of your operator, they'd be adding parentheses around themselves
2024-12-04 12:54:36 +0100 <tomsmeding> now if you have a right-associative level-6 binary operator, then if the right-hand child is another copy of your operator, then you don't want that child to get parentheses. (i.e. print `a ^ (b ^ c)` as `a ^ b ^ c`.)
2024-12-04 12:54:49 +0100 <tomsmeding> so then call showsPrec on the left child with d=7 and on the right child with d=6
2024-12-04 12:55:12 +0100 <tomsmeding> this works, but as I said, this will print _anything_ on the right-hand side with d=6, including operators from unrelated types
2024-12-04 12:55:18 +0100 <tomsmeding> this is generally fine, but it's something to be aware of
2024-12-04 12:55:58 +0100 <tomsmeding> general note: if you want to communicate "you're innermost, always add parens if you're not a single word", pass d=11
2024-12-04 12:56:18 +0100 <tomsmeding> (all operators have precedence level <= 10)
2024-12-04 12:56:28 +0100 <tomsmeding> and if you want to communicate "never add parens", pass d=0
2024-12-04 12:57:03 +0100 <hellwolf> I see... gonna spend sometimes on it, taking a note in TODO. THanks!
2024-12-04 12:57:04 +0100 <tomsmeding> hellwolf: "skill issue" is harsher language for "need to practice more"
2024-12-04 12:58:09 +0100 <hellwolf> I want to show an example. but another question popped up, how do you set default Num type to Int in ghci?
2024-12-04 12:58:45 +0100 <hellwolf> during one session is fine to. But when I use "default (Int)", ghci doesn't like it.
2024-12-04 13:00:26 +0100 <tomsmeding> doesn't it?
2024-12-04 13:00:29 +0100 <tomsmeding> % default (Int)
2024-12-04 13:00:30 +0100 <yahb2> <no output>
2024-12-04 13:00:41 +0100 <tomsmeding> % maxBound
2024-12-04 13:00:41 +0100 <yahb2> 9223372036854775807
2024-12-04 13:00:42 +0100 <tomsmeding> works for me
2024-12-04 13:01:21 +0100 <tomsmeding> % :q
2024-12-04 13:01:21 +0100 <yahb2> <bye>
2024-12-04 13:01:29 +0100 <tomsmeding> (clearing that default because it may be surprising)
2024-12-04 13:04:38 +0100 <hellwolf> `It does
2024-12-04 13:04:48 +0100 <hellwolf> need the parenthesis
2024-12-04 13:04:49 +0100 <hellwolf> :D
2024-12-04 13:05:08 +0100 <hellwolf> % default Int
2024-12-04 13:05:08 +0100 <yahb2> <interactive>:5:9: error: [GHC-58481] parse error on input ‘Int’
2024-12-04 13:09:09 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2024-12-04 13:09:34 +0100 <tomsmeding> ah right :)
2024-12-04 13:16:42 +0100alp(~alp@2001:861:8ca0:4940:7c92:cf4a:cc5b:7dc2)
2024-12-04 13:18:41 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-04 13:24:06 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2024-12-04 13:24:30 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-04 13:28:40 +0100alp(~alp@2001:861:8ca0:4940:7c92:cf4a:cc5b:7dc2) (Remote host closed the connection)
2024-12-04 13:29:03 +0100alp(~alp@2001:861:8ca0:4940:e895:2263:cae3:811)
2024-12-04 13:31:45 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 13:33:21 +0100battos(~battos@78.190.101.163) battos
2024-12-04 13:34:33 +0100 <battos> Hey. I have a stack overflow exception and I cant solve it for couple hours. If anyone can help, I would appreciate it. Thanks. https://stackoverflow.com/questions/79251167/haskell-3-way-merge-sort-stack-overflow-exception
2024-12-04 13:36:03 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-04 13:36:13 +0100 <int-e> battos: check what happens if xs has length 2 in `threeWayMergeSort`
2024-12-04 13:36:16 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 13:37:03 +0100 <battos> int-e, 2 `div` 3 would be 0 right
2024-12-04 13:37:25 +0100 <battos> omg if this is the problem i am gonna...
2024-12-04 13:37:28 +0100 <int-e> yep
2024-12-04 13:37:53 +0100 <battos> what should i do? (n `div` 3) + 1?
2024-12-04 13:38:09 +0100 <int-e> (n+1) `div` 3 probably works
2024-12-04 13:38:39 +0100 <int-e> with (n `div` 3) + 1 you have to worry about n=3
2024-12-04 13:39:02 +0100 <int-e> it's... fine actually, but it's not the split you want.
2024-12-04 13:39:14 +0100 <int-e> :t splitAt
2024-12-04 13:39:15 +0100 <lambdabot> Int -> [a] -> ([a], [a])
2024-12-04 13:39:29 +0100 <battos> n+1 did not work
2024-12-04 13:39:43 +0100CiaoSen(~Jura@2a05:5800:206:4900:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds)
2024-12-04 13:39:45 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 13:40:05 +0100 <int-e> you have that expression 4 times, did you change them all?
2024-12-04 13:40:06 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 13:40:16 +0100 <battos> int-e, yes
2024-12-04 13:41:26 +0100 <int-e> oh
2024-12-04 13:41:31 +0100 <battos> lambdabot, do i need to like understand something. bc i didnt get it :( Im new to haskell and functional programming
2024-12-04 13:41:33 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-12-04 13:41:43 +0100 <int-e> merge left middle [] = merge left middle [] and merge left [] right = merge left [] right will not terminate
2024-12-04 13:41:54 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2024-12-04 13:42:42 +0100 <int-e> and there's no case for `merge [] [1] [2]`
2024-12-04 13:42:55 +0100 <int-e> so... a bit more work to do
2024-12-04 13:43:10 +0100 <battos> i guess so
2024-12-04 13:43:58 +0100 <int-e> it's probably best to have a dedicate 2-way merge function
2024-12-04 13:44:11 +0100merijn(~merijn@77.242.116.146) merijn
2024-12-04 13:44:17 +0100 <int-e> that you can fall back to when one of the lists is depleted
2024-12-04 13:46:25 +0100 <battos> that makes sense
2024-12-04 13:49:43 +0100 <int-e> battos: lambdabot is a bot. `splitAt` is a function that combines take and drop in one which would help avoiding some duplicate effort your code.
2024-12-04 13:49:48 +0100 <int-e> *in your code
2024-12-04 13:50:28 +0100 <battos> oh ok
2024-12-04 13:52:16 +0100 <battos> int-e, https://paste.tomsmeding.com/blUsmtTG i wrote a mergeTwo function
2024-12-04 13:52:46 +0100 <battos> still, [2,1] -> exception stack overflow
2024-12-04 13:55:23 +0100 <int-e> n+1 `div` 3 is not (n+1) `div` 3
2024-12-04 13:56:12 +0100 <int-e> But with the changes, merge [1] [2] [] now works.
2024-12-04 13:57:03 +0100 <battos> is n+1 div 3 -> n + (1 div 3)
2024-12-04 13:57:08 +0100 <int-e> n+1 `div` 3 = n + (1 `div` 3) = n + 0 = n
2024-12-04 13:57:33 +0100 <int-e> `div` is multiplicative
2024-12-04 13:58:25 +0100 <battos> ok, changed n+1 -> (n+1) and now threeWayMergeSort [2,1] works
2024-12-04 13:59:06 +0100 <battos> now i need to benchmark this function for random arrays of size 10k, 100k, 1000k for my homework :D
2024-12-04 13:59:11 +0100 <battos> thanks for helping
2024-12-04 14:00:15 +0100 <battos> if you want to you can add the solution to stackoverflow so i can select it as solution int-e
2024-12-04 14:00:26 +0100 <int-e> I don't do SO
2024-12-04 14:01:09 +0100 <battos> Okay
2024-12-04 14:09:31 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 14:10:52 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 14:14:24 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-12-04 14:14:51 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-12-04 14:31:03 +0100notzmv(~umar@user/notzmv) notzmv
2024-12-04 14:37:07 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 14:37:52 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 14:42:36 +0100califax(~califax@user/califx) califx
2024-12-04 14:44:21 +0100stiell_(~stiell@gateway/tor-sasl/stiell) stiell
2024-12-04 14:44:31 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-12-04 14:46:37 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 14:47:07 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2024-12-04 14:52:02 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2024-12-04 14:53:38 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 14:55:32 +0100caubert(~caubert@user/caubert) (Quit: WeeChat 4.4.2)
2024-12-04 15:01:00 +0100homo(~homo@82-128-196-26.bb.dnainternet.fi)
2024-12-04 15:01:31 +0100caubert(~caubert@user/caubert) caubert
2024-12-04 15:01:57 +0100homo(~homo@82-128-196-26.bb.dnainternet.fi) (Changing host)
2024-12-04 15:01:57 +0100homo(~homo@user/homo) homo
2024-12-04 15:04:31 +0100Square(~Square@user/square) Square
2024-12-04 15:05:10 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-04 15:06:14 +0100 <battos> when I :set +s, it says something like (x secs, y bytes). This is the time and memory usage of the command, right?
2024-12-04 15:07:45 +0100Square2(~Square4@user/square) (Ping timeout: 248 seconds)
2024-12-04 15:08:42 +0100hiecaq(~hiecaq@user/hiecaq) hiecaq
2024-12-04 15:10:33 +0100hackyhacker(~hackyhack@ip-213-124-181-180.ip.prioritytelecom.net) hackyhacker
2024-12-04 15:11:42 +0100 <hackyhacker> Hello I found in the HLint docs that they support to ignore eta reduce suggestions. Does anyone know how to set this option globally in helix or nvim with lspconfig?
2024-12-04 15:16:38 +0100briandaed(~root@185.234.210.211.r.toneticgroup.pl)
2024-12-04 15:16:56 +0100briandaed(~root@185.234.210.211.r.toneticgroup.pl) (Changing host)
2024-12-04 15:16:56 +0100briandaed(~root@user/briandaed) briandaed
2024-12-04 15:17:00 +0100 <merijn> hackyhacker: Should be a global hlint config file, I think
2024-12-04 15:18:32 +0100 <hackyhacker> You can drop an hlint.config in the root of your project but I don't think there is a global one idk.
2024-12-04 15:18:39 +0100 <merijn> hackyhacker: Also, just an fyi, that hlint is very opinionated and not necessarily with widely shared opinions ;)
2024-12-04 15:19:04 +0100 <hackyhacker> Yeah I find it very unreadable to write everything pointfree like hlint suggests
2024-12-04 15:20:03 +0100 <merijn> agree
2024-12-04 15:20:26 +0100Typedfern(~Typedfern@56.red-83-37-30.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
2024-12-04 15:21:56 +0100 <hackyhacker> Does everyone just use VSCode? The other editors are so hard to set up because I can barely find anyone talking about it online. For other languages I can often find config examples from github issues and stuff.
2024-12-04 15:22:51 +0100 <hackyhacker> Or do you guys just use bare bones editors without lsp stuff?
2024-12-04 15:24:14 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-04 15:26:19 +0100 <kqr> I'm looking for something like concatMap except the mapping function in my case is a side effectful a -> m [b]. What is it I'm looking for?
2024-12-04 15:26:22 +0100 <lortabac> merijn: "hlint is very opinionated and not necessarily with widely shared opinions" -> this is a very diplomatic statement :)
2024-12-04 15:26:52 +0100Typedfern(~Typedfern@192.red-83-37-43.dynamicip.rima-tde.net)
2024-12-04 15:27:30 +0100battos(~battos@78.190.101.163) (Quit: Leaving)
2024-12-04 15:28:06 +0100 <kqr> I guess I could fmap concat over the result of traverse though.
2024-12-04 15:28:39 +0100 <haskellbridge> <Morj> Doesn't concatMapM sound exatcly like what you want? :D
2024-12-04 15:29:38 +0100 <lortabac> am I the only one who would like to have a point-free fmap? We have <$> and <&> but no <.>
2024-12-04 15:30:08 +0100 <Leary> :t \f -> getAp . foldMap (Ap . f)
2024-12-04 15:30:09 +0100 <lambdabot> forall k (t :: * -> *) (f :: k -> *) (a1 :: k) a2. (Foldable t, Monoid (Ap f a1)) => (a2 -> f a1) -> t a2 -> f a1
2024-12-04 15:30:13 +0100 <lortabac> this is annoying when changing a definition from pure to monadic. You are obliged to eta-expand
2024-12-04 15:30:51 +0100 <kqr> Morj: Yeah, but it's not in base!
2024-12-04 15:30:58 +0100 <Leary> kqr: ^ This, though the signature should be simpler than that.
2024-12-04 15:31:36 +0100 <haskellbridge> <Morj> Ah it's in ghc api, lol. My eyes glanced off of that thinking that ghc = base
2024-12-04 15:31:48 +0100 <kqr> Oh. I'm just starting to wrap my head around Foldable and Monoid instances like Sum etc. so this is good practice.
2024-12-04 15:32:59 +0100 <Leary> :t (\f -> getAp . foldMap (Ap . f)) :: forall f g a b. (Foldable f, Applicative g, Monoid b) => (a -> g b) -> f a -> g b
2024-12-04 15:33:00 +0100 <lambdabot> (Foldable f, Applicative g, Monoid b) => (a -> g b) -> f a -> g b
2024-12-04 15:37:51 +0100ByronJohnson(~bairyn@50.250.232.19) (Remote host closed the connection)
2024-12-04 15:39:21 +0100 <merijn> lortabac: I mean, the hlint default config is basically "What Neil Mitchell likes" :p
2024-12-04 15:41:20 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-12-04 15:43:05 +0100hseg(~gesh@46.120.21.36) (Quit: WeeChat 4.4.3)
2024-12-04 15:44:24 +0100euleritian(~euleritia@dynamic-176-006-146-121.176.6.pool.telefonica.de)
2024-12-04 15:45:36 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 15:47:33 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 15:53:23 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 15:57:24 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 16:02:23 +0100Square(~Square@user/square) (Ping timeout: 255 seconds)
2024-12-04 16:09:06 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) alexherbo2
2024-12-04 16:09:36 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-12-04 16:09:59 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2024-12-04 16:17:09 +0100 <hellwolf> do notation and where clause doesn't mix well, is it correct? Also, whomever also using using emacs, do you also have the issue that when using let in do notation, the emacs' indentation with "tab" starts to go wrong.
2024-12-04 16:19:57 +0100 <int-e> can you press tab multiple times to cycle between several guesses?
2024-12-04 16:21:29 +0100 <hellwolf> not in this case
2024-12-04 16:21:33 +0100weary-traveler(~user@user/user363627) user363627
2024-12-04 16:21:46 +0100 <hellwolf> perhaps I need to upgrade my emacs setup, but I don't find my much outdated.
2024-12-04 16:21:50 +0100 <hellwolf> *mine
2024-12-04 16:30:41 +0100alp(~alp@2001:861:8ca0:4940:e895:2263:cae3:811) (Ping timeout: 252 seconds)
2024-12-04 16:30:49 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-12-04 16:31:21 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-12-04 16:32:00 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-12-04 16:33:56 +0100turlando(~turlando@user/turlando) (Remote host closed the connection)
2024-12-04 16:35:12 +0100turlando(~turlando@user/turlando) turlando
2024-12-04 16:37:12 +0100alp(~alp@2001:861:8ca0:4940:7ce9:459b:14a1:a2de)
2024-12-04 16:43:55 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-12-04 16:44:26 +0100poscat0x04(~poscat@user/poscat) (Quit: Bye)
2024-12-04 16:56:22 +0100hiecaq(~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.92))
2024-12-04 16:58:51 +0100euleritian(~euleritia@dynamic-176-006-146-121.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-04 16:59:08 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 17:02:30 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-04 17:04:01 +0100Wygulmage(~Wygulmage@user/Wygulmage) Wygulmage
2024-12-04 17:07:33 +0100 <Wygulmage> Does putting an equality constraint in a GADT constructor increase the size of the GADT's values? For example, in `data Foo a where MkFoo :: Int -> Foo Int` does a `MkFoo Int` include both an `Int` and a `Refl :: a :~: Int` ?
2024-12-04 17:08:26 +0100 <Wygulmage> (Rather, `MkFoo n` include both `n` and `Refl` )
2024-12-04 17:09:46 +0100 <jle`> Wygulmage: do you mean the runtime representation?
2024-12-04 17:09:46 +0100 <Wygulmage> Or is its actual representation equivalent to `data Bar = Bar Int` , with the equality constraint disappearing in compiled code?
2024-12-04 17:09:56 +0100 <Wygulmage> Yeah, the runtime representation.
2024-12-04 17:10:50 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-12-04 17:10:56 +0100 <jle`> hm i know typeclass constraints definitely carry runtime baggage but i don't think equality would
2024-12-04 17:11:42 +0100 <geekosaur> an equality constraint is an alias inside the typechecker
2024-12-04 17:12:06 +0100 <geekosaur> inequality requires a runtime witness of some kind AIUI
2024-12-04 17:12:41 +0100 <Wygulmage> I didn't know you could have inequality constraints. But you mean that it gets compiled to a coercion rather than a witness?
2024-12-04 17:13:02 +0100 <geekosaur> you can't, directly. there are mechanisms available but they're not built in
2024-12-04 17:13:24 +0100 <Leary> Wygulmage: IIRC implicit equality constraints are as free as they should be, but explicit ones are lifted, so end up costing another word.
2024-12-04 17:13:25 +0100 <jle`> hm if you try to encode the gadt as an adt then the equality constraint would carry at least a function pointer of baggage. but as something built into the compiler i don't think it would. just speculating
2024-12-04 17:14:33 +0100 <Leary> You can probably check by inspecting core ... or it might need to be stg.
2024-12-04 17:14:39 +0100 <geekosaur> https://stackoverflow.com/questions/6939043/is-it-possible-to-place-inequality-constraints-on-hask…
2024-12-04 17:14:51 +0100 <Wygulmage> Leary: So `Foo a where MkFoo :: Int -> Foo a` has not extra overhead, but `data Bar a where MkBar :: (a ~ Int)=> Int -> Bar a` has extra overhead?
2024-12-04 17:15:08 +0100 <geekosaur> basically you can do it for free with a closed type family
2024-12-04 17:16:35 +0100 <Leary> Wygulmage: Assuming you meant `MkFoo :: Int -> Foo Int`---yes.
2024-12-04 17:16:35 +0100 <Wygulmage> geekosaur: That's clever. I guess it's like using type-level comparison on Natural.
2024-12-04 17:17:11 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) (Remote host closed the connection)
2024-12-04 17:17:16 +0100 <Wygulmage> Leary: Oops--yes, I did. Thanks.
2024-12-04 17:17:31 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) alexherbo2
2024-12-04 17:17:31 +0100MyNetAz(~MyNetAz@user/MyNetAz) (Remote host closed the connection)
2024-12-04 17:17:55 +0100 <Wygulmage> And I'll try do get better at reading core.
2024-12-04 17:19:22 +0100 <Leary> Wygulmage: N.B. https://discourse.haskell.org/t/unboxed-equality/9929
2024-12-04 17:24:32 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2024-12-04 17:35:53 +0100alp_(~alp@2001:861:8ca0:4940:9c1:764:1276:4604)
2024-12-04 17:37:23 +0100 <Wygulmage> Leary: Good to know that you can roll your own just in case, although for my purposes GADT pattern mating is easier.
2024-12-04 17:37:28 +0100 <Wygulmage> *matching
2024-12-04 17:38:36 +0100alp(~alp@2001:861:8ca0:4940:7ce9:459b:14a1:a2de) (Ping timeout: 272 seconds)
2024-12-04 17:42:54 +0100 <hellwolf> I have these utilities for workign with NP (SimpleNP, not the sop package one) and TupleN (up to 64-ary) for my project: https://paste.tomsmeding.com/5dU8Su98 .
2024-12-04 17:42:54 +0100 <hellwolf> Should I make an effort some day to package it independently? Asking here to see if it is something people would ever need. Packaging is a small lift from me, but I am happy to do if there is people need it.
2024-12-04 17:43:28 +0100 <hellwolf> (and, with a bit more effort, I can make a version works for sop's NP, too)
2024-12-04 17:49:09 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-12-04 17:53:01 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
2024-12-04 17:59:28 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2024-12-04 18:02:28 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2024-12-04 18:05:33 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) (Remote host closed the connection)
2024-12-04 18:05:39 +0100acidjnk_new3(~acidjnk@p200300d6e7283f433921c55fec8b6dfb.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-12-04 18:05:50 +0100 <kaol> I have a new job starting and I got do decide so it's a Haskell job. Fun.
2024-12-04 18:05:52 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) alexherbo2
2024-12-04 18:06:15 +0100 <kaol> *to
2024-12-04 18:06:35 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-12-04 18:07:56 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:ac82:32e9:69de:2e6f) (Quit: ubert)
2024-12-04 18:12:00 +0100Everything(~Everythin@94.153.24.195) Everything
2024-12-04 18:12:05 +0100 <haskellbridge> <Morj> Nice, congrats
2024-12-04 18:12:16 +0100 <haskellbridge> <Morj> What's the area?
2024-12-04 18:12:22 +0100 <hellwolf> congrats, what domain?
2024-12-04 18:13:42 +0100Leary(~Leary@user/Leary/x-0910699) (Remote host closed the connection)
2024-12-04 18:16:15 +0100 <kaol> Alarm transfer systems. In laymans terms, an alarm happens on a site and it's everything needed to get it to the control room in a timely and reliable manner.
2024-12-04 18:17:25 +0100trnry(~nate@139.64.168.160) trnry
2024-12-04 18:18:28 +0100 <hellwolf> Sounds like an area where model checking can make your alarm the safest: https://benjaminselfridge.github.io/posts/2022-05-10-model-checking-1.html#what-is-model-checking :D
2024-12-04 18:20:25 +0100trnry(~nate@139.64.168.160) (Client Quit)
2024-12-04 18:25:41 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2024-12-04 18:28:16 +0100vpan(~vpan@212.117.1.172) (Quit: Leaving.)
2024-12-04 18:30:18 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-04 18:33:44 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) (Remote host closed the connection)
2024-12-04 18:34:03 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) alexherbo2
2024-12-04 18:47:31 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-04 18:48:56 +0100Everything(~Everythin@94.153.24.195) (Quit: leaving)
2024-12-04 18:50:48 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-12-04 18:57:28 +0100pavonia(~user@user/siracusa) siracusa
2024-12-04 19:07:30 +0100ByronJohnson(~bairyn@50.250.232.19) (Remote host closed the connection)
2024-12-04 19:08:40 +0100 <hackyhacker> \q
2024-12-04 19:08:49 +0100 <hackyhacker> oops sorry
2024-12-04 19:08:53 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
2024-12-04 19:09:19 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-12-04 19:09:27 +0100acidjnk_new3(~acidjnk@p200300d6e7283f433921c55fec8b6dfb.dip0.t-ipconnect.de) acidjnk
2024-12-04 19:09:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-04 19:10:27 +0100hackyhacker(~hackyhack@ip-213-124-181-180.ip.prioritytelecom.net) (WeeChat 4.4.4)
2024-12-04 19:11:48 +0100alp_(~alp@2001:861:8ca0:4940:9c1:764:1276:4604) (Remote host closed the connection)
2024-12-04 19:12:36 +0100alp(~alp@2001:861:8ca0:4940:aa17:2267:ede3:dd49)
2024-12-04 19:14:16 +0100alp(~alp@2001:861:8ca0:4940:aa17:2267:ede3:dd49) (Remote host closed the connection)
2024-12-04 19:14:33 +0100alp(~alp@2001:861:8ca0:4940:ce1e:7443:2bff:952b)
2024-12-04 19:18:48 +0100ByronJohnson(~bairyn@50.250.232.19) ByronJohnson
2024-12-04 19:21:21 +0100alp(~alp@2001:861:8ca0:4940:ce1e:7443:2bff:952b) (Remote host closed the connection)
2024-12-04 19:21:39 +0100alp(~alp@2001:861:8ca0:4940:8eac:f601:9281:f0e1)
2024-12-04 19:22:33 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-04 19:23:03 +0100alp(~alp@2001:861:8ca0:4940:8eac:f601:9281:f0e1) (Remote host closed the connection)
2024-12-04 19:23:20 +0100alp(~alp@2001:861:8ca0:4940:2495:aa5d:f835:c4d7)
2024-12-04 19:24:43 +0100alp(~alp@2001:861:8ca0:4940:2495:aa5d:f835:c4d7) (Remote host closed the connection)
2024-12-04 19:25:00 +0100alp(~alp@2001:861:8ca0:4940:bd22:8dd:6c10:c5e0)
2024-12-04 19:26:25 +0100alp(~alp@2001:861:8ca0:4940:bd22:8dd:6c10:c5e0) (Remote host closed the connection)
2024-12-04 19:26:42 +0100alp(~alp@2001:861:8ca0:4940:1ca2:997d:5ece:75da)
2024-12-04 19:28:06 +0100alp(~alp@2001:861:8ca0:4940:1ca2:997d:5ece:75da) (Remote host closed the connection)
2024-12-04 19:28:23 +0100alp(~alp@2001:861:8ca0:4940:176d:44a4:3e5:e4a9)
2024-12-04 19:29:40 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-64d7-8b7a-d066-aa25.rev.sfr.net) (Remote host closed the connection)
2024-12-04 19:29:47 +0100alp(~alp@2001:861:8ca0:4940:176d:44a4:3e5:e4a9) (Remote host closed the connection)
2024-12-04 19:30:05 +0100alp(~alp@2001:861:8ca0:4940:95ee:27bd:823f:53b4)
2024-12-04 19:31:29 +0100alp(~alp@2001:861:8ca0:4940:95ee:27bd:823f:53b4) (Remote host closed the connection)
2024-12-04 19:31:46 +0100alp(~alp@2001:861:8ca0:4940:5b10:bb7b:d799:e1a)
2024-12-04 19:32:21 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-04 19:33:10 +0100alp(~alp@2001:861:8ca0:4940:5b10:bb7b:d799:e1a) (Remote host closed the connection)
2024-12-04 19:33:27 +0100alp(~alp@2001:861:8ca0:4940:bffe:bef:d5fd:3228)
2024-12-04 19:34:12 +0100Wygulmage(~Wygulmage@user/Wygulmage) (Quit: Client closed)
2024-12-04 19:35:09 +0100alp_(~alp@2001:861:8ca0:4940:b9a2:1759:6304:ffae)
2024-12-04 19:36:53 +0100alp__(~alp@2001:861:8ca0:4940:563c:b90a:93c1:efa)
2024-12-04 19:38:21 +0100alp(~alp@2001:861:8ca0:4940:bffe:bef:d5fd:3228) (Ping timeout: 246 seconds)
2024-12-04 19:40:06 +0100alp_(~alp@2001:861:8ca0:4940:b9a2:1759:6304:ffae) (Ping timeout: 246 seconds)
2024-12-04 19:41:51 +0100alp__(~alp@2001:861:8ca0:4940:563c:b90a:93c1:efa) (Ping timeout: 246 seconds)
2024-12-04 19:49:12 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-12-04 19:50:24 +0100rvalue-(~rvalue@user/rvalue) rvalue
2024-12-04 19:51:18 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 246 seconds)
2024-12-04 19:53:39 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-12-04 19:58:30 +0100rvalue-rvalue
2024-12-04 20:11:57 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-12-04 20:12:49 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 20:13:34 +0100 <tomsmeding> kaol: it feels kind of odd to me that there's only one person working on such a system
2024-12-04 20:13:43 +0100 <tomsmeding> at least, I assume it's just one person given that you could choose the tech :p
2024-12-04 20:14:14 +0100 <dminuoso> tomsmeding: Oh, because obscure security is so regularly done by teams of experts? :-)
2024-12-04 20:14:34 +0100 <tomsmeding> perhaps "odd" is not quite the right word
2024-12-04 20:14:50 +0100 <tomsmeding> well, I did say "feels odd"
2024-12-04 20:14:52 +0100 <tomsmeding> :>
2024-12-04 20:16:02 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-12-04 20:16:37 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 20:18:13 +0100 <monochrom> 1 is an odd number. QED. >:)
2024-12-04 20:19:24 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Quit: Lost terminal)
2024-12-04 20:20:21 +0100 <monochrom> More pun: It's alarming that they assign just one person for the whole thing so the bus factor is not good at all. >:)
2024-12-04 20:23:02 +0100dolio(~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in)
2024-12-04 20:23:34 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-12-04 20:24:33 +0100dolio(~dolio@130.44.140.168) dolio
2024-12-04 20:26:26 +0100 <kaol> tomsmeding: I'm just the first person there, I have some hires in mind to recommend (starting from the Haskell dev team my last work laid off).
2024-12-04 20:26:47 +0100 <tomsmeding> kaol: good stuff!
2024-12-04 20:26:49 +0100 <tomsmeding> Have fun :)
2024-12-04 20:28:01 +0100 <kaol> It's all new development and it's likely going to take all year until we have anything approaching production ready and they're okay with that.
2024-12-04 20:29:46 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-12-04 20:30:05 +0100euleritian(~euleritia@dynamic-176-006-132-219.176.6.pool.telefonica.de)
2024-12-04 20:30:23 +0100dolio(~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in)
2024-12-04 20:31:23 +0100dolio(~dolio@130.44.140.168) dolio
2024-12-04 20:34:57 +0100Pixi__(~Pixi@user/pixi) (Quit: Leaving)
2024-12-04 20:35:12 +0100sprotte24(~sprotte24@134.245.44.87)
2024-12-04 20:35:17 +0100Pixi(~Pixi@user/pixi) Pixi
2024-12-04 20:38:31 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-12-04 20:38:36 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-12-04 20:43:29 +0100eL_Bart0(eL_Bart0@dietunichtguten.org)
2024-12-04 20:58:02 +0100voom(~voonij@163.123.195.138)
2024-12-04 21:00:05 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-12-04 21:00:42 +0100caconym(~caconym@user/caconym) caconym
2024-12-04 21:00:52 +0100briandaed(~root@user/briandaed) (Remote host closed the connection)
2024-12-04 21:05:30 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Quit: ash3en)
2024-12-04 21:10:38 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-12-04 21:11:01 +0100 <lxsameer> hey folks, is there any better way to do this: https://dpaste.com/8PZL9Q6Q3 I'm using the asyc lib
2024-12-04 21:12:05 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-12-04 21:16:39 +0100 <kaol> Better how? wait >=> const (pure ()) would avoid the lambda, do and binding to _ if that's what makes it worse for you.
2024-12-04 21:17:04 +0100 <kaol> Oops, "wait >=> const pass" that is.
2024-12-04 21:23:09 +0100 <lxsameer> kaol: cheers
2024-12-04 21:24:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 21:24:24 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-12-04 21:25:35 +0100 <mauke> :t void . ?wait
2024-12-04 21:25:36 +0100 <lambdabot> (Functor f, ?wait::a1 -> f a2) => a1 -> f ()
2024-12-04 21:27:01 +0100 <lxsameer> mauke: what's that question mark?
2024-12-04 21:27:09 +0100weary-traveler(~user@user/user363627) user363627
2024-12-04 21:28:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-04 21:30:16 +0100 <mauke> implicit parameters
2024-12-04 21:30:28 +0100 <mauke> used here as a hack for type checking
2024-12-04 21:30:42 +0100 <lxsameer> ah got it, thank you
2024-12-04 21:31:15 +0100 <mauke> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/implicit_parameters.html
2024-12-04 21:31:45 +0100 <mauke> :t \wait -> void . wait
2024-12-04 21:31:45 +0100 <lambdabot> Functor f => (a1 -> f a2) -> a1 -> f ()
2024-12-04 21:31:57 +0100 <mauke> ^ mostly equivalent
2024-12-04 21:32:39 +0100 <mauke> but when you're asking the compiler to just make up some types, the result reads nicer with implicit params
2024-12-04 21:35:01 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds)
2024-12-04 21:39:01 +0100 <sprout> > [0..5]
2024-12-04 21:39:03 +0100 <lambdabot> [0,1,2,3,4,5]
2024-12-04 21:40:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 21:44:42 +0100AdeonAdeonhilla
2024-12-04 21:46:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-04 21:47:25 +0100AdeonhillaAdeon
2024-12-04 21:56:29 +0100sindu(~sindu@176.75.224.1)
2024-12-04 21:58:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 22:01:01 +0100voom(~voonij@163.123.195.138) (Remote host closed the connection)
2024-12-04 22:02:56 +0100philopsos(~caecilius@user/philopsos) philopsos
2024-12-04 22:03:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 22:04:04 +0100Guest77(~Guest77@64.16.19.162)
2024-12-04 22:05:38 +0100OftenFaded(~OftenFade@user/tisktisk) (Quit: Client closed)
2024-12-04 22:06:35 +0100 <Guest77> Hey folks, I'm having an ambiguous occurence error in a codebase I inherited and I'm hoping someone can help out quickly
2024-12-04 22:08:14 +0100 <Guest77> The relevant line of code is here: `(Just x) -> minimum [(neck c), ((amount_msat::Channel->Msat) e), x]`
2024-12-04 22:09:20 +0100 <Guest77> `amount_msat` is causing an issue because Channel is imported from a library called Cln.Types, but this library also contains other records with an `amount_msat` field
2024-12-04 22:10:17 +0100OftenFaded(~OftenFade@user/tisktisk) OftenFaded
2024-12-04 22:10:30 +0100 <Guest77> I would think that ::Channel makes it unambiguous but I'm also not very experienced with Haskell. The library import is unqualified, i.e. `import Cln.Types` if that changes things
2024-12-04 22:10:53 +0100simendsj`(~simendsjo@84.211.91.108)
2024-12-04 22:11:34 +0100 <mauke> are you saying that Cln.Types exports multiple functions, all called amount_msat?
2024-12-04 22:11:48 +0100 <mauke> actually, what is the error message?
2024-12-04 22:11:51 +0100simendsjosimendsjo_
2024-12-04 22:11:56 +0100simendsj`simendsjo
2024-12-04 22:12:03 +0100simendsjo(~simendsjo@84.211.91.108) (Client Quit)
2024-12-04 22:12:58 +0100simendsjo(~simendsjo@84.211.91.108)
2024-12-04 22:13:14 +0100 <Guest77> mauke: https://paste.tomsmeding.com/LYPd4zmE
2024-12-04 22:13:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 22:14:05 +0100 <Guest77> It exports multiple records with an `amount_msat` field. Not sure why `amount_msat::Channel` isn't enough
2024-12-04 22:17:39 +0100 <mauke> I don't think ghc uses type annotations to disambiguate identifiers
2024-12-04 22:18:21 +0100 <mauke> can you restrict the import? as in `import Cln.Types (Channel(..))`?
2024-12-04 22:18:34 +0100 <Guest77> I'll give it a shot!
2024-12-04 22:18:47 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) ft
2024-12-04 22:19:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-04 22:19:43 +0100 <mauke> otherwise you could probably rewrite as ... case e of Channel{ amount_msat } -> amount_msat
2024-12-04 22:19:57 +0100 <mauke> (assuming appropriate language extensions are enabled)
2024-12-04 22:20:44 +0100 <Guest77> Hmm, there are a couple of places where I'm running into the same problem with this codebase
2024-12-04 22:21:34 +0100 <Guest77> If there's a way I can resolve it without doing a big rewrite that might be more friendly but I'll see if this option works
2024-12-04 22:21:35 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-12-04 22:22:39 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-12-04 22:23:28 +0100 <Guest77> for a bit more context, this is the case statement I'm addressing: https://paste.tomsmeding.com/ikKbq345
2024-12-04 22:24:06 +0100 <Guest77> and to make sure that I'm tracking properly, I'm going to describe what I think this statement is doing
2024-12-04 22:24:42 +0100simendsjo(~simendsjo@84.211.91.108) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
2024-12-04 22:27:08 +0100simendsjo_simendsjo
2024-12-04 22:28:13 +0100 <Guest77> in the function definition, e is a Channel. Within the case statement, the function `htlc_maximum_msat` is applied to this Channel and the result is going to be a Maybe. If it's `Just x` then it returns `minimum` between `neck c`, `amount_msat` of the channel, or the x value. Otherwise, it returns the `min` (same as minimum?) of those first two
2024-12-04 22:28:14 +0100 <Guest77> values
2024-12-04 22:29:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 22:30:05 +0100 <Guest77> So I think that rewriting the case statement is basically a non-starter since it has to accomodate the Maybe of `htlc_maximum_msat`
2024-12-04 22:30:28 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-12-04 22:31:05 +0100 <Guest77> Is this something that could be resolved by changing the configuration I'm using in stack?
2024-12-04 22:33:55 +0100 <Guest77> Also: I just checked the type signatures of the functions. Does it make sense to change the `min (neck c) ((amount_msat) e)` to `minimum [(neck c), ((amount_msat) e)]` or is there a reason to use the different functions
2024-12-04 22:34:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 22:36:14 +0100 <Guest77> sorry if I'm being spammy, there's a lot of rust to shake off since I read "Learn You a Haskell" '=D
2024-12-04 22:36:24 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-12-04 22:36:27 +0100Typedfern(~Typedfern@192.red-83-37-43.dynamicip.rima-tde.net) (Remote host closed the connection)
2024-12-04 22:37:38 +0100euleritian(~euleritia@dynamic-176-006-132-219.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-12-04 22:37:55 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de)
2024-12-04 22:38:10 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Quit: ash3en)
2024-12-04 22:40:55 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-04 22:43:14 +0100Typedfern(~Typedfern@247.red-83-37-42.dynamicip.rima-tde.net) typedfern
2024-12-04 22:43:17 +0100tv(~tv@user/tv) (Read error: Connection reset by peer)
2024-12-04 22:45:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 22:45:48 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-12-04 22:46:53 +0100Typedfern(~Typedfern@247.red-83-37-42.dynamicip.rima-tde.net) (Remote host closed the connection)
2024-12-04 22:48:10 +0100Typedfern(~Typedfern@247.red-83-37-42.dynamicip.rima-tde.net) typedfern
2024-12-04 22:49:22 +0100typedfern_(~Typedfern@83.37.42.247) typedfern
2024-12-04 22:50:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 22:52:51 +0100euleritian(~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
2024-12-04 22:53:34 +0100 <Guest77> hey mauke do you have any input on the above?
2024-12-04 22:53:36 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-12-04 22:55:05 +0100 <Guest77> It seems like this is on the right track towards the problem I'm facing: https://pure-hack.com/posts/overloaded-labels-in-haskell/
2024-12-04 23:01:13 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 23:04:44 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-12-04 23:09:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-12-04 23:12:16 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-04 23:14:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 23:14:30 +0100michalz(~michalz@185.246.207.222) (Remote host closed the connection)
2024-12-04 23:16:13 +0100 <Guest77> well. my brain hurts now.I appreciate the input, I'll sit with this one a while
2024-12-04 23:16:17 +0100Guest77(~Guest77@64.16.19.162) (Quit: Client closed)
2024-12-04 23:17:06 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-04 23:18:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-12-04 23:24:50 +0100alexherbo2(~alexherbo@2a02-8440-3118-f7e7-7572-88f5-5565-7769.rev.sfr.net) alexherbo2
2024-12-04 23:27:15 +0100sonolin(~michael@174-26-31-216.phnx.qwest.net)
2024-12-04 23:29:18 +0100j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-12-04 23:29:50 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 23:30:10 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 23:32:30 +0100j1n37(~j1n37@user/j1n37) j1n37
2024-12-04 23:34:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-04 23:35:39 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Ping timeout: 252 seconds)
2024-12-04 23:44:55 +0100falafel(~falafel@2603:8000:b4f0:62a0:2d1c:7dad:d29d:19e) falafel
2024-12-04 23:45:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-04 23:47:43 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 23:50:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-12-04 23:51:23 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 23:54:28 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 23:55:05 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)
2024-12-04 23:55:35 +0100cyanteeth(~cyanteeth@user/cyanteeth) cyanteeth
2024-12-04 23:57:41 +0100sonolin(~michael@174-26-31-216.phnx.qwest.net) (Changing host)
2024-12-04 23:57:41 +0100sonolin(~michael@user/sonolin) sonolin
2024-12-04 23:58:37 +0100cyanteeth(~cyanteeth@user/cyanteeth) (Remote host closed the connection)