2026/01/12

2026-01-12 00:01:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 00:08:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-01-12 00:12:11 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-01-12 00:14:30 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 00:14:44 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 00:18:28 +0100jmcantrell_jmcantrell
2026-01-12 00:19:41 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 00:24:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-12 00:28:15 +0100weary-traveler(~user@user/user363627) user363627
2026-01-12 00:35:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 00:39:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 00:42:38 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-12 00:45:54 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 244 seconds)
2026-01-12 00:45:56 +0100kimiamania997(~67ff9c12@user/kimiamania) (Quit: PegeLinux)
2026-01-12 00:47:03 +0100kimiamania997(~9566fa0a@user/kimiamania) kimiamania
2026-01-12 00:51:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 00:55:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 00:57:10 +0100kimiamania997kimiamania
2026-01-12 01:03:12 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-01-12 01:05:22 +0100trickard_trickard
2026-01-12 01:06:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 01:11:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 01:18:07 +0100werneta(~werneta@71.83.160.242) werneta
2026-01-12 01:21:04 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-12 01:22:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 01:27:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 01:30:09 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-01-12 01:36:49 +0100jmcantrell_jmcantrell
2026-01-12 01:38:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 01:43:21 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-01-12 01:43:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-12 01:46:12 +0100Tuplanolla(~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.)
2026-01-12 01:53:25 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
2026-01-12 01:54:00 +0100cptaffe(~cptaffe@user/cptaffe) (Ping timeout: 252 seconds)
2026-01-12 01:54:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 01:58:25 +0100cptaffe(~cptaffe@user/cptaffe) cptaffe
2026-01-12 01:59:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 02:04:36 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-12 02:09:50 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 02:14:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 02:24:42 +0100divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-01-12 02:25:00 +0100divlamir(~divlamir@user/divlamir) divlamir
2026-01-12 02:25:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 02:28:23 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds)
2026-01-12 02:29:13 +0100attlin(~user@user/attlin) (Read error: Connection reset by peer)
2026-01-12 02:29:52 +0100attlin(~user@user/attlin) attlin
2026-01-12 02:29:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 02:36:09 +0100DetourNe-(DetourNetw@user/DetourNetworkUK) DetourNetworkUK
2026-01-12 02:36:36 +0100DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-01-12 02:38:10 +0100califax(~califax@user/califx) (Remote host closed the connection)
2026-01-12 02:38:23 +0100DetourNe-DetourNetworkUK
2026-01-12 02:39:11 +0100califax(~califax@user/califx) califx
2026-01-12 02:41:02 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 02:43:11 +0100trickard(~trickard@cpe-50-98-47-163.wireline.com.au) (Ping timeout: 244 seconds)
2026-01-12 02:43:37 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 02:44:39 +0100attlin(~user@user/attlin) (Quit: Leaving)
2026-01-12 02:45:47 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 02:47:05 +0100attlin(~user@user/attlin) attlin
2026-01-12 02:47:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-01-12 02:49:11 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 02:49:33 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 02:50:05 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 02:50:28 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 02:52:52 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 02:53:16 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 02:54:14 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 02:55:08 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 02:56:40 +0100omidmash3(~omidmash@user/omidmash) omidmash
2026-01-12 02:58:10 +0100omidmash(~omidmash@user/omidmash) (Ping timeout: 244 seconds)
2026-01-12 02:58:10 +0100omidmash3omidmash
2026-01-12 02:59:04 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 03:01:15 +0100weary-traveler(~user@user/user363627) user363627
2026-01-12 03:03:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 03:04:21 +0100weary-traveler(~user@user/user363627) (Client Quit)
2026-01-12 03:04:24 +0100acidjnk(~acidjnk@p200300d6e7171930d5713a59355b93ee.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2026-01-12 03:04:39 +0100weary-traveler(~user@user/user363627) user363627
2026-01-12 03:10:36 +0100annamalai(~annamalai@157.33.236.194) annamalai
2026-01-12 03:10:53 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Ping timeout: 272 seconds)
2026-01-12 03:14:51 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 03:15:23 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 03:18:35 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 03:18:53 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 03:20:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 03:20:09 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-01-12 03:20:12 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 03:20:32 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 03:20:54 +0100Guest87(~Guest87@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 03:24:41 +0100NotsoRoyal(~NotsoRoya@2600:1006:b100:85b5:0:48:60fc:9f01)
2026-01-12 03:26:02 +0100NotsoRoyal(~NotsoRoya@2600:1006:b100:85b5:0:48:60fc:9f01) (Client Quit)
2026-01-12 03:27:15 +0100NotsoRoyal(~NotsoRoya@user/notsoroyal) NotsoRoyal
2026-01-12 03:30:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 03:34:06 +0100NotsoRoyal(~NotsoRoya@user/notsoroyal) (Quit: Client closed)
2026-01-12 03:35:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 03:45:59 +0100omidmash(~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
2026-01-12 03:46:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 03:49:14 +0100omidmash(~omidmash@user/omidmash) omidmash
2026-01-12 03:51:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-12 04:02:04 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 04:02:17 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 04:02:17 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 04:07:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-01-12 04:17:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 04:23:00 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-12 04:26:39 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2026-01-12 04:26:55 +0100weary-traveler(~user@user/user363627) user363627
2026-01-12 04:33:47 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 04:34:08 +0100werneta_(~werneta@71.83.160.242) werneta
2026-01-12 04:36:28 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-12 04:39:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-01-12 04:40:20 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 04:40:34 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 04:43:42 +0100werneta(~werneta@71.83.160.242) (Quit: Lost terminal)
2026-01-12 04:45:45 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-12 04:46:16 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 04:50:27 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 04:50:37 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 04:52:30 +0100karenw(~karenw@user/karenw) karenw
2026-01-12 04:54:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-12 05:05:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 05:10:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-01-12 05:13:13 +0100itaipu(~itaipu@168.121.99.54) (Ping timeout: 264 seconds)
2026-01-12 05:21:25 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 05:21:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 05:21:38 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 05:25:03 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 05:28:05 +0100itaipu(~itaipu@168.121.99.54) itaipu
2026-01-12 05:28:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 05:31:08 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-12 05:32:10 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 05:32:46 +0100bggd(~bgg@user/bggd) (Remote host closed the connection)
2026-01-12 05:36:48 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 05:39:38 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 05:42:25 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 05:44:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-01-12 05:53:13 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
2026-01-12 05:55:22 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 06:00:16 +0100trickard_trickard
2026-01-12 06:00:37 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 06:04:40 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-12 06:05:43 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds)
2026-01-12 06:07:19 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
2026-01-12 06:07:23 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-01-12 06:10:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 06:15:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 06:17:53 +0100trickard(~trickard@cpe-50-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 06:18:07 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 06:26:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 06:27:43 +0100wickedjargon(~user@2605:8d80:5431:4382:688d:97ac:bae8:f52) wickedjargon
2026-01-12 06:30:27 +0100trickard_trickard
2026-01-12 06:31:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-01-12 06:35:42 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-12 06:40:28 +0100trickard(~trickard@cpe-50-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
2026-01-12 06:40:43 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au)
2026-01-12 06:41:19 +0100mange(~mange@user/mange) (Remote host closed the connection)
2026-01-12 06:42:33 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 06:46:45 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-12 06:47:34 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-12 06:49:58 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 06:50:32 +0100michalz(~michalz@185.246.207.201)
2026-01-12 06:50:55 +0100Square2(~Square4@user/square) Square
2026-01-12 06:53:19 +0100trickard___(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 06:54:01 +0100Square(~Square@user/square) (Ping timeout: 264 seconds)
2026-01-12 06:54:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 06:54:44 +0100trickard___trickard
2026-01-12 06:55:13 +0100trickard_(~trickard@cpe-50-98-47-163.wireline.com.au) (Ping timeout: 264 seconds)
2026-01-12 06:57:18 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-01-12 07:05:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 07:07:21 +0100jreicher(~joelr@user/jreicher) (Quit: In transit)
2026-01-12 07:09:47 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2026-01-12 07:11:39 +0100Brumaire(~no@94.140.114.73) Brumaire
2026-01-12 07:12:15 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 07:17:32 +0100takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-01-12 07:17:56 +0100Pozyomka(~pyon@user/pyon) (Quit: brb)
2026-01-12 07:20:04 +0100Brumaire(~no@94.140.114.73) (Remote host closed the connection)
2026-01-12 07:23:30 +0100acidjnk(~acidjnk@p200300d6e717193058c1de10ab6941e8.dip0.t-ipconnect.de) acidjnk
2026-01-12 07:23:44 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 07:23:54 +0100Pozyomka(~pyon@user/pyon) pyon
2026-01-12 07:28:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 07:36:54 +0100attlin(~user@user/attlin) (Quit: Leaving)
2026-01-12 07:39:31 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 07:41:04 +0100attlin(~user@user/attlin) attlin
2026-01-12 07:44:21 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-01-12 07:48:59 +0100akegalj(~akegalj@78-1-99-9.adsl.net.t-com.hr) akegalj
2026-01-12 07:53:58 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-01-12 07:55:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 07:58:03 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-01-12 07:59:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 08:02:04 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus
2026-01-12 08:11:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 08:13:29 +0100xff0x(~xff0x@2405:6580:b080:900:bec2:3356:308f:6c3f) (Ping timeout: 265 seconds)
2026-01-12 08:15:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-01-12 08:16:19 +0100xff0x(~xff0x@ai083101.d.east.v6connect.net)
2026-01-12 08:23:44 +0100jreicher(~joelr@user/jreicher) jreicher
2026-01-12 08:26:53 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 08:31:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-12 08:34:29 +0100trickard(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 08:34:43 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 08:37:27 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-12 08:42:42 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 08:43:18 +0100chele(~chele@user/chele) chele
2026-01-12 08:49:18 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-12 08:49:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 08:50:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 08:51:47 +0100wickedja`(~user@64.114.24.74)
2026-01-12 08:53:44 +0100wickedjargon(~user@2605:8d80:5431:4382:688d:97ac:bae8:f52) (Ping timeout: 260 seconds)
2026-01-12 08:55:48 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 08:55:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 08:56:02 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 08:58:53 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-01-12 09:02:49 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4)
2026-01-12 09:05:33 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2026-01-12 09:08:29 +0100werneta_(~werneta@71.83.160.242) (Quit: Lost terminal)
2026-01-12 09:13:46 +0100karenw(~karenw@user/karenw) (Ping timeout: 246 seconds)
2026-01-12 09:16:51 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-01-12 09:17:07 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-01-12 09:25:30 +0100akegalj(~akegalj@78-1-99-9.adsl.net.t-com.hr) (Ping timeout: 265 seconds)
2026-01-12 09:41:24 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-12 09:42:28 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds)
2026-01-12 09:42:47 +0100danza(~danza@user/danza) danza
2026-01-12 09:51:39 +0100newmind(~newmind@91-133-90-252.dyn.cablelink.at) (Quit: Client closed)
2026-01-12 09:52:58 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 10:02:07 +0100DetourNe-(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-01-12 10:03:31 +0100DetourNetworkUK(DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-01-12 10:04:20 +0100DetourNe-DetourNetworkUK
2026-01-12 10:14:16 +0100danza(~danza@user/danza) (Remote host closed the connection)
2026-01-12 10:14:22 +0100akegalj(~akegalj@78-1-51-122.adsl.net.t-com.hr)
2026-01-12 10:28:13 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 264 seconds)
2026-01-12 10:28:37 +0100simplystuart(~simplystu@c-75-75-152-164.hsd1.pa.comcast.net)
2026-01-12 10:28:49 +0100danza(~danza@user/danza) danza
2026-01-12 10:36:37 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2026-01-12 10:48:52 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 10:51:46 +0100olivial(~benjaminl@user/benjaminl) (Ping timeout: 246 seconds)
2026-01-12 11:02:27 +0100olivial(~benjaminl@user/benjaminl) benjaminl
2026-01-12 11:07:00 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-12 11:24:22 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-01-12 11:26:04 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
2026-01-12 11:29:40 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4)
2026-01-12 11:30:32 +0100Googulator8(~Googulato@2a01-036d-0106-4994-d043-6d2a-58f7-29ea.pool6.digikabel.hu)
2026-01-12 11:32:08 +0100fp(~Thunderbi@2001:708:20:1406::10c5) fp
2026-01-12 11:34:23 +0100Googulator(~Googulato@178-164-235-64.pool.digikabel.hu) (Ping timeout: 272 seconds)
2026-01-12 11:36:11 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 250 seconds)
2026-01-12 11:38:09 +0100foul_owl(~kerry@94.156.149.97) (Ping timeout: 256 seconds)
2026-01-12 11:39:21 +0100libertyprime(~libertypr@121.74.62.77) (Quit: leaving)
2026-01-12 11:43:09 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 11:51:06 +0100__monty__(~toonn@user/toonn) toonn
2026-01-12 11:52:41 +0100foul_owl(~kerry@94.156.149.96) foul_owl
2026-01-12 11:55:43 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2026-01-12 12:05:46 +0100poscat(~poscat@user/poscat) (Remote host closed the connection)
2026-01-12 12:08:16 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 12:08:35 +0100poscat(~poscat@user/poscat) poscat
2026-01-12 12:15:19 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2026-01-12 12:26:14 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 12:30:54 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2026-01-12 12:31:29 +0100danz61599(~danza@user/danza) danza
2026-01-12 12:33:39 +0100danza(~danza@user/danza) (Ping timeout: 260 seconds)
2026-01-12 12:35:15 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 12:39:31 +0100trickard_trickard
2026-01-12 12:46:34 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds)
2026-01-12 12:51:19 +0100zlqrvx(~zlqrvx@user/zlqrvx) (Ping timeout: 264 seconds)
2026-01-12 12:59:25 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2026-01-12 13:02:15 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2026-01-12 13:04:27 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-01-12 13:04:37 +0100newmind(~newmind@91-133-90-252.dyn.cablelink.at)
2026-01-12 13:05:32 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 13:08:38 +0100srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2026-01-12 13:19:35 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2026-01-12 13:26:36 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 13:36:13 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-01-12 13:57:30 +0100AlexZenon(~alzenon@178.34.150.203) (Quit: ;-)
2026-01-12 13:58:12 +0100AlexNoo(~AlexNoo@178.34.150.203) (Quit: Leaving)
2026-01-12 14:00:02 +0100comerijn(~merijn@77.242.116.146) merijn
2026-01-12 14:02:52 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 246 seconds)
2026-01-12 14:12:45 +0100Googulator8Googulator
2026-01-12 14:20:10 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4)
2026-01-12 14:20:19 +0100AlexNoo(~AlexNoo@178.34.150.203)
2026-01-12 14:23:49 +0100AlexZenon(~alzenon@178.34.150.203)
2026-01-12 14:28:07 +0100AlexZenon(~alzenon@178.34.150.203) (Ping timeout: 240 seconds)
2026-01-12 14:32:59 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 252 seconds)
2026-01-12 14:33:25 +0100AlexZenon(~alzenon@178.34.150.203)
2026-01-12 14:34:43 +0100Alex_test_(~al_test@178.34.150.203)
2026-01-12 14:38:55 +0100Alex_test_(~al_test@178.34.150.203) (Ping timeout: 240 seconds)
2026-01-12 14:45:12 +0100Alex_test_(~al_test@178.34.150.203)
2026-01-12 14:46:13 +0100Square2(~Square4@user/square) (Ping timeout: 264 seconds)
2026-01-12 14:46:19 +0100Alex_test_Alex_test
2026-01-12 14:47:12 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-12 14:51:14 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2026-01-12 14:51:39 +0100chexum_(~quassel@gateway/tor-sasl/chexum) chexum
2026-01-12 14:52:03 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 252 seconds)
2026-01-12 14:54:04 +0100Miroboru(~myrvoll@188.113.115.67) Miroboru
2026-01-12 14:54:51 +0100chexum_(~quassel@gateway/tor-sasl/chexum) (Client Quit)
2026-01-12 14:56:49 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-01-12 15:04:11 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-01-12 15:05:37 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 252 seconds)
2026-01-12 15:05:46 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-01-12 15:05:56 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-01-12 15:07:26 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2026-01-12 15:08:32 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-01-12 15:08:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-01-12 15:13:24 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2026-01-12 15:16:35 +0100rekahsoft(~rekahsoft@70.51.99.245) rekahsoft
2026-01-12 15:16:43 +0100cstml3(~cstml@user/cstml) (Quit: ZNC 1.10.1 - https://znc.in)
2026-01-12 15:16:59 +0100cstml(~cstml@user/cstml) cstml
2026-01-12 15:22:53 +0100trickard(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 15:23:06 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 15:23:46 +0100Inline(~User@cgn-195-14-218-118.nc.de) Inline
2026-01-12 15:31:19 +0100Lycurgus(~juan@user/Lycurgus) Lycurgus
2026-01-12 15:33:27 +0100rainbyte(~rainbyte@186.22.19.214) rainbyte
2026-01-12 15:49:49 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2026-01-12 15:50:25 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 16:01:22 +0100qqq(~qqq@185.54.21.105)
2026-01-12 16:07:49 +0100wickedja`(~user@64.114.24.74) (Ping timeout: 264 seconds)
2026-01-12 16:20:51 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2026-01-12 16:22:17 +0100trickard_trickard
2026-01-12 16:31:09 +0100danza(~danza@user/danza) danza
2026-01-12 16:31:48 +0100fp(~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 265 seconds)
2026-01-12 16:32:17 +0100phoeniciavore(~phoenicia@85.195.216.252)
2026-01-12 16:32:21 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2026-01-12 16:32:55 +0100danz61599(~danza@user/danza) (Ping timeout: 240 seconds)
2026-01-12 16:33:29 +0100 <phoeniciavore> Hello! Does anyone have stack working successfully in a nix shell on macOS? No matter what I configure, I always get `<<loop>>` when I try to run something.
2026-01-12 16:35:44 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 16:35:54 +0100 <danza> phoeniciavore: seems a bit specific, there is #nixos
2026-01-12 16:35:56 +0100 <haskellbridge> <Morj> It's a recent bug in stack in nixos
2026-01-12 16:36:16 +0100 <haskellbridge> <Morj> In nixpkgs rather
2026-01-12 16:36:25 +0100phoeniciavore48(~phoenicia@185.159.157.200)
2026-01-12 16:36:30 +0100 <haskellbridge> <Morj> phoeniciavore https://github.com/commercialhaskell/stack/issues/6824
2026-01-12 16:36:47 +0100CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 256 seconds)
2026-01-12 16:37:18 +0100 <haskellbridge> <Morj> For now I'm just using an older version of stack before this got introduced
2026-01-12 16:37:45 +0100 <phoeniciavore48> oh wow holy crap, I've wasted a day on this. I don't know how I didn't manage to find that page, thanks so much
2026-01-12 16:38:21 +0100 <haskellbridge> <Morj> Are you on latest nixpkgs unstable? I hoped it would be fixed by now
2026-01-12 16:38:55 +0100 <haskellbridge> <Morj> I mean the fix got merged, but I don't know if it's hit unstable yet
2026-01-12 16:39:01 +0100phoeniciavore(~phoenicia@85.195.216.252) (Ping timeout: 272 seconds)
2026-01-12 16:39:20 +0100 <phoeniciavore48> I'm still kind of a noob at nix, but I have a mostly-fresh installation, I don't think I've added unstable packages
2026-01-12 16:40:33 +0100danza(~danza@user/danza) (Remote host closed the connection)
2026-01-12 16:45:05 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-01-12 16:46:10 +0100danza(~danza@user/danza) danza
2026-01-12 16:49:59 +0100Lycurgus(~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2026-01-12 17:01:35 +0100phoeniciavore48(~phoenicia@185.159.157.200) (Quit: Client closed)
2026-01-12 17:10:20 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4)
2026-01-12 17:12:35 +0100akegalj(~akegalj@78-1-51-122.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
2026-01-12 17:25:13 +0100karenw(~karenw@user/karenw) karenw
2026-01-12 17:40:09 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-01-12 17:42:28 +0100Enrico63(~Enrico63@host-87-7-181-238.retail.telecomitalia.it) Enrico63
2026-01-12 17:47:33 +0100st_aldini(~Thunderbi@2605:a601:a07c:7426:52e7:74e7:d63d:c18b) st_aldini
2026-01-12 17:48:11 +0100spew(~spew@user/spew) spew
2026-01-12 17:56:03 +0100danza(~danza@user/danza) (Remote host closed the connection)
2026-01-12 17:59:58 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2026-01-12 18:05:43 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2026-01-12 18:07:16 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-01-12 18:11:19 +0100jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
2026-01-12 18:11:37 +0100chele(~chele@user/chele) (Remote host closed the connection)
2026-01-12 18:11:45 +0100merijn(~merijn@77.242.116.146) merijn
2026-01-12 18:12:27 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-12 18:15:01 +0100Enrico63(~Enrico63@host-87-7-181-238.retail.telecomitalia.it) (Quit: Client closed)
2026-01-12 18:16:39 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2026-01-12 18:19:49 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
2026-01-12 18:24:12 +0100aliston(~Thunderbi@2409:40d2:3055:3e4b:5b0f:9800:efe1:c98)
2026-01-12 18:32:05 +0100aliston(~Thunderbi@2409:40d2:3055:3e4b:5b0f:9800:efe1:c98) (Quit: aliston)
2026-01-12 18:32:24 +0100peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 260 seconds)
2026-01-12 18:33:49 +0100trickard(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 18:34:03 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 18:34:37 +0100aliston(~Thunderbi@2409:40d2:3055:3e4b:5b0f:9800:efe1:c98)
2026-01-12 18:46:01 +0100aliston(~Thunderbi@2409:40d2:3055:3e4b:5b0f:9800:efe1:c98) (Remote host closed the connection)
2026-01-12 18:52:03 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2026-01-12 18:52:15 +0100Tuplanolla(~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) Tuplanolla
2026-01-12 18:56:46 +0100synchromesh(~john@2406:5a00:2412:2c00:6135:a28e:b853:ee07) (Read error: Connection reset by peer)
2026-01-12 18:57:43 +0100synchromesh(~john@2406:5a00:2412:2c00:6135:a28e:b853:ee07) synchromesh
2026-01-12 19:04:52 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-12 19:20:11 +0100trickard_trickard
2026-01-12 19:20:24 +0100qqq(~qqq@185.54.21.105) (Remote host closed the connection)
2026-01-12 19:29:40 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-01-12 19:33:37 +0100karenw(~karenw@user/karenw) (Ping timeout: 246 seconds)
2026-01-12 19:40:24 +0100hakutaku(~textual@chen.yukari.eu.org)
2026-01-12 19:48:49 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-01-12 19:52:22 +0100Guest27(~Guest27@84.88.223.225)
2026-01-12 19:52:57 +0100hakutaku(~textual@chen.yukari.eu.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2026-01-12 19:53:21 +0100Guest27(~Guest27@84.88.223.225) (Client Quit)
2026-01-12 20:00:51 +0100tromp(~textual@2001:1c00:3487:1b00:e166:97e2:1b74:68c4)
2026-01-12 20:11:05 +0100Enrico63(~Enrico63@host-87-7-181-238.retail.telecomitalia.it) Enrico63
2026-01-12 20:15:39 +0100rekahsoft(~rekahsoft@70.51.99.245) (Ping timeout: 260 seconds)
2026-01-12 20:22:30 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-01-12 20:23:29 +0100 <Enrico63> Hello. I've just read this 2020 post by Alexis King (https://lexi-lambda.github.io/blog/2020/01/19/no-dynamic-type-systems-are-not-inherently-more-open/), and I'd like some help to interpret the part I've highlighted in bold in the paragraph below (I'm including the first half of the paragraph for context).
2026-01-12 20:23:30 +0100 <Enrico63> > That said, while you can emulate the dynamic typing of pickle.load() if you really want to by deferring the type check until the last possible moment, the reality is that doing so is almost never actually useful. At some point, you have to make assumptions about the structure of the value in order to use it, and you know what those assumptions
2026-01-12 20:23:30 +0100 <Enrico63> are because you wrote the code. **While there are extremely rare exceptions to this that require true dynamic code loading (such as, say, implementing a REPL for your programming language), they do not occur in day-to-day programming, and programmers in statically-typed languages are perfectly happy to supply their assumptions up front.**
2026-01-12 20:23:31 +0100 <Enrico63> This paragraph is not representative of the whole post, which is about the idea that _static type systems are not fundamentally worse than dynamic type systems at processing data with an open or partially-known structure_; however, the highlighted portion of the paragraph I quoted just piques my curiosity about a different topic, which is "when is
2026-01-12 20:23:31 +0100 <lambdabot> <hint>:1:10: error: parse error on input `,'
2026-01-12 20:23:31 +0100 <Enrico63> a dynamic language (or a feature) really necessary?", and I'm curious as to why "implementing a REPL for your programming language" is such a case.
2026-01-12 20:23:50 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Read error: Connection reset by peer)
2026-01-12 20:23:59 +0100 <Enrico63> Oh, forgot that the leading > has a meaning, sorry
2026-01-12 20:24:33 +0100 <Enrico63> I known the question is not about Haskell, but I assume many people in here can help me understand :/
2026-01-12 20:28:17 +0100 <dolio> Implementing a REPL basically by-definition requires that.
2026-01-12 20:28:29 +0100 <tomsmeding> Enrico63: if you implement a REPL, you genuinely have no assumptions about the values that the user might produce inside that REPL. So assuming that you represent those values somehow in the implementation of your REPL, you will be able to do no better than "it's a value"
2026-01-12 20:28:38 +0100 <dolio> Because you type code into a REPL and it gets dynamically loaded.
2026-01-12 20:29:11 +0100 <tomsmeding> I think this is what Alexis is getting at, in any case
2026-01-12 20:30:00 +0100 <tomsmeding> more concretely, if you implement an interpreter for a language, then how do you represent the values computed in the language you're interpreting?
2026-01-12 20:30:15 +0100 <tomsmeding> (I say "more concretely" because a REPL may well be compiled and not interpreted, like GHCi is)
2026-01-12 20:30:39 +0100 <tomsmeding> (though the boundary between "compiled" and "interpreted" is a bit fuzzy here)
2026-01-12 20:33:39 +0100 <Enrico63> Mmmmmmm. Say I have a language XYZ. And I tell that in XYZ you can write something like `eval("this is XYZ code")`. If this is possible, do you deduce that XYZ is necessarily a dynamically typed langauge?
2026-01-12 20:33:59 +0100 <EvanR> if you're implementing a REPL for a language with a static type system, it just means you need to be dynamically adding to the static type definitions, so future inputs can be parsed and checked
2026-01-12 20:34:17 +0100 <EvanR> the repl input is basically that eval (in some context)
2026-01-12 20:34:37 +0100 <EvanR> doesn't require dynamic typing at all
2026-01-12 20:34:42 +0100 <EvanR> see haskell
2026-01-12 20:35:29 +0100 <EvanR> ghci
2026-01-12 20:35:50 +0100 <tomsmeding> Enrico63: you can have a type with dynamic structure in a statically typed language: see aeson's Value
2026-01-12 20:36:09 +0100 <EvanR> also that though it didn't seem to be the subject of the post
2026-01-12 20:36:21 +0100 <tomsmeding> the "interpreter" example is an argument why you may not know what structure a particular type has, not that a statically-typed language is fundamentally unsuitable
2026-01-12 20:37:09 +0100 <tomsmeding> in this case, note that aeson's Value is an explicit data type in Haskell that forces you to announce that an object comes now (Object), or a string comes now (String), etc.
2026-01-12 20:37:32 +0100 <tomsmeding> whereas in a dynamically typed language, what was represented by that Value could simply be a nesting of objects and strings without intervening data constructors
2026-01-12 20:37:36 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 20:37:37 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-01-12 20:37:52 +0100 <EvanR> interpreter for a language always has to parse its input before doing anything. If it's statically typed it means you have more checks after the parsing, this isn't that much of a fundamental difference between languages
2026-01-12 20:37:54 +0100 <tomsmeding> so for this very dynamic use case, we have to do a bit more work in a statically-typed language than we do in a dynamically-typed language
2026-01-12 20:38:11 +0100trickard(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 20:38:24 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 20:38:25 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2026-01-12 20:38:55 +0100Lord_of_Life_Lord_of_Life
2026-01-12 20:39:05 +0100 <tomsmeding> (notable side track: if the language you're interpreting is itself typed and the AST you're interpreting is type-indexed in haskell too, you can write a strongly-typed interpreter that doesn't need such "tags" (data constructors))
2026-01-12 20:39:16 +0100 <Enrico63> "if you implement an interpreter for a language, then how do you represent the values computed in the language you're interpreting?" Can you explain? It isn't obvious to me
2026-01-12 20:40:42 +0100 <EvanR> can I get a reaction to your eval question.
2026-01-12 20:40:46 +0100 <EvanR> > ord 'a'
2026-01-12 20:40:47 +0100 <lambdabot> 97
2026-01-12 20:40:55 +0100 <EvanR> > chr 'a'
2026-01-12 20:40:56 +0100 <lambdabot> Couldn't match expected type ‘Int’ with actual type ‘Char’
2026-01-12 20:40:56 +0100 <lambdabot> In the first argument of ‘chr’, namely ‘'a'’
2026-01-12 20:40:56 +0100 <lambdabot> In the expression: chr 'a'
2026-01-12 20:41:08 +0100 <EvanR> it's evalling the 'string' but it's not a dynamically typed language
2026-01-12 20:41:56 +0100 <EvanR> the string ord 'a'
2026-01-12 20:42:09 +0100 <Enrico63> What is the language under > ?
2026-01-12 20:42:29 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 20:42:31 +0100 <Enrico63> Haskell?
2026-01-12 20:42:37 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2026-01-12 20:42:48 +0100 <tomsmeding> Enrico63: https://play.haskell.org/saved/nOqh7N84 this is a little interpreter for a stupid little language that only has integers and pairs
2026-01-12 20:42:53 +0100 <Enrico63> Oh, ord is not in prelude, that's why I don't see it in ghci :D
2026-01-12 20:42:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 20:43:05 +0100 <EvanR> import Data.Char
2026-01-12 20:43:45 +0100 <tomsmeding> Enrico63: note Value in my snippet: to represent the value morally written "(2, 3)", I have to write "VPair (VI 2) (VI 3)"
2026-01-12 20:43:59 +0100 <Enrico63> Yeah, EvanR, yeah. Given what it is I thought it was in Prelude, but when I tried in ghci I got the error, and questioned myself why I was giving for granted it was Haskell.
2026-01-12 20:44:05 +0100 <tomsmeding> the VPair takes the place of the (,), but the VI are strictly extra compared to the "typed" representation "(2, 3)"
2026-01-12 20:44:58 +0100 <tomsmeding> this Value is quite dynamic: given a Value, we only know what grammar values follow, but inside that there may be anything
2026-01-12 20:45:16 +0100 <tomsmeding> it's not very "typed"
2026-01-12 20:46:11 +0100 <tomsmeding> in a dynamically typed language, there'd be no need for the VI as you'd just stuff integers in pairs and call it a day
2026-01-12 20:47:18 +0100 <EvanR> .oO( there could plausibly be a language where you don't need the VI but it's not dynamically typed )
2026-01-12 20:48:06 +0100 <tomsmeding> this dynamic/static typing is very much "I know it when I see it" terminology; it's hard to impossible (and probably unproductive) to give a strict definition, but particular languages are generally agreed to be either the one or the other
2026-01-12 20:48:33 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 20:49:02 +0100 <tomsmeding> bonus treat: by making the embedded language strongly typed, we can remove some of the dynamism https://play.haskell.org/saved/a3yS25TF
2026-01-12 20:49:03 +0100 <EvanR> for a long time I felt the distinction comes down to not really the language itself but the workflow, your shit is checked immediately or at the last possible minute
2026-01-12 20:49:32 +0100 <tomsmeding> (note that the error cases in 'interpret' are gone!)
2026-01-12 20:50:10 +0100 <EvanR> for instance, elixir is very dynamic, but is currently being heavily checked in the IDE using what they're calling "a type system"
2026-01-12 20:50:21 +0100 <EvanR> so it's getting pretty similar in some way to a static language
2026-01-12 20:50:37 +0100 <EvanR> but it's the same language as before
2026-01-12 20:51:47 +0100 <tomsmeding> Enrico63: remember that Alexis' point was that you can simulate dynamic typing in a statically-typed language by deferring checks until the last possible moment (see my first 'interpret' function that errors at the last possible moment), and that you generally do _not_ want to do this except for the specific case of writing an interpreter
2026-01-12 20:51:56 +0100euphores(~SASL_euph@user/euphores) euphores
2026-01-12 20:52:07 +0100 <tomsmeding> her point was not that you must use a dynamically-typed language here
2026-01-12 20:53:24 +0100 <tomsmeding> that is: if you're parsing JSON with aeson, you generally *don't* want to parse to a Value ( https://hackage.haskell.org/package/aeson-2.2.3.0/docs/Data-Aeson.html#t:Value ) and deal with wrong keys/types later
2026-01-12 20:53:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 20:53:40 +0100 <tomsmeding> but exceptions to that "generally" exist, and an interpreter is one of them
2026-01-12 20:55:00 +0100 <tomsmeding> (is there a Rice's theorem for rules? Every rule that says something nontrivial has exceptions)
2026-01-12 20:55:43 +0100 <EvanR> someone's law: all rules have exceptions, including someone's law
2026-01-12 20:56:11 +0100 <tomsmeding> indeed, the trivial rules
2026-01-12 20:56:41 +0100 <tomsmeding> thus we conclude that all rules with no exceptions are trivial
2026-01-12 20:57:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 20:57:57 +0100 <Enrico63> I'm re-reading from the beginning :|
2026-01-12 21:00:37 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
2026-01-12 21:00:57 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 21:03:35 +0100sp1ff(~user@2601:1c2:4701:900::327f) (Read error: Connection reset by peer)
2026-01-12 21:07:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 21:11:40 +0100Jackneill(~Jackneill@94-21-195-8.pool.digikabel.hu) (Read error: Connection reset by peer)
2026-01-12 21:11:42 +0100Jackneill_(~Jackneill@94-21-195-8.pool.digikabel.hu)
2026-01-12 21:13:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 21:17:11 +0100 <Enrico63> tomsmeding, I see that in the two code snippets you have an interpreter for a weakly vs strongly typed language. If nothing else, I can `interpret $ Plus (Pair (I 2) (I 3)) (I 4)`, which errors at runtime vs fails to compile. Understood. But when you write "this Value is quite dynamic: given a Value, we only know what grammar values follow, but
2026-01-12 21:17:11 +0100 <Enrico63> inside that there may be anything", what does that exactly mean? Is it that given a Value (in the first snippet) I have to match on constructors (something that happens at runtime), whereas Value (in the second snippet), being parametric carries information in its type?
2026-01-12 21:17:44 +0100spew(~spew@user/spew) (Quit: nyaa~)
2026-01-12 21:18:16 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-12 21:18:56 +0100jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-01-12 21:19:38 +0100Googulator(~Googulato@2a01-036d-0106-4994-d043-6d2a-58f7-29ea.pool6.digikabel.hu) (Quit: Client closed)
2026-01-12 21:19:39 +0100jzargo(~jzargo@user/jzargo) jzargo
2026-01-12 21:19:54 +0100Googulator(~Googulato@2a01-036d-0106-4994-d043-6d2a-58f7-29ea.pool6.digikabel.hu)
2026-01-12 21:27:00 +0100 <tomsmeding> Enrico63: the second snippet is more of a side-note that muddles the waters in this discussion
2026-01-12 21:27:38 +0100 <tomsmeding> the point in the first snippet is that when interpreting 'Fst e', I have to pattern-match on the result of 'interpret e' to check if it is VPair or something else
2026-01-12 21:28:16 +0100 <Enrico63> Ok. I see that.
2026-01-12 21:28:33 +0100 <tomsmeding> this is a check at the last possible time: there is some kind of assumption on the shape of this value (because Fst requires a pair), but our data representation does not encode that assumption
2026-01-12 21:29:10 +0100 <tomsmeding> normally, in a statically typed language, we try to avoid this: when you use 'fst' in haskell, you'd rather like the type system to ensure that the argument to 'fst' is indeed a pair!
2026-01-12 21:29:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 21:29:32 +0100 <Enrico63> Because our data representation is just an Expr, whatever it contains
2026-01-12 21:30:00 +0100 <tomsmeding> this is in contrast to a dynamically typed language, where any use of 'fst' (usually written like [0], or .0, or .first, etc.) may throw because it actually turns out to be a file handle, for example
2026-01-12 21:30:13 +0100 <tomsmeding> Enrico63: no, I'm talking about Value, not Expr
2026-01-12 21:30:23 +0100 <Enrico63> Well, same thing, right?
2026-01-12 21:30:34 +0100 <EvanR> no way
2026-01-12 21:30:34 +0100 <tomsmeding> true, they're both dynamic
2026-01-12 21:30:35 +0100 <Enrico63> It's a single type that hides multiple shapes, no?
2026-01-12 21:30:50 +0100 <tomsmeding> but for Expr, every value is interpretable, whereas certainly not all Value values are valid
2026-01-12 21:31:08 +0100 <tomsmeding> (well, not really every Expr is interpretable either!)
2026-01-12 21:31:25 +0100 <tomsmeding> ("Fst (I 2)" is indeed bad, and you're right that this is yet another example of the same)
2026-01-12 21:31:42 +0100 <EvanR> isn't the secret sauce that a Value evaluates to itself
2026-01-12 21:32:07 +0100 <EvanR> is the output of evaluation
2026-01-12 21:32:20 +0100 <tomsmeding> Alexis' point here, I think, is that my first snippet is fine Haskell code, _despite_ doing a check that is "too late"
2026-01-12 21:32:49 +0100 <tomsmeding> my addendum to that is that Haskell is actually strong enough that if you're lucky enough to be interpreting a typed language, you can fix this
2026-01-12 21:32:53 +0100 <tomsmeding> -> my second snippet
2026-01-12 21:33:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 21:34:30 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-01-12 21:35:45 +0100 <Enrico63> No, I don't get it. Your first snippet is Haskell code full stop; fine or not is an opinion. Her words refer to "rare exceptions [...] that **require** true dynamic code loading".
2026-01-12 21:36:24 +0100 <tomsmeding> Enrico63: I interpret that "dynamic code loading" as applying to my 'interpret': it's loading code (Expr) dynamically (at runtime)
2026-01-12 21:36:26 +0100 <Enrico63> Now, whether I look at the first or second snippet of yours, those are both interpreters, no?
2026-01-12 21:37:07 +0100 <Enrico63> Yeah, and in your second snippet you are not doing that. So where's the "require"?
2026-01-12 21:37:29 +0100 <Enrico63> If something is required, you ought to do it, you can't avoid. Right?
2026-01-12 21:37:29 +0100 <tomsmeding> writing an interpreter by definition requires you to interpret code at runtime -- that's what an interpreter does
2026-01-12 21:38:08 +0100fp(~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) fp
2026-01-12 21:38:13 +0100 <tomsmeding> I think there is little more to the statement than this
2026-01-12 21:39:02 +0100 <tomsmeding> I think it's simply false that all exceptions to the stated "rule" require dynamic code loading; Alexis is simply stating that there are exceptions, _such as_ those that require dynamic code loading
2026-01-12 21:39:47 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 252 seconds)
2026-01-12 21:39:55 +0100 <EvanR> "rare exceptions of dynamic code loading", every computer game out there with a "mod API"
2026-01-12 21:40:29 +0100 <EvanR> ever loaded a TTF font? xD
2026-01-12 21:40:43 +0100 <tomsmeding> or loaded a pickle
2026-01-12 21:40:45 +0100 <EvanR> or a pdf
2026-01-12 21:40:57 +0100 <geekosaur> and glibc does it all the time: name services, locale stuff…
2026-01-12 21:42:31 +0100 <tomsmeding> (the python pickle format includes the ability to call arbitrary functions https://docs.python.org/3/library/pickle.html#restricting-globals )
2026-01-12 21:42:44 +0100 <EvanR> does it run the code as a matter of course during loading?
2026-01-12 21:42:48 +0100 <tomsmeding> yes
2026-01-12 21:42:54 +0100 <EvanR> can you disable it? xD
2026-01-12 21:42:58 +0100 <tomsmeding> which is why using pickle.loads on unsafe input is highly insecure
2026-01-12 21:43:06 +0100 <tomsmeding> read the docs :p
2026-01-12 21:43:14 +0100 <EvanR> python sounds terrifying
2026-01-12 21:43:43 +0100 <tomsmeding> well the docs are rather loud about this
2026-01-12 21:44:10 +0100myme(~myme@2a01:799:d5e:5f00:ff65:28ea:98bb:7f03) (Ping timeout: 246 seconds)
2026-01-12 21:44:59 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 21:45:16 +0100myme(~myme@2a01:799:d5e:5f00:182f:237f:5285:8c47) myme
2026-01-12 21:46:12 +0100oxapentane(~oxapentan@user/oxapentane) (Remote host closed the connection)
2026-01-12 21:46:30 +0100oxapentane(~oxapentan@user/oxapentane) oxapentane
2026-01-12 21:47:14 +0100 <EvanR> good
2026-01-12 21:47:32 +0100 <tomsmeding> it's also a staple in beginner hacking challenges
2026-01-12 21:47:36 +0100 <EvanR> I'm tired of C getting all the blame for security xD
2026-01-12 21:49:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-01-12 21:51:45 +0100a_peirogon(~a_peirogo@user/a-peirogon:62807) a_peirogon
2026-01-12 21:54:52 +0100a_peirogon(~a_peirogo@user/a-peirogon:62807) (WeeChat 4.7.1)
2026-01-12 21:55:57 +0100 <geekosaur> that's lazy people looking for a quick no-thinking belief
2026-01-12 21:56:10 +0100 <geekosaur> (and usually trying to justify their language…)
2026-01-12 22:00:35 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 22:02:25 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2026-01-12 22:04:07 +0100michalz(~michalz@185.246.207.201) (Remote host closed the connection)
2026-01-12 22:05:52 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
2026-01-12 22:06:01 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 22:14:25 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 22:15:40 +0100newmind(~newmind@91-133-90-252.dyn.cablelink.at) (Quit: Client closed)
2026-01-12 22:19:49 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-01-12 22:23:17 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2026-01-12 22:23:30 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 22:25:33 +0100 <hc> You mean nonstrict people? :D
2026-01-12 22:29:11 +0100peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-01-12 22:30:12 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 22:30:34 +0100jmcantrell_jmcantrell
2026-01-12 22:32:05 +0100hakutaku(~textual@chen.yukari.eu.org)
2026-01-12 22:34:04 +0100marlino(~marlino@96-8-193-71.block0.gvtc.com)
2026-01-12 22:35:29 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-01-12 22:40:35 +0100comonad(~comonad@p200300d02722ae00dce4ce9451b59974.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2026-01-12 22:46:08 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 22:46:31 +0100lbseale(~quassel@user/ep1ctetus) (Ping timeout: 264 seconds)
2026-01-12 22:46:55 +0100jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
2026-01-12 22:47:25 +0100takuan(~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 264 seconds)
2026-01-12 22:51:24 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-01-12 22:53:56 +0100pavonia(~user@user/siracusa) siracusa
2026-01-12 22:57:56 +0100lbseale(~quassel@user/ep1ctetus) ep1ctetus
2026-01-12 23:01:41 +0100housemate(~housemate@203.56.146.214) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-01-12 23:01:54 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 23:06:46 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-01-12 23:09:55 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au) (Ping timeout: 240 seconds)
2026-01-12 23:10:13 +0100trickard_(~trickard@cpe-48-98-47-163.wireline.com.au)
2026-01-12 23:10:17 +0100Plane9(~Plane9@2a02:3037:608:ad96:bf2:5d7:81f6:16a1)
2026-01-12 23:17:45 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-01-12 23:18:40 +0100polykernel(~polykerne@user/polykernel) (Ping timeout: 246 seconds)
2026-01-12 23:22:07 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)