| 2026-04-25 00:00:34 +0000 | vetkat | (~vetkat@user/vetkat) (Quit: So long, and thanks for all the fish) |
| 2026-04-25 00:01:05 +0000 | vetkat | (~vetkat@user/vetkat) vetkat |
| 2026-04-25 00:04:47 +0000 | layline-away | (~layline@149.154.26.56) (Quit: ZZZzzz…) |
| 2026-04-25 00:06:05 +0000 | havochunter | (~havochunt@2a02-a467-ef2-0-f6c3-1c29-6870-3369.fixed6.kpn.net) (Ping timeout: 252 seconds) |
| 2026-04-25 00:09:08 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 00:13:04 +0000 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-04-25 00:14:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 00:21:24 +0000 | guest5a9239 | (~guest5a92@2600:1006:b109:fbaf:0:4e:1dc0:2101) |
| 2026-04-25 00:23:52 +0000 | guest5a9239 | (~guest5a92@2600:1006:b109:fbaf:0:4e:1dc0:2101) (Client Quit) |
| 2026-04-25 00:24:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 00:28:58 +0000 | nattkyrro | (~nattkyrro@user/nattkyrro) (Quit: WeeChat 4.6.3) |
| 2026-04-25 00:29:12 +0000 | nattkyrro | (~serenity@user/nattkyrro) nattkyrro |
| 2026-04-25 00:29:38 +0000 | misterfish | (~misterfis@84.53.85.146) misterfish |
| 2026-04-25 00:31:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 00:34:50 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-25 00:42:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 00:47:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 00:48:05 +0000 | Square3 | (~Square@user/square) (Ping timeout: 245 seconds) |
| 2026-04-25 00:49:29 +0000 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 245 seconds) |
| 2026-04-25 00:49:49 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-25 00:58:34 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 01:03:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 01:07:52 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2026-04-25 01:08:43 +0000 | tremon | (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 2026-04-25 01:08:49 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2026-04-25 01:14:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 01:18:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 01:25:50 +0000 | polykernel | (~polykerne@user/polykernel) polykernel |
| 2026-04-25 01:27:05 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2026-04-25 01:27:53 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2026-04-25 01:29:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 01:33:31 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-04-25 01:34:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 01:45:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 01:45:47 +0000 | polykernel_ | (~polykerne@user/polykernel) polykernel |
| 2026-04-25 01:47:30 +0000 | polykernel | (~polykerne@user/polykernel) (Ping timeout: 248 seconds) |
| 2026-04-25 01:47:30 +0000 | polykernel_ | polykernel |
| 2026-04-25 01:50:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 01:54:51 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-25 01:55:02 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2026-04-25 01:58:34 +0000 | layline_ | (~layline@149.154.26.56) layline |
| 2026-04-25 02:01:21 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 02:07:53 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-25 02:18:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 02:23:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 02:26:59 +0000 | xff0x | (~xff0x@2405:6580:b080:900:8e82:192:472e:23f9) (Ping timeout: 245 seconds) |
| 2026-04-25 02:28:28 +0000 | Googulator53 | (~Googulato@78-131-16-66.pool.digikabel.hu) (Quit: Client closed) |
| 2026-04-25 02:28:43 +0000 | Googulator53 | (~Googulato@78-131-16-66.pool.digikabel.hu) |
| 2026-04-25 02:34:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 02:39:29 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 02:50:20 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 02:51:41 +0000 | tok | (~user@user/tok) (Remote host closed the connection) |
| 2026-04-25 02:55:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 02:57:28 +0000 | ephapticpulse | (~user@user/ephapticpulse) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 2026-04-25 03:09:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 03:11:32 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e569d4b66152a1e0e729.dip0.t-ipconnect.de) acidjnk |
| 2026-04-25 03:13:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 03:16:36 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-25 03:24:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 03:25:21 +0000 | havochunter | (~havochunt@2a02-a467-ef2-0-f6c3-1c29-6870-3369.fixed6.kpn.net) |
| 2026-04-25 03:29:22 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-25 03:31:04 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 244 seconds) |
| 2026-04-25 03:58:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 04:02:49 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 04:12:47 +0000 | layline_ | layline-away |
| 2026-04-25 04:13:02 +0000 | layline-away | (~layline@149.154.26.56) (Quit: ZZZzzz…) |
| 2026-04-25 04:14:00 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 04:18:38 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-04-25 04:19:51 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 04:24:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-25 04:27:21 +0000 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
| 2026-04-25 04:35:11 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 04:39:19 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 268 seconds) |
| 2026-04-25 04:39:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 04:42:55 +0000 | emaczen | (~user@user/emaczen) (Ping timeout: 264 seconds) |
| 2026-04-25 04:50:21 +0000 | pyook | (~puke@user/puke) puke |
| 2026-04-25 04:50:22 +0000 | puke | Guest6982 |
| 2026-04-25 04:50:22 +0000 | pyook | puke |
| 2026-04-25 04:50:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 04:53:06 +0000 | Guest6982 | (~puke@user/puke) (Ping timeout: 250 seconds) |
| 2026-04-25 04:55:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 05:00:18 +0000 | <haskellbridge> | <thirdofmay18081814goya> can you use a prism to restrict a traversal to only those values that match the prism? |
| 2026-04-25 05:03:27 +0000 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2026-04-25 05:04:10 +0000 | <haskellbridge> | <thirdofmay18081814goya> oh just a normal composition does this |
| 2026-04-25 05:06:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 05:11:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 05:19:46 +0000 | <EvanR> | parsing as such is "solved" in various ways already. But do we have snazzy functional blow your mind methods to specify a syntax highlight. Yes regex can fail here as usual |
| 2026-04-25 05:20:50 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 05:27:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-25 05:38:53 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 05:43:39 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 05:54:40 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 05:59:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 06:10:32 +0000 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2026-04-25 06:10:34 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 06:13:33 +0000 | tromp | (~textual@2001:1c00:340e:2700:14a2:f0ab:4c98:73c3) |
| 2026-04-25 06:17:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-25 06:21:51 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 06:26:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-25 06:38:00 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-25 06:42:26 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 248 seconds) |
| 2026-04-25 06:49:10 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-25 06:51:59 +0000 | tromp | (~textual@2001:1c00:340e:2700:14a2:f0ab:4c98:73c3) (Ping timeout: 245 seconds) |
| 2026-04-25 06:53:26 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 06:58:30 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2026-04-25 06:58:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 07:02:15 +0000 | nattkyrro | (~serenity@user/nattkyrro) (Quit: WeeChat 4.6.3) |
| 2026-04-25 07:05:52 +0000 | nattkyrro | (~serenity@user/nattkyrro) nattkyrro |
| 2026-04-25 07:08:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 07:09:29 +0000 | rainbyte | (~rainbyte@181.47.219.3) (Ping timeout: 248 seconds) |
| 2026-04-25 07:10:11 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-25 07:15:36 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 07:19:29 +0000 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) (Ping timeout: 252 seconds) |
| 2026-04-25 07:20:03 +0000 | samhh_ | (7569f027cf@2a03:6000:1812:100::e4) (Ping timeout: 244 seconds) |
| 2026-04-25 07:21:41 +0000 | raghavgururajan | (ea769b8000@user/raghavgururajan) (Ping timeout: 252 seconds) |
| 2026-04-25 07:22:15 +0000 | lane | (809450f172@2a03:6000:1812:100::1300) (Ping timeout: 245 seconds) |
| 2026-04-25 07:22:52 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 07:23:22 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) (Ping timeout: 256 seconds) |
| 2026-04-25 07:23:30 +0000 | samhh_ | (7569f027cf@2a03:6000:1812:100::e4) samhh |
| 2026-04-25 07:23:32 +0000 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) ggb |
| 2026-04-25 07:24:42 +0000 | probie | (cc0b34050a@user/probie) (Ping timeout: 244 seconds) |
| 2026-04-25 07:25:06 +0000 | lane | (809450f172@2a03:6000:1812:100::1300) lane |
| 2026-04-25 07:25:32 +0000 | rprospero_ | (eadde01e73@user/rprospero) (Ping timeout: 252 seconds) |
| 2026-04-25 07:25:38 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds) |
| 2026-04-25 07:26:15 +0000 | raghavgururajan | (ea769b8000@user/raghavgururajan) raghavgururajan |
| 2026-04-25 07:26:26 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) k_hachig |
| 2026-04-25 07:27:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 07:27:49 +0000 | probie | (cc0b34050a@user/probie) probie |
| 2026-04-25 07:28:19 +0000 | exfalsoquodlibet | (a7085e0f71@user/exfalsoquodlibet) (Ping timeout: 244 seconds) |
| 2026-04-25 07:28:49 +0000 | rprospero_ | (eadde01e73@user/rprospero) rprospero |
| 2026-04-25 07:29:08 +0000 | finsternis | (~X@23.226.237.192) finsternis |
| 2026-04-25 07:29:21 +0000 | exfalsoquodlibet | (a7085e0f71@user/exfalsoquodlibet) exfalsoquodlibet |
| 2026-04-25 07:34:00 +0000 | exfalsoquodlibet | (a7085e0f71@user/exfalsoquodlibet) (Ping timeout: 244 seconds) |
| 2026-04-25 07:35:02 +0000 | b0o | (0e4a0bf4c9@2a03:6000:1812:100::1bf) (Ping timeout: 244 seconds) |
| 2026-04-25 07:35:42 +0000 | exfalsoquodlibet | (a7085e0f71@user/exfalsoquodlibet) exfalsoquodlibet |
| 2026-04-25 07:35:44 +0000 | b0o | (0e4a0bf4c9@2a03:6000:1812:100::1bf) b0o |
| 2026-04-25 07:37:15 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) (Ping timeout: 245 seconds) |
| 2026-04-25 07:38:22 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 07:38:23 +0000 | hakutaku | (~textual@user/hakutaku) hakutaku |
| 2026-04-25 07:41:05 +0000 | uint64_t | (ec7b9bb9f3@2a03:6000:1812:100::139b) k_hachig |
| 2026-04-25 07:43:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-04-25 07:54:09 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 07:55:39 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2026-04-25 07:58:51 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-25 08:01:31 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-04-25 08:03:45 +0000 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2026-04-25 08:23:53 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 08:28:39 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 08:39:39 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 08:43:15 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2026-04-25 08:46:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-25 08:50:46 +0000 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) (Ping timeout: 276 seconds) |
| 2026-04-25 08:57:37 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 08:57:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 09:02:20 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-04-25 09:02:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-25 09:09:54 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 246 seconds) |
| 2026-04-25 09:13:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 09:18:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 09:24:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 09:26:07 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-25 09:27:49 +0000 | Square3 | (~Square@user/square) Square |
| 2026-04-25 09:29:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 09:30:41 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-25 09:31:14 +0000 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) misterfish |
| 2026-04-25 09:32:07 +0000 | hakutaku | (~textual@user/hakutaku) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2026-04-25 09:32:51 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2026-04-25 09:33:03 +0000 | califax | (~califax@user/califx) califx |
| 2026-04-25 09:33:04 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer) |
| 2026-04-25 09:34:01 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-25 09:34:52 +0000 | Buliarous | (~gypsydang@46.232.210.139) (Remote host closed the connection) |
| 2026-04-25 09:39:35 +0000 | srazkvt | (~sarah@user/srazkvt) srazkvt |
| 2026-04-25 09:40:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 09:42:33 +0000 | acidjnk_new | (~acidjnk@p200300d6e700e510d91d4bffd371b4b0.dip0.t-ipconnect.de) |
| 2026-04-25 09:45:19 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e569d4b66152a1e0e729.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 2026-04-25 09:45:32 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-25 09:51:41 +0000 | humasect_ | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-25 09:51:55 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 264 seconds) |
| 2026-04-25 09:52:54 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:b13e:b5c9:6385:c25b) |
| 2026-04-25 09:52:54 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:b13e:b5c9:6385:c25b) (Changing host) |
| 2026-04-25 09:52:54 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 09:54:17 +0000 | humasect_ | whomasect |
| 2026-04-25 09:56:11 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 09:58:09 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-25 10:00:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 10:01:20 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:b13e:b5c9:6385:c25b) |
| 2026-04-25 10:01:20 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:b13e:b5c9:6385:c25b) (Changing host) |
| 2026-04-25 10:01:20 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 10:11:41 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 10:15:38 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2026-04-25 10:16:59 +0000 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 245 seconds) |
| 2026-04-25 10:17:15 +0000 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 245 seconds) |
| 2026-04-25 10:18:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 10:19:14 +0000 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) misterfish |
| 2026-04-25 10:23:24 +0000 | pabs3 | (~pabs3@user/pabs3) (Ping timeout: 246 seconds) |
| 2026-04-25 10:24:50 +0000 | misterfish | (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 248 seconds) |
| 2026-04-25 10:25:37 +0000 | misterfish | (~misterfis@84.241.219.32) misterfish |
| 2026-04-25 10:25:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 10:26:51 +0000 | ThePenguin | (~ThePengui@cust-95-80-28-221.csbnet.se) ThePenguin |
| 2026-04-25 10:28:04 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) |
| 2026-04-25 10:31:26 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2026-04-25 10:35:51 +0000 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2026-04-25 10:37:24 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 245 seconds) |
| 2026-04-25 10:40:49 +0000 | Googulator53 | (~Googulato@78-131-16-66.pool.digikabel.hu) (Quit: Client closed) |
| 2026-04-25 10:41:05 +0000 | Googulator53 | (~Googulato@78-131-16-66.pool.digikabel.hu) |
| 2026-04-25 10:41:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 10:47:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-25 10:50:14 +0000 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2026-04-25 10:50:29 +0000 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2026-04-25 10:56:57 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-25 10:58:46 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 11:03:21 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-25 11:05:40 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 11:14:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 11:16:14 +0000 | arthurvl | earthy |
| 2026-04-25 11:19:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-25 11:22:34 +0000 | whomasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2026-04-25 11:26:59 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 252 seconds) |
| 2026-04-25 11:28:56 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:cc5a:dcbe:6803:acae) arandombit |
| 2026-04-25 11:28:56 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:cc5a:dcbe:6803:acae) (Changing host) |
| 2026-04-25 11:28:56 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 11:29:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 11:31:03 +0000 | dontdieych | (~dontdieyc@132.226.169.184) dontdieych |
| 2026-04-25 11:33:38 +0000 | dispater | (~dispater@user/brprice) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2026-04-25 11:33:38 +0000 | orcus | (~orcus@user/brprice) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2026-04-25 11:35:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-25 11:35:22 +0000 | dispater | (~dispater@user/brprice) brprice |
| 2026-04-25 11:35:52 +0000 | orcus | (~orcus@user/brprice) brprice |
| 2026-04-25 11:36:09 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 245 seconds) |
| 2026-04-25 11:40:28 +0000 | <edwardk> | thirdofmay1808814goya: filtered (is _Foo) will imit a traversal to targets that pass match the _Foo prism, note this is technically an illegal traversal if you apply updates that change the fact that the prism matches, but no lens police will come for you. |
| 2026-04-25 11:44:15 +0000 | misterfish | (~misterfis@84.241.219.32) (Ping timeout: 246 seconds) |
| 2026-04-25 11:47:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 11:53:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-25 11:56:49 +0000 | nattkyrro | (~serenity@user/nattkyrro) (Quit: WeeChat 4.6.3) |
| 2026-04-25 11:57:06 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 12:05:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 12:08:18 +0000 | misterfish | (~misterfis@31-161-39-137.biz.kpn.net) misterfish |
| 2026-04-25 12:10:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-25 12:11:40 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) |
| 2026-04-25 12:16:49 +0000 | puke | (~puke@user/puke) (Remote host closed the connection) |
| 2026-04-25 12:17:28 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-25 12:21:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 12:24:52 +0000 | puke | (~puke@user/puke) (Remote host closed the connection) |
| 2026-04-25 12:25:22 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-25 12:26:34 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-25 12:30:10 +0000 | tremon | (~tremon@83.80.159.219) tremon |
| 2026-04-25 12:37:16 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 12:37:18 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 256 seconds) |
| 2026-04-25 12:42:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 12:49:10 +0000 | <raincomplex> | does anybody have a good article about the relationship (or lack thereof) between type systems and tests |
| 2026-04-25 12:50:00 +0000 | nattkyrro | (~serenity@user/nattkyrro) nattkyrro |
| 2026-04-25 12:53:15 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-25 12:53:21 +0000 | <ski> | each can do things that the other can't |
| 2026-04-25 12:53:31 +0000 | <jreicher> | raincomplex: what kind of relationship are you expecting? A type check is a proof, but testing.... isn't |
| 2026-04-25 12:54:57 +0000 | <raincomplex> | i'm just looking for a discussion of the differences and overlaps |
| 2026-04-25 12:54:58 +0000 | puke | (~puke@user/puke) (Ping timeout: 250 seconds) |
| 2026-04-25 12:55:56 +0000 | <ski> | a type system can ensure static properties about every possible future run of an operation |
| 2026-04-25 12:57:42 +0000 | <ski> | tests, and contracts checking more generally, can assign blame for individual run-time issues, but generally can't prove the absence |
| 2026-04-25 12:57:45 +0000 | <jreicher> | Emphasis on "every". That's what is special about a proof. That "every" is (probably) infinite. |
| 2026-04-25 12:57:54 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 248 seconds) |
| 2026-04-25 12:58:02 +0000 | <jreicher> | Tests won't get you infinite coverage |
| 2026-04-25 12:59:00 +0000 | <ski> | (then there's property testing, that's using randomly generated test cases, according to some coded distribution of inputs, which is quite useful, because it allows you to state testing *properties*, being more general than particular individual test cases) |
| 2026-04-25 12:59:44 +0000 | <ski> | higher-order contract checking systems can also correctly assign blame, when you're passing a callback to some library procedure, determining whether the callback was in breach, or the library operation itself |
| 2026-04-25 12:59:57 +0000 | <ski> | (or the caller of it, passing invald inputs) |
| 2026-04-25 13:01:21 +0000 | <[exa]> | raincomplex: article more like in "blog post" or "academic paper" |
| 2026-04-25 13:01:25 +0000 | <jreicher> | raincomplex: My hunch is that the infinite/finite distinction is what you're after. If you want to show that a specific set of inputs result in the right behaviour, testing will give you that. But if you're in the realm of "all possible inputs", and that all is either infinite or unfeasibly large, testing won't, but type checking might. |
| 2026-04-25 13:04:13 +0000 | <raincomplex> | i'm thinking about the development pattern of making some changes, and then fixing the errors that arise when compiling/running. in a statically typed language, the type system covers more of this than in a dynamically typed language, where you need tests (manual or automated) to trigger the errors |
| 2026-04-25 13:05:02 +0000 | <ski> | raincomplex : looking into property-based testing (like e.g. QuickCheck and similar), and also (preferably higher-order) contract checking (Racket has one), would probably be helpful, as well |
| 2026-04-25 13:05:13 +0000 | <jreicher> | In my opinion there's no such thing as a dynamically typed language in this sense. The "program verification" aspect of types disappear as soon as you don't have static type checking. What is meant by "dynamic types" is more like "dynamic dispatch", which is something different |
| 2026-04-25 13:06:01 +0000 | <ski> | sometimes it's called "tag checking" |
| 2026-04-25 13:06:14 +0000 | <jreicher> | Put another way, there's no point verifying a program by the time it's running. The damage is already going to be done. |
| 2026-04-25 13:06:45 +0000 | <[exa]> | raincomplex: re development patterns, there's an interesting dynamics -- with static types you usually get the error quicker and more reliably located. So I somehow like the type-errors more than test-errors just because the interaction loop is usually much faster |
| 2026-04-25 13:07:46 +0000 | <jreicher> | I agree with [exa]. In addition to the cost saving of a faster feedback loop for a competent community the type annotations convey semantic information to humans. |
| 2026-04-25 13:08:31 +0000 | <jreicher> | Consider how unpleasant it would be figuring out how to call an API (in any language) without knowing the types of things. |
| 2026-04-25 13:08:49 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 13:12:34 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 265 seconds) |
| 2026-04-25 13:13:07 +0000 | <raincomplex> | i like both static and dynamic languages, and i think i'm just trying to get my head around what i like about each, and what the tradeoffs actually are |
| 2026-04-25 13:13:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 13:14:07 +0000 | <[exa]> | raincomplex: ask what the types can actually do for you, constructively |
| 2026-04-25 13:14:44 +0000 | <[exa]> | in haskell it's quite normal to have whole large parts of programs auto-derived just from the type information |
| 2026-04-25 13:15:44 +0000 | <[exa]> | (more ideally, from type information that you don't even write because it's inferred from the rest of the program) |
| 2026-04-25 13:16:37 +0000 | <raincomplex> | often i feel like tests i write in a dynamic language are implementing a little type system |
| 2026-04-25 13:16:51 +0000 | <raincomplex> | i really like the pattern of following the compiler errors |
| 2026-04-25 13:17:27 +0000 | <raincomplex> | it makes big changes a lot easier to keep track of |
| 2026-04-25 13:20:08 +0000 | <raincomplex> | this article touches on what i'm thinking about, although it's not its main focus https://lexi-lambda.github.io/blog/2020/01/19/no-dynamic-type-systems-are-not-inherently-more-open/ |
| 2026-04-25 13:20:35 +0000 | <raincomplex> | this is one thing that jumps out "The key idea is that many dynamically typed languages idiomatically reuse simple data structures like hashmaps to represent what in statically-typed languages are often represented by bespoke datatypes (usually defined as classes or structs)." |
| 2026-04-25 13:20:36 +0000 | <jreicher> | raincomplex: "dynamic language" is something different again. The terminology is quite confused |
| 2026-04-25 13:20:42 +0000 | <raincomplex> | i'm using it loosely |
| 2026-04-25 13:21:45 +0000 | <raincomplex> | i think the aspect i'm considering most at this moment is the "eagerness" of the type system |
| 2026-04-25 13:22:09 +0000 | <jreicher> | Even "type system" is ambiguous. Do you mean type check? |
| 2026-04-25 13:22:31 +0000 | <raincomplex> | will it complain before i even run the program, or does it only complain when the runtime tries to do something that isn't allowed |
| 2026-04-25 13:23:02 +0000 | <jreicher> | Compile time is better. It's the ultimate "fail fast". |
| 2026-04-25 13:24:29 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 13:25:58 +0000 | <jreicher> | So if you're prepared to accept that, the real question is, what do you think is unavoidably runtime? |
| 2026-04-25 13:26:38 +0000 | <raincomplex> | if there were nothing unavoidably runtime, we wouldn't need to run programs |
| 2026-04-25 13:27:05 +0000 | <[exa]> | raincomplex: oh btw, before I forget -- Julia occupies a very veeeeery interesting overlap of both design "directions"; makes an interesting study material |
| 2026-04-25 13:27:43 +0000 | <jreicher> | raincomplex: I didn't say there was nothing. It's more about choosing the boundary |
| 2026-04-25 13:27:53 +0000 | <raincomplex> | jreicher, right exactly |
| 2026-04-25 13:30:05 +0000 | <raincomplex> | [exa], i don't know much about julia but that definitely sounds interesting |
| 2026-04-25 13:31:39 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-04-25 13:38:21 +0000 | Alex_delenda_est | (~al_test@85.174.181.200) |
| 2026-04-25 13:40:17 +0000 | <ski> | you can have run-time checks inform compile-time types |
| 2026-04-25 13:41:30 +0000 | <raincomplex> | say more |
| 2026-04-25 13:41:43 +0000 | r1bilski | (~r1bilski@user/r1bilski) (Ping timeout: 264 seconds) |
| 2026-04-25 13:42:26 +0000 | <ski> | a run-time check, with branching, that in particular branch(es) add additional typing assumptions |
| 2026-04-25 13:42:32 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 13:42:50 +0000 | <raincomplex> | ah right |
| 2026-04-25 13:43:52 +0000 | <ski> | e.g. you could have an operation `frob :: ... -> IO (exists a. (Map String a,Tag a)', where `Tag' is defined by `data Tag :: * -> * where IntTag :: Tag Int; DoubleTag :: Tag Double; ListTag :: Tag a -> Tag [a]' |
| 2026-04-25 13:45:40 +0000 | <ski> | so, you get back a finite map with values of some unknown/forgotten/opaque/abstract/skolem type `a' (all values have the *same* type `a', for a single invocation of `frob'), but, when you inspect the accompanying value of type `Tag a', pattern-matching on it will inform the compiler about `a' being `Int', or `Double', or lists (possibly nested) of that |
| 2026-04-25 13:46:40 +0000 | <ski> | so, you'd have something like `do ...; (dict,tag) <- frob ...; case tag of TagInt -> {- ok, we have a map of `Int's -}; TagDouble -> ...; TagList tag -> ...' |
| 2026-04-25 13:47:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 13:47:46 +0000 | <ski> | even though the type of `dict' is `Map String a', where `a' is unknown, after the `frob ...' invocation, we can *learn* more information (at run-time) about `a', by matching on `tag :: Tag a', and that knowledge is then statically (at compile-time), available in each corresponding branch |
| 2026-04-25 13:47:56 +0000 | <ski> | raincomplex : makes sense ? |
| 2026-04-25 13:48:50 +0000 | <raincomplex> | honestly my haskell is not very good, but just what you said about branches makes sense to me (x |
| 2026-04-25 13:49:09 +0000 | <ski> | (you could also, similarly, learn that an unknown type, is an instance of this or that type class) |
| 2026-04-25 13:51:42 +0000 | <ski> | btw, you can't really do this with the (restricted, non-general) support for existentials, in say Java, or Rust. because they only allow the idiom `exists a. Widget a *> a', associating an interface dict (for `Widget a' here) with a *single* value of type `a' (rather than e.g. a `Map String a', where you know that all `a's here are the same unknown type) |
| 2026-04-25 13:58:05 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2026-04-25 13:58:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 13:58:55 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-25 14:02:31 +0000 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Quit: ZNC - http://znc.in) |
| 2026-04-25 14:02:49 +0000 | misterfish | (~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 248 seconds) |
| 2026-04-25 14:03:22 +0000 | gehmehgeh | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-25 14:03:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-25 14:04:17 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 265 seconds) |
| 2026-04-25 14:05:26 +0000 | gehmehgeh | gmg |
| 2026-04-25 14:05:52 +0000 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) Ram-Z |
| 2026-04-25 14:09:13 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2026-04-25 14:13:10 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-25 14:14:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 14:18:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 14:19:27 +0000 | misterfish | (~misterfis@31-161-39-137.biz.kpn.net) misterfish |
| 2026-04-25 14:26:49 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 14:31:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-25 14:36:16 +0000 | alhazrod | (uid662262@id-662262.lymington.irccloud.com) |
| 2026-04-25 14:36:31 +0000 | alhazrod | (uid662262@id-662262.lymington.irccloud.com) (Changing host) |
| 2026-04-25 14:36:31 +0000 | alhazrod | (uid662262@user/alhazrod) alhazrod |
| 2026-04-25 14:40:53 +0000 | haritz | (~hrtz@140.228.70.141) |
| 2026-04-25 14:40:54 +0000 | haritz | (~hrtz@140.228.70.141) (Changing host) |
| 2026-04-25 14:40:54 +0000 | haritz | (~hrtz@user/haritz) haritz |
| 2026-04-25 14:42:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 14:47:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-25 14:54:43 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 14:56:43 +0000 | polykernel_ | (~polykerne@user/polykernel) polykernel |
| 2026-04-25 14:58:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 14:59:04 +0000 | polykernel | (~polykerne@user/polykernel) (Ping timeout: 245 seconds) |
| 2026-04-25 14:59:04 +0000 | polykernel_ | polykernel |
| 2026-04-25 15:02:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-04-25 15:03:04 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-25 15:06:30 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Client Quit) |
| 2026-04-25 15:08:24 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-25 15:09:43 +0000 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2026-04-25 15:11:27 +0000 | jmcantrell_ | jmcantrell |
| 2026-04-25 15:13:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 15:18:27 +0000 | weary-traveler | (~user@user/user363627) (Ping timeout: 246 seconds) |
| 2026-04-25 15:18:54 +0000 | r1bilski | (~r1bilski@user/r1bilski) (Ping timeout: 244 seconds) |
| 2026-04-25 15:20:33 +0000 | tusko | (~uwu@user/tusko) (Quit: Lost terminal) |
| 2026-04-25 15:20:46 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-25 15:21:51 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2026-04-25 15:24:42 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-25 15:29:16 +0000 | Raito_Bezarius | (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) (Quit: free()) |
| 2026-04-25 15:31:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 15:33:39 +0000 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 245 seconds) |
| 2026-04-25 15:36:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 15:37:59 +0000 | pipgirl | (~nick@c-76-152-12-168.hsd1.ma.comcast.net) |
| 2026-04-25 15:42:40 +0000 | xff0x | (~xff0x@ah206235.dynamic.ppp.asahi-net.or.jp) (Ping timeout: 245 seconds) |
| 2026-04-25 15:44:00 +0000 | r1bilski | (~r1bilski@user/r1bilski) (Quit: Leaving) |
| 2026-04-25 15:44:08 +0000 | r1bilski | (~r1bilski@user-31-175-22-58.play-internet.pl) |
| 2026-04-25 15:44:08 +0000 | r1bilski | (~r1bilski@user-31-175-22-58.play-internet.pl) (Changing host) |
| 2026-04-25 15:44:08 +0000 | r1bilski | (~r1bilski@user/r1bilski) r1bilski |
| 2026-04-25 15:47:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 15:51:58 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-25 15:55:29 +0000 | Raito_Bezarius | (~Raito@libera/contributor/wireguard.tunneler.raito-bezarius) Raito_Bezarius |
| 2026-04-25 15:57:45 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-25 16:01:05 +0000 | <monochrom> | raincomplex: I teach that in ideal cases for polymorphic functions, parametricity (free theorems) decreases the number of necessary test cases. Suppose I wrote f :: a -> [a]. While the type alone doesn't tell you everything, add one test case and together they do. If testing discovers f () = [(), ()], then you know f x = [x, x] for all x, so for example you don't need to re-test with f 4. |
| 2026-04-25 16:03:09 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-25 16:07:49 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 245 seconds) |
| 2026-04-25 16:15:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 16:19:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-04-25 16:20:09 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod |
| 2026-04-25 16:20:35 +0000 | srazkvt | (~sarah@user/srazkvt) (Quit: Konversation terminated!) |
| 2026-04-25 16:24:54 +0000 | gf31 | (~gf3@user/gf3) (Quit: bye bye bye) |
| 2026-04-25 16:30:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 16:32:06 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:b126:fd53:cf84:2645) |
| 2026-04-25 16:32:06 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:b126:fd53:cf84:2645) (Changing host) |
| 2026-04-25 16:32:06 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-25 16:34:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-25 16:45:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-25 16:47:07 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |