2026/03/07

2026-03-07 00:02:04 +0100ec(~ec@gateway/tor-sasl/ec) ec
2026-03-07 00:03:15 +0100tromp(~textual@2001:1c00:3487:1b00:d97f:6c22:5298:b927) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-03-07 00:04:24 +0100juri_(~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 246 seconds)
2026-03-07 00:06:17 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-07 00:08:59 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Ping timeout: 244 seconds)
2026-03-07 00:10:32 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-03-07 00:11:13 +0100juri_(~juri@79.140.122.233) juri_
2026-03-07 00:12:06 +0100machinedgod(~machinedg@172.219.48.230) machinedgod
2026-03-07 00:12:59 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 00:22:26 +0100juri_(~juri@79.140.122.233) (Ping timeout: 248 seconds)
2026-03-07 00:24:08 +0100juri_(~juri@217-114-215-140.pool.ovpn.com) juri_
2026-03-07 00:24:54 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2026-03-07 00:26:23 +0100tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2026-03-07 00:29:21 +0100mange(~mange@user/mange) (Remote host closed the connection)
2026-03-07 00:37:51 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-07 00:40:13 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-03-07 00:40:26 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-03-07 00:44:48 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 264 seconds)
2026-03-07 00:52:23 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 00:54:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 00:55:22 +0100athan(~athan@98.150.233.226) athan
2026-03-07 00:57:02 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-07 00:59:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-07 01:00:08 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds)
2026-03-07 01:01:13 +0100wickedjargon(~user@207.194.38.18) (Remote host closed the connection)
2026-03-07 01:05:59 +0100athan(~athan@98.150.233.226) (Quit: Konversation terminated!)
2026-03-07 01:09:02 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 01:10:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 01:14:05 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-07 01:15:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 01:22:52 +0100machinedgod(~machinedg@172.219.48.230) (Ping timeout: 244 seconds)
2026-03-07 01:25:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 01:31:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 01:38:43 +0100hiecaq(~hiecaq@user/hiecaq) hiecaq
2026-03-07 01:41:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 01:43:27 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d)
2026-03-07 01:43:27 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d) (Changing host)
2026-03-07 01:43:27 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 01:46:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-03-07 01:52:46 +0100Square3(~Square@user/square) (Ping timeout: 268 seconds)
2026-03-07 01:57:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 01:59:45 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-07 02:01:03 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 02:02:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 02:06:09 +0100Tuplanolla(~Tuplanoll@88.114.89.88) (Quit: Leaving.)
2026-03-07 02:08:42 +0100 <tusko> When I write Haskell I sometimes ask myself why I ever wrote in another language
2026-03-07 02:13:10 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-07 02:18:52 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-03-07 02:19:42 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-03-07 02:30:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 02:31:56 +0100omnifunctor(~omnifunct@user/semifunctor) (Remote host closed the connection)
2026-03-07 02:33:25 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-07 02:34:01 +0100omnifunctor(~omnifunct@user/semifunctor) omnifunctor
2026-03-07 02:34:54 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 02:36:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 02:36:27 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Remote host closed the connection)
2026-03-07 02:37:17 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 02:40:10 +0100collide2954(~collide29@user/collide2954) (Quit: The Lounge - https://thelounge.chat)
2026-03-07 02:44:49 +0100durstloescher(~textual@2a02:8109:1b01:2500:a050:c84e:2137:b3ac)
2026-03-07 02:46:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 02:47:42 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 256 seconds)
2026-03-07 02:51:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 02:57:53 +0100skum(~skum@user/skum) (Quit: WeeChat 4.8.1)
2026-03-07 03:00:57 +0100skum(~skum@user/skum) skum
2026-03-07 03:01:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 03:02:34 +0100skum(~skum@user/skum) (Client Quit)
2026-03-07 03:03:01 +0100skum(~skum@user/skum) skum
2026-03-07 03:04:30 +0100skum(~skum@user/skum) (Client Quit)
2026-03-07 03:06:40 +0100skum(~skum@user/skum) skum
2026-03-07 03:07:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 03:16:06 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-07 03:17:23 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 03:17:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 03:20:22 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Remote host closed the connection)
2026-03-07 03:22:00 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 03:23:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 03:24:26 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 03:29:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-07 03:30:19 +0100Ranhir(~Ranhir@157.97.53.139) (Ping timeout: 245 seconds)
2026-03-07 03:40:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 03:44:27 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-03-07 03:44:28 +0100Ranhir(~Ranhir@157.97.53.139) Ranhir
2026-03-07 03:45:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-07 03:47:20 +0100durstloescher(~textual@2a02:8109:1b01:2500:a050:c84e:2137:b3ac) (Quit: Textual IRC Client: www.textualapp.com)
2026-03-07 03:55:56 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 04:02:48 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 04:13:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 04:14:20 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 245 seconds)
2026-03-07 04:16:14 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-03-07 04:18:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 04:21:38 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-03-07 04:21:55 +0100DetourNe-(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-03-07 04:24:10 +0100DetourNe-DetourNetworkUK
2026-03-07 04:39:02 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d)
2026-03-07 04:39:02 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d) (Changing host)
2026-03-07 04:39:02 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 04:43:21 +0100mange(~mange@user/mange) mange
2026-03-07 04:44:18 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2026-03-07 04:50:59 +0100xff0x(~xff0x@2405:6580:b080:900:acbe:a784:57c1:5e52) (Ping timeout: 252 seconds)
2026-03-07 04:52:22 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-07 04:54:05 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 04:57:36 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 04:59:52 +0100CloneOfNone_(~CloneOfNo@user/CloneOfNone) CloneOfNone
2026-03-07 05:00:02 +0100CloneOfNone(~CloneOfNo@user/CloneOfNone) (Read error: Connection reset by peer)
2026-03-07 05:00:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 05:01:56 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-07 05:04:12 +0100xff0x(~xff0x@2405:6580:b080:900:acbe:a784:57c1:5e52)
2026-03-07 05:05:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-03-07 05:16:03 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 05:16:37 +0100DetourNe-(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-03-07 05:17:55 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-03-07 05:18:56 +0100DetourNe-DetourNetworkUK
2026-03-07 05:21:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 05:31:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 05:32:38 +0100 <glguy> tusko: what was the answer?
2026-03-07 05:38:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-03-07 05:39:53 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 05:44:18 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-07 05:46:04 +0100stackdroid18(~stackdroi@user/stackdroid) ()
2026-03-07 05:49:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 05:50:32 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2026-03-07 05:50:48 +0100weary-traveler(~user@user/user363627) user363627
2026-03-07 05:51:17 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-03-07 05:54:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-07 05:54:55 +0100humasect(~humasect@192.249.132.90) humasect
2026-03-07 05:54:57 +0100weary-traveler(~user@user/user363627) user363627
2026-03-07 06:05:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 06:06:19 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-03-07 06:06:55 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 264 seconds)
2026-03-07 06:07:02 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-03-07 06:10:04 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 06:10:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-03-07 06:11:57 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 06:14:41 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 06:24:03 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d)
2026-03-07 06:24:03 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d) (Changing host)
2026-03-07 06:24:03 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 06:27:16 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 06:27:24 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 06:27:47 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 06:29:12 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 264 seconds)
2026-03-07 06:30:19 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.7.2)
2026-03-07 06:30:38 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-03-07 06:31:13 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-03-07 06:32:40 +0100weary-traveler(~user@user/user363627) user363627
2026-03-07 06:32:52 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 06:35:09 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-03-07 06:36:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 06:39:29 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 06:39:42 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 06:41:38 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-07 06:42:09 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-03-07 06:42:30 +0100divlamir(~divlamir@user/divlamir) divlamir
2026-03-07 06:44:18 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 06:44:42 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 06:48:15 +0100takuan(~takuan@141.134.185.233)
2026-03-07 06:53:05 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-07 06:54:42 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 268 seconds)
2026-03-07 06:57:40 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-03-07 07:00:46 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds)
2026-03-07 07:01:57 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d)
2026-03-07 07:01:57 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d) (Changing host)
2026-03-07 07:01:57 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 07:07:23 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 252 seconds)
2026-03-07 07:08:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 07:11:22 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-03-07 07:15:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 07:17:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 07:22:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-03-07 07:25:01 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 07:29:11 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-07 07:32:07 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
2026-03-07 07:33:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 07:38:10 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-07 07:41:51 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d)
2026-03-07 07:41:51 +0100arandombit(~arandombi@2a02:2455:8656:7100:9c04:77be:7a54:3a7d) (Changing host)
2026-03-07 07:41:51 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 07:47:13 +0100mange(~mange@user/mange) (Remote host closed the connection)
2026-03-07 07:48:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 07:52:02 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2026-03-07 07:53:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 07:56:35 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2026-03-07 07:57:33 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 07:57:39 +0100philopso11(~caecilius@107.175.39.130)
2026-03-07 08:04:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 08:07:29 +0100philopso11(~caecilius@107.175.39.130) (Remote host closed the connection)
2026-03-07 08:07:39 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 08:09:12 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 08:09:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-07 08:12:39 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 08:13:48 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2026-03-07 08:14:33 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-03-07 08:14:59 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-03-07 08:15:44 +0100 <ski> EvanR : if you want to, you can view the semantic value of a syntactic category / nonterminal to be the value of a particular (synthesized, passed up, output) attribute of that syntactical category, regarding the whole grammar as an attribute grammars. (but attribute grammars are more general, can have multiple attributes on each syntactic category, some of which may be inherited (passed down, input))
2026-03-07 08:18:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 08:18:41 +0100philopsos1(~caecilius@user/philopsos) (Remote host closed the connection)
2026-03-07 08:18:46 +0100 <ski> @hackage uuagc
2026-03-07 08:18:46 +0100 <lambdabot> https://hackage.haskell.org/package/uuagc
2026-03-07 08:19:17 +0100philopsos1(~caecilius@user/philopsos) philopsos
2026-03-07 08:23:17 +0100ski. o O ( "Utrecht University Attribute Grammar Compiler" <https://web.archive.org/web/20160625015520/http://foswiki.cs.uu.nl/foswiki/bin/view/HUT/AttributeG…>,<https://github.com/UU-ComputerScience/uuagc> )
2026-03-07 08:23:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-07 08:24:47 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 08:30:11 +0100rainbyte(~rainbyte@181.47.219.106) (Remote host closed the connection)
2026-03-07 08:31:02 +0100philopsos1(~caecilius@user/philopsos) (Quit: leaving)
2026-03-07 08:31:26 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2026-03-07 08:34:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 08:36:34 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-03-07 08:38:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 08:41:01 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2026-03-07 08:46:41 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-03-07 08:49:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 08:53:52 +0100califax(~califax@user/califx) (Remote host closed the connection)
2026-03-07 08:54:03 +0100califax(~califax@user/califx) califx
2026-03-07 08:56:20 +0100Vizious(~bes@user/Vizious) (Quit: WeeChat 4.6.3)
2026-03-07 08:56:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-07 09:00:21 +0100tromp(~textual@2001:1c00:3487:1b00:e975:d7be:a717:768f)
2026-03-07 09:01:02 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-03-07 09:02:39 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-03-07 09:07:30 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 09:12:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 09:12:45 +0100euphores(~SASL_euph@user/euphores) euphores
2026-03-07 09:15:06 +0100xff0x(~xff0x@2405:6580:b080:900:acbe:a784:57c1:5e52) (Ping timeout: 244 seconds)
2026-03-07 09:18:45 +0100Vizious(~bes@user/Vizious) Vizious
2026-03-07 09:19:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 09:22:34 +0100xff0x(~xff0x@2405:6580:b080:900:acbe:a784:57c1:5e52)
2026-03-07 09:24:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 09:29:46 +0100madresch(~Thunderbi@user/madresch) (Quit: madresch)
2026-03-07 09:30:06 +0100madresch(~Thunderbi@user/madresch) madresch
2026-03-07 09:37:58 +0100xff0x(~xff0x@2405:6580:b080:900:acbe:a784:57c1:5e52) (Ping timeout: 256 seconds)
2026-03-07 09:38:46 +0100xff0x(~xff0x@2405:6580:b080:900:4ba2:34a0:8fe0:b7c2)
2026-03-07 09:39:54 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 244 seconds)
2026-03-07 09:51:32 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 09:52:31 +0100bgamari_(~bgamari@64.223.168.27)
2026-03-07 09:53:14 +0100bgamari(~bgamari@64.223.173.201) (Ping timeout: 245 seconds)
2026-03-07 09:53:33 +0100tzh(~tzh@76.115.131.146) (Quit: zzz)
2026-03-07 09:56:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 10:01:10 +0100tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 265 seconds)
2026-03-07 10:04:15 +0100tomboy64(~tomboy64@user/tomboy64) tomboy64
2026-03-07 10:07:20 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 10:12:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-07 10:15:07 +0100Vizious(~bes@user/Vizious) (Quit: WeeChat 4.6.3)
2026-03-07 10:18:47 +0100humasect(~humasect@192.249.132.90) (Quit: Leaving...)
2026-03-07 10:20:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 10:23:39 +0100Vizious(~bes@user/Vizious) Vizious
2026-03-07 10:24:50 +0100Goodbye_Vincent1(cyvahl@freakshells.net) (Quit: )
2026-03-07 10:25:51 +0100Goodbye_Vincent1(cyvahl@freakshells.net) Goodbye_Vincent
2026-03-07 10:27:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-03-07 10:27:20 +0100czan(~czan@user/mange) czan
2026-03-07 10:35:12 +0100aka_dude(~aka_dude@192.71.166.120) (Quit: Gateway shutdown)
2026-03-07 10:36:08 +0100aka_dude(~aka_dude@2a03:f80:30:f490::1)
2026-03-07 10:38:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 10:41:35 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 10:43:14 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-03-07 10:54:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 10:59:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-03-07 11:00:00 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-03-07 11:04:23 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-03-07 11:07:29 +0100Ranhir(~Ranhir@157.97.53.139) (Quit: KVIrc 5.2.6 Quasar http://www.kvirc.net/)
2026-03-07 11:10:00 +0100merijn(~merijn@62.45.136.136) merijn
2026-03-07 11:14:27 +0100merijn(~merijn@62.45.136.136) (Ping timeout: 244 seconds)
2026-03-07 11:14:56 +0100YoungFrog(~youngfrog@2a02:a03f:ca07:f900:6149:6cda:888:c7a0) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2026-03-07 11:15:15 +0100YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2026-03-07 11:19:03 +0100arandombit(~arandombi@user/arandombit) (Remote host closed the connection)
2026-03-07 11:21:18 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 11:22:44 +0100img(~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
2026-03-07 11:23:59 +0100img(~img@user/img) img
2026-03-07 11:25:05 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2026-03-07 11:26:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-03-07 11:26:34 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-03-07 11:29:48 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 264 seconds)
2026-03-07 11:36:19 +0100Guest89(~Guest89@185.45.21.144)
2026-03-07 11:37:05 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 11:39:06 +0100Beowulf(florian@sleipnir.bandrate.org) (Quit: = "")
2026-03-07 11:39:40 +0100 <Guest89> hello; I'm trying to profile an application that is rather performance sensitive and I'm hoping to reduce allocations as much as possible (this is for the purposes of a master's thesis I'm working on), but I'm having a little trouble isolating the hotspots in my code and understanding whether or not my code itself is overallocating as it is
2026-03-07 11:39:41 +0100 <Guest89> written. would anyone be willing to help me figure things out?
2026-03-07 11:40:11 +0100 <Guest89> garbage collection takes 3 times as long as the code itself for example, which I think seems very excessive. I've been trying to play around with things like ghc-compact but it didn't seem to help things any
2026-03-07 11:41:21 +0100 <haskellbridge> <sm> hi Guest89 . It's not the easiest process, but it will be useful to generate a simple time and space profile - the profiling chapter in the GHC Users's Guide should tell how
2026-03-07 11:41:50 +0100 <haskellbridge> <sm> you must make a profiling build of your app, then run it with special flags
2026-03-07 11:42:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-03-07 11:44:12 +0100 <haskellbridge> <sm> it will be hard to understand completely, but full of useful information. You can also process it with https://hackage.haskell.org/package/profiterole which makes it more readable.
2026-03-07 11:45:29 +0100 <haskellbridge> <sm> and you're right, it's overallocating (garbage collection should be a small percentage of your run time)
2026-03-07 11:45:32 +0100 <Guest89> I'll be honest, I haven't figured out how to interact with packages like that yet; I've used stuff like eventlog2html but compiled as a separate executable
2026-03-07 11:45:59 +0100 <Guest89> I've mostly relied on the metrics provided by different RTS options so far
2026-03-07 11:46:16 +0100 <Guest89> it's verbose but I can navigate it at least?
2026-03-07 11:46:33 +0100 <haskellbridge> <sm> yes, +RTS -s is useful
2026-03-07 11:47:46 +0100 <haskellbridge> <loonycyborg> https://github.com/ezyang/compact <- this might help with excessive gc times
2026-03-07 11:47:48 +0100 <Guest89> I have some data that suggests that the data itself isn't fragmented but the program allocates about twice as much as it uses, which also seems excessive
2026-03-07 11:48:10 +0100 <Guest89> I've already been trying to use GHC.Compact but it doesn't seem to have affected runtimes at all
2026-03-07 11:48:33 +0100 <Guest89> I assume there is some structure in my code that exacerbates the problem but I can't really see where
2026-03-07 11:49:28 +0100 <Guest89> it's supposed to be an implementation of I/O efficient BDD (binary decision diagram) algorithms which necessarily generates a lot of data so I need some way to minimize overhead where it's reasonable
2026-03-07 11:49:57 +0100Ranhir(~Ranhir@157.97.53.139) Ranhir
2026-03-07 11:50:08 +0100 <haskellbridge> <sm> it may be normal that the program uses 2 or even 3 times what you think, depending how you measure it, because of how GC works (making copies)
2026-03-07 11:50:38 +0100arandombit(~arandombi@user/arandombit) arandombit
2026-03-07 11:50:51 +0100 <haskellbridge> <sm> the time and space profile will show you the top users of time and space, and will show you any crazy large call counts indicating things called too often
2026-03-07 11:50:56 +0100 <Guest89> I understand, but the issue is that my implementation uses something like 100 times as much memory as a reference implementation in C++
2026-03-07 11:51:26 +0100 <Guest89> obviously you can't get the performance *that* close, at least not in terms of memory, but as things are it's both an absurd difference and not feasible
2026-03-07 11:51:37 +0100 <haskellbridge> <loonycyborg> Maybe it's thunk explosion somewhere, like from foldl
2026-03-07 11:51:53 +0100 <haskellbridge> <sm> it requires investigation, there's no way round it
2026-03-07 11:52:17 +0100 <Guest89> I've tried both strict and non-strict versions of foldl, and I didn't seem to see any issues
2026-03-07 11:52:40 +0100 <Guest89> most of the actual allocation happens within the core algorithms, but I've also tried varying levels of strictness there
2026-03-07 11:52:49 +0100 <haskellbridge> <loonycyborg> ye it's just an example
2026-03-07 11:53:30 +0100 <Guest89> I just don't see how garbage collection can dominate the runtime so much
2026-03-07 11:55:14 +0100 <haskellbridge> <sm> well, how much memory does +RTS -s say is being allocated ?
2026-03-07 11:55:26 +0100 <Guest89> is it possible to paste pictures over IRC?
2026-03-07 11:55:31 +0100 <Guest89> or should I just put it in writing
2026-03-07 11:55:46 +0100 <haskellbridge> <sm> it's a lot easier if you use the matrix room
2026-03-07 11:55:46 +0100arandombit(~arandombi@user/arandombit) (Ping timeout: 248 seconds)
2026-03-07 11:55:58 +0100 <Guest89> not familiar
2026-03-07 11:56:37 +0100 <Guest89> I guess I'll just write it down:
2026-03-07 11:56:45 +0100 <Leary> Guest89: The problem is less likely to be allocations than unnecessary retention or unwanted thunks bloating your representation. Allocating is almost free, holding onto it is what costs you. In any case, I would start by heap profiling by type, which doesn't actually require a profiling build.
2026-03-07 11:57:14 +0100 <Leary> @where paste
2026-03-07 11:57:14 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2026-03-07 11:57:29 +0100Beowulf(florian@sleipnir.bandrate.org)
2026-03-07 11:57:34 +0100 <Guest89> https://paste.tomsmeding.com/xZZPhSCR
2026-03-07 11:58:11 +0100 <Guest89> the only thing I haven't tried has to force computations in different places
2026-03-07 11:58:49 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2026-03-07 11:58:57 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-03-07 11:59:04 +0100 <Guest89> my reference implementation generates only a few megabytes of data by comparison but again it's not comparable 1:1
2026-03-07 11:59:22 +0100hiecaq(~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.2))
2026-03-07 11:59:28 +0100 <haskellbridge> <sm> how do you do that Leary ?
2026-03-07 11:59:50 +0100 <Guest89> it's one of the -l(x) RTS settings
2026-03-07 12:00:49 +0100 <Leary> -hT: https://downloads.haskell.org/ghc/latest/docs/users_guide/profiling.html#rts-options-heap-prof
2026-03-07 12:00:51 +0100 <Guest89> sorry, -h
2026-03-07 12:01:03 +0100 <Guest89> i'll give it a whirl
2026-03-07 12:01:49 +0100 <Guest89> I have some plots from using -hc that tells me which functions allocate the most but to be honest they're not particularly surprising in that department
2026-03-07 12:02:32 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-03-07 12:02:52 +0100 <Guest89> also I've been relying on using eventlog2html but it seems to break fairly easily. are there any other options for visualizing the profiles?
2026-03-07 12:08:11 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-07 12:11:08 +0100 <Guest89> seems the biggest allocations come from primitive types, tuples etc