| 2025-12-12 00:00:30 +0100 | jmcantrell_ | jmcantrell |
| 2025-12-12 00:02:12 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) emmanuelux |
| 2025-12-12 00:03:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-12-12 00:04:06 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2025-12-12 00:10:10 +0100 | xff0x | (~xff0x@2405:6580:b080:900:bfb6:36fd:6718:66b7) (Ping timeout: 246 seconds) |
| 2025-12-12 00:12:33 +0100 | yin | (~zero@user/zero) zero |
| 2025-12-12 00:14:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 00:14:52 +0100 | xff0x | (~xff0x@2405:6580:b080:900:bfb6:36fd:6718:66b7) |
| 2025-12-12 00:18:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 00:21:35 +0100 | yin | (~zero@user/zero) (Remote host closed the connection) |
| 2025-12-12 00:21:51 +0100 | yin | (~zero@user/zero) zero |
| 2025-12-12 00:26:29 +0100 | haskellbridge | (~hackager@96.28.224.214) (Remote host closed the connection) |
| 2025-12-12 00:28:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 00:30:51 +0100 | haskellbridge | (~hackager@96.28.224.214) hackager |
| 2025-12-12 00:30:51 +0100 | ChanServ | +v haskellbridge |
| 2025-12-12 00:33:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-12 00:34:12 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 00:36:59 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 00:39:31 +0100 | tccq | (~user@user/tccq) (Remote host closed the connection) |
| 2025-12-12 00:39:50 +0100 | Pozyomka | (~pyon@user/pyon) (Quit: WeeChat 4.8.1) |
| 2025-12-12 00:40:42 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
| 2025-12-12 00:44:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 00:48:17 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 00:49:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 00:53:18 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 2025-12-12 00:56:24 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds) |
| 2025-12-12 01:00:30 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 01:05:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 01:16:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 01:22:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 01:34:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 01:36:04 +0100 | tjbc | (~tjbc@user/fliife) (Ping timeout: 260 seconds) |
| 2025-12-12 01:38:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 01:45:42 +0100 | Googulator9 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 01:45:50 +0100 | Googulator42 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 01:49:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 01:51:21 +0100 | tjbc | (~tjbc@user/fliife) fliife |
| 2025-12-12 01:53:56 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2025-12-12 01:55:10 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 01:55:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 01:55:24 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 02:05:13 +0100 | xff0x | (~xff0x@2405:6580:b080:900:bfb6:36fd:6718:66b7) (Ping timeout: 260 seconds) |
| 2025-12-12 02:05:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 02:10:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 02:15:42 +0100 | Googulator42 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 02:15:44 +0100 | Googulator25 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 02:18:16 +0100 | trickard_ | trickard |
| 2025-12-12 02:21:04 +0100 | Square2 | (~Square@user/square) Square |
| 2025-12-12 02:21:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 02:23:51 +0100 | iqubic | (~sophia@2601:602:9203:1660:c86e:69df:f359:9bd7) iqubic |
| 2025-12-12 02:24:15 +0100 | Square | (~Square4@user/square) (Ping timeout: 240 seconds) |
| 2025-12-12 02:24:40 +0100 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2025-12-12 02:24:53 +0100 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2025-12-12 02:26:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 02:26:43 +0100 | Tuplanolla | (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2025-12-12 02:29:52 +0100 | acidjnk | (~acidjnk@p200300d6e717192391252480cf04477b.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2025-12-12 02:33:24 +0100 | omidmash1 | (~omidmash@user/omidmash) omidmash |
| 2025-12-12 02:34:55 +0100 | omidmash | (~omidmash@user/omidmash) (Ping timeout: 240 seconds) |
| 2025-12-12 02:34:56 +0100 | omidmash1 | omidmash |
| 2025-12-12 02:37:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 02:42:09 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-12 02:45:34 +0100 | tt123160 | (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Ping timeout: 246 seconds) |
| 2025-12-12 02:45:37 +0100 | Googulator25 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 02:45:40 +0100 | Googulator41 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 02:53:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 02:57:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 03:03:15 +0100 | Square2 | (~Square@user/square) (Ping timeout: 240 seconds) |
| 2025-12-12 03:08:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 03:11:04 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2025-12-12 03:13:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 03:19:57 +0100 | tt123160 | (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) tt1231 |
| 2025-12-12 03:23:43 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds) |
| 2025-12-12 03:24:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 03:25:37 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2025-12-12 03:30:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 03:40:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 03:45:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 03:45:56 +0100 | Googulator45 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 03:46:13 +0100 | Googulator41 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 03:46:40 +0100 | pointlessslippe- | (~pointless@62.106.85.17) (Read error: Connection reset by peer) |
| 2025-12-12 03:49:02 +0100 | pointlessslippe1 | (~pointless@62.106.85.17) pointlessslippe1 |
| 2025-12-12 03:55:47 +0100 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-12-12 03:56:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 03:57:57 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:23b7:e1a3:7fe:1a22) |
| 2025-12-12 03:58:53 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-12-12 04:00:49 +0100 | karenw | (~karenw@user/karenw) (Ping timeout: 246 seconds) |
| 2025-12-12 04:02:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 04:14:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 04:14:49 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 246 seconds) |
| 2025-12-12 04:15:58 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-12 04:18:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 04:29:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 04:30:01 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 2025-12-12 04:32:35 +0100 | monochrom | (trebla@216.138.220.146) (Quit: ZNC 1.9.1+deb2build5 - https://znc.in) |
| 2025-12-12 04:34:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-12 04:40:55 +0100 | monochrom | (trebla@216.138.220.146) |
| 2025-12-12 04:45:32 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 04:45:49 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 04:45:57 +0100 | Googulator45 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 04:50:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-12 04:56:31 +0100 | AlexNoo_ | (~AlexNoo@94.233.240.243) |
| 2025-12-12 04:59:05 +0100 | AlexZenon | (~alzenon@85.174.180.40) (Ping timeout: 245 seconds) |
| 2025-12-12 04:59:35 +0100 | AlexNoo | (~AlexNoo@85.174.180.40) (Ping timeout: 240 seconds) |
| 2025-12-12 04:59:40 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-12-12 05:01:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 05:03:11 +0100 | AlexZenon | (~alzenon@94.233.240.243) |
| 2025-12-12 05:03:49 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 246 seconds) |
| 2025-12-12 05:05:10 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2025-12-12 05:05:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-12 05:17:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 05:20:50 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 05:21:03 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 05:22:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 05:31:15 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-12 05:31:49 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-12 05:32:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 05:36:18 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-12-12 05:37:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-12 05:37:52 +0100 | Pozyomka | (~pyon@user/pyon) (Quit: brb) |
| 2025-12-12 05:38:11 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
| 2025-12-12 05:41:01 +0100 | rekahsoft | (~rekahsoft@70.51.99.245) (Remote host closed the connection) |
| 2025-12-12 05:48:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 05:53:52 +0100 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds) |
| 2025-12-12 05:54:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 05:54:08 +0100 | sp1ff | (~user@2601:1c2:4c00:6820::c593) sp1ff |
| 2025-12-12 05:56:46 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-12-12 05:57:20 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-12 05:57:31 +0100 | Pozyomka | (~pyon@user/pyon) (Quit: brb) |
| 2025-12-12 05:59:12 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
| 2025-12-12 06:04:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 06:09:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-12 06:13:13 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2025-12-12 06:20:41 +0100 | Googulator78 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 06:20:45 +0100 | Googulator82 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 06:21:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 06:25:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 06:25:42 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
| 2025-12-12 06:32:34 +0100 | bggd_ | (~bgg@2a01:e0a:fd5:f510:6dea:c12d:7938:d990) |
| 2025-12-12 06:34:55 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 2025-12-12 06:35:41 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-12 06:36:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 06:43:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 06:44:55 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2025-12-12 06:50:42 +0100 | Googulator66 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 06:50:48 +0100 | Googulator82 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 06:51:58 +0100 | michalz | (~michalz@185.246.207.201) |
| 2025-12-12 06:54:39 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 06:58:44 +0100 | Pozyomka | (~pyon@user/pyon) (Quit: WeeChat 4.8.1) |
| 2025-12-12 07:01:29 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
| 2025-12-12 07:01:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-12 07:06:04 +0100 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2025-12-12 07:24:15 +0100 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds) |
| 2025-12-12 07:25:55 +0100 | Pixi | (~Pixi@user/pixi) (Ping timeout: 240 seconds) |
| 2025-12-12 07:27:58 +0100 | Pixi | (~Pixi@user/pixi) Pixi |
| 2025-12-12 07:28:52 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-12-12 07:29:18 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-12 07:38:12 +0100 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 244 seconds) |
| 2025-12-12 07:50:44 +0100 | Googulator66 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 07:50:52 +0100 | Googulator66 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 07:56:37 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 255 seconds) |
| 2025-12-12 07:58:11 +0100 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
| 2025-12-12 08:00:26 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2025-12-12 08:12:01 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 08:20:36 +0100 | ft | (~ft@p508db844.dip0.t-ipconnect.de) (Quit: leaving) |
| 2025-12-12 08:20:46 +0100 | Googulator4 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) |
| 2025-12-12 08:21:03 +0100 | Googulator66 | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-12 08:26:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 08:31:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 08:37:00 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 2025-12-12 08:41:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 08:46:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-12 08:52:34 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2025-12-12 08:56:46 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-12 08:57:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 09:00:40 +0100 | peutri_ | (~peutri@bobo.desast.re) (Ping timeout: 265 seconds) |
| 2025-12-12 09:02:36 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2025-12-12 09:03:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 09:08:50 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 09:09:04 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 09:11:00 +0100 | Googulator4 | Googulator |
| 2025-12-12 09:11:56 +0100 | peutri | (~peutri@bobo.desast.re) peutri |
| 2025-12-12 09:13:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 09:13:23 +0100 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 260 seconds) |
| 2025-12-12 09:14:07 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 09:15:09 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Client Quit) |
| 2025-12-12 09:15:49 +0100 | Googulator | (~Googulato@2a01-036d-0106-01cb-8583-2a78-a55c-bee5.pool6.digikabel.hu) (Ping timeout: 272 seconds) |
| 2025-12-12 09:17:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 09:19:21 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 09:19:37 +0100 | larsivi | (~larsivi@user/larsivi) (Quit: WeeChat 4.8.1) |
| 2025-12-12 09:21:04 +0100 | AlexNoo_ | AlexNoo |
| 2025-12-12 09:24:22 +0100 | trickard_ | trickard |
| 2025-12-12 09:28:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 09:34:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-12 09:37:04 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod |
| 2025-12-12 09:43:08 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-12 09:44:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 09:47:20 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
| 2025-12-12 09:49:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 09:49:18 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 2025-12-12 09:58:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 09:58:54 +0100 | bggd_ | bggd |
| 2025-12-12 10:04:01 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 10:10:18 +0100 | bggd | (~bgg@2a01:e0a:fd5:f510:6dea:c12d:7938:d990) (Changing host) |
| 2025-12-12 10:10:18 +0100 | bggd | (~bgg@user/bggd) bggd |
| 2025-12-12 10:17:55 +0100 | acidjnk | (~acidjnk@p200300d6e717190330ae5c7be13b8759.dip0.t-ipconnect.de) acidjnk |
| 2025-12-12 10:30:27 +0100 | <gentauro> | I really enjoyed HH talk "Excel: The World’s Most Successful Functional Programming Platform By Houston Haynes": https://www.youtube.com/watch?v=rpe5vrhFATA. I'm glad I convinced him and FP Sweden to do it :) |
| 2025-12-12 10:44:03 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 2025-12-12 10:52:04 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 2025-12-12 10:54:05 +0100 | chele | (~chele@user/chele) chele |
| 2025-12-12 10:56:37 +0100 | AnkurAlpha | (~ankur@user/AnkurAlpha) AnkurAlpha |
| 2025-12-12 10:56:49 +0100 | Googulator | (~Googulato@team.broadbit.hu) |
| 2025-12-12 10:57:11 +0100 | poscat0x04 | (~poscat@user/poscat) poscat |
| 2025-12-12 10:57:35 +0100 | poscat | (~poscat@user/poscat) (Ping timeout: 240 seconds) |
| 2025-12-12 10:57:43 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds) |
| 2025-12-12 11:02:00 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-12 11:02:29 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-12-12 11:03:42 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 11:03:55 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 11:04:59 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-12 11:08:27 +0100 | poscat0x04 | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-12-12 11:08:30 +0100 | trickard_ | trickard |
| 2025-12-12 11:09:41 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-12-12 11:14:14 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Quit: leaving) |
| 2025-12-12 11:14:25 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-12 11:17:23 +0100 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-12-12 11:18:06 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-12-12 11:24:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 11:25:07 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:23b7:e1a3:7fe:1a22) (Remote host closed the connection) |
| 2025-12-12 11:27:55 +0100 | Tuplanolla | (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) Tuplanolla |
| 2025-12-12 11:37:47 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 11:38:15 +0100 | <gentauro> | related xD https://xkcd.com/2453/ |
| 2025-12-12 11:42:56 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 11:44:50 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 11:52:30 +0100 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 244 seconds) |
| 2025-12-12 12:00:40 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 12:02:07 +0100 | <Enrico63> | Hi, there. I'd like some clarification on rank-n types. |
| 2025-12-12 12:02:08 +0100 | <Enrico63> | The id function has type `forall a. a -> a` which is rank 1, right? |
| 2025-12-12 12:03:53 +0100 | <lucabtz> | yes rank 1 |
| 2025-12-12 12:05:25 +0100 | <Enrico63> | Instead, if I have `(forall a. a -> a) -> b`, that's rank 2, right? |
| 2025-12-12 12:05:37 +0100 | <Enrico63> | (Be damned the formatting, ahhah) |
| 2025-12-12 12:06:02 +0100 | <Enrico63> | Well, that's the same as `forall b. (forall a. a -> a) -> b` |
| 2025-12-12 12:06:09 +0100 | <Enrico63> | It is rank 2, correct? |
| 2025-12-12 12:07:01 +0100 | <mauke> | https://wiki.haskell.org/Rank-N_types |
| 2025-12-12 12:07:52 +0100 | <Enrico63> | I come _from_ that page |
| 2025-12-12 12:08:52 +0100 | <mauke> | well, it's what I would've used to answer your question :-) |
| 2025-12-12 12:09:41 +0100 | <Enrico63> | Yeah, I don't quite get what's unclear to me, so I asked those previous questions to have something to hinge on |
| 2025-12-12 12:10:10 +0100 | <mauke> | (the answer is yes) |
| 2025-12-12 12:12:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-12-12 12:12:08 +0100 | <haskellbridge> | <loonycyborg> I personally found the trick to understanding rank-n is that they're about polymorphic functions that can take other polymorphic functions. |
| 2025-12-12 12:12:31 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 12:12:37 +0100 | <Enrico63> | loonycyborg, yeah, I'm also (halfway) there |
| 2025-12-12 12:12:39 +0100 | <haskellbridge> | <loonycyborg> With rank 1 all variables are set at outer scope and you won't be passing any polymorphic functions. |
| 2025-12-12 12:13:44 +0100 | <Enrico63> | Whereas rank 2 means that the implementation (i.e. the inner scope) chooses the type variable of the inner forall |
| 2025-12-12 12:15:05 +0100 | <Enrico63> | I kind of get that. I suppose I want to do a quiz to make sure I have truly understood, rather than memoized some patterns |
| 2025-12-12 12:15:15 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 12:16:06 +0100 | <lucabtz> | i think rank N means it has rank N-1 as its arguments, the base case rank 0 being a monomorphic value/function |
| 2025-12-12 12:16:30 +0100 | <mauke> | forall b. ((forall a. a -> b) -> b) -> b |
| 2025-12-12 12:16:59 +0100 | <mauke> | is that rank-2? |
| 2025-12-12 12:17:12 +0100 | <Enrico63> | mauke, that is rank 3? |
| 2025-12-12 12:17:20 +0100 | <mauke> | according to the wiki page, it's rank 2 |
| 2025-12-12 12:18:04 +0100 | <Enrico63> | Umpf |
| 2025-12-12 12:18:21 +0100 | <mauke> | but then, according to that page (forall a. a) -> Int is rank 1 |
| 2025-12-12 12:18:26 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-12 12:18:40 +0100 | <mauke> | this doesn't feel right |
| 2025-12-12 12:18:53 +0100 | <Enrico63> | Yeah, how's that? `Int -> Int` is rank 0, right? |
| 2025-12-12 12:19:07 +0100 | <Enrico63> | `forall a. a -> a` (e.g. the type of id) is rank 1 |
| 2025-12-12 12:19:13 +0100 | pabs3 | (~pabs3@user/pabs3) (Ping timeout: 246 seconds) |
| 2025-12-12 12:19:41 +0100 | <Enrico63> | and the caller "chooses" the `a` |
| 2025-12-12 12:20:26 +0100 | <Enrico63> | then in `(forall a. a -> a) -> b`, where there's an implicit `forall b.` in front of everyting, b is chosen by the caller, but a is chosen by the implementation |
| 2025-12-12 12:20:59 +0100 | <Enrico63> | so that means `(forall a. a -> a) -> b` is rank 2, to my understanding. How is `(forall a. a) -> Int` any different in this respect? |
| 2025-12-12 12:21:21 +0100 | <mauke> | the wiki page defines "rank" as the number of foralls in the type |
| 2025-12-12 12:22:31 +0100 | <lucabtz> | mauke: it doesnt though, it says forall a. a -> (forall b. b -> a) is rank 1 |
| 2025-12-12 12:22:31 +0100 | <Enrico63> | *which are nested and cannot be merged with a previous one* |
| 2025-12-12 12:22:53 +0100 | <mauke> | lucabtz: that one is mergeable |
| 2025-12-12 12:23:08 +0100 | <lucabtz> | yeah you were missing what Enrico63 added :P |
| 2025-12-12 12:23:18 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 12:23:33 +0100 | <mauke> | that still leaves (forall a. a) -> Int at rank 1 |
| 2025-12-12 12:23:47 +0100 | <Enrico63> | It should be rank 2, I understand |
| 2025-12-12 12:24:48 +0100 | trickard_ | trickard |
| 2025-12-12 12:25:31 +0100 | <Enrico63> | For instance, this compiles |
| 2025-12-12 12:25:31 +0100 | <Enrico63> | foo :: (forall a. a) -> Int |
| 2025-12-12 12:25:32 +0100 | <Enrico63> | foo x = x + 1 |
| 2025-12-12 12:26:10 +0100 | <Enrico63> | which means that the implementation of foo is choosing a=Int, which could not be the case if foo was rank 1, because the caller would choose a. |
| 2025-12-12 12:26:11 +0100 | <Enrico63> | No? |
| 2025-12-12 12:28:10 +0100 | <Enrico63> | Anyway, going to the exercises I found on the book "Thinking with Types" that I'm reading, `Int -> forall a. a -> a` is rank 1, correct? |
| 2025-12-12 12:30:52 +0100 | <mauke> | this looks much better: https://stackoverflow.com/questions/22362196/what-is-n-in-rankntypes |
| 2025-12-12 12:31:19 +0100 | <mauke> | Enrico63: yes, that's a H98 type (by floating out the forall) |
| 2025-12-12 12:31:28 +0100 | <merijn> | Enrico63: This is the clearest example of Rank1 vs RankN I cooked up a few years ago: https://gist.github.com/merijn/77e3fa9757658e59b01d |
| 2025-12-12 12:32:20 +0100 | <mauke> | yeah, when I search for "rank-n type", most results are examples like ^ |
| 2025-12-12 12:32:33 +0100 | <mauke> | which is useless if I want to know the actual definition of "rank" |
| 2025-12-12 12:32:43 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2025-12-12 12:32:46 +0100 | <merijn> | sure |
| 2025-12-12 12:32:58 +0100 | <mauke> | the SO page I found is better, but includes two incompatible answers :-) |
| 2025-12-12 12:33:18 +0100 | <merijn> | then again, in practice there's very little value in knowing the exact rank of a type :p |
| 2025-12-12 12:33:30 +0100 | Square2 | (~Square@user/square) Square |
| 2025-12-12 12:33:37 +0100 | <merijn> | In practice the value is understanding "why does this not compile and how can I make it do what I want" :p |
| 2025-12-12 12:34:01 +0100 | <merijn> | Especially since GHC doesn't even distinguish between Rank2 and RankN |
| 2025-12-12 13:01:13 +0100 | __monty__ | (~toonn@user/toonn) (Ping timeout: 264 seconds) |
| 2025-12-12 13:02:19 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-12-12 13:02:46 +0100 | pabs3 | (~pabs3@user/pabs3) (Ping timeout: 244 seconds) |
| 2025-12-12 13:04:28 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
| 2025-12-12 13:16:13 +0100 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) Katarushisu |
| 2025-12-12 13:20:57 +0100 | Googulator50 | (~Googulato@team.broadbit.hu) |
| 2025-12-12 13:24:43 +0100 | Googulator | (~Googulato@team.broadbit.hu) (Ping timeout: 272 seconds) |
| 2025-12-12 13:27:35 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 2025-12-12 13:29:25 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Ping timeout: 264 seconds) |
| 2025-12-12 13:30:17 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-12-12 13:35:12 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-12 13:35:24 +0100 | <lucabtz> | isnt the definition as rank N has as parameters rank N-1 types correct? |
| 2025-12-12 13:36:47 +0100 | xff0x | (~xff0x@2405:6580:b080:900:d3a9:b169:555e:b9ec) |
| 2025-12-12 13:38:55 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-12 13:44:11 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 13:55:30 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Quit: leaving) |
| 2025-12-12 13:56:23 +0100 | Googulator50 | (~Googulato@team.broadbit.hu) (Ping timeout: 272 seconds) |
| 2025-12-12 13:59:13 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-12 14:02:24 +0100 | lucabtz_ | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-12 14:03:39 +0100 | <merijn> | Yes, but then pinning down exactly what that means isn't always obvious in Haskell given that the source language doesn't always match the one with explicit foralls directly |
| 2025-12-12 14:04:34 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Ping timeout: 246 seconds) |
| 2025-12-12 14:06:30 +0100 | <lucabtz_> | though the only foralls which can be implicit are the ones at the top level no? |
| 2025-12-12 14:07:05 +0100 | lucabtz_ | lucabtz |
| 2025-12-12 14:12:55 +0100 | fp | (~Thunderbi@2001:708:150:10::7e06) fp |
| 2025-12-12 14:17:41 +0100 | fp | (~Thunderbi@2001:708:150:10::7e06) (Ping timeout: 244 seconds) |
| 2025-12-12 14:24:02 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 14:24:15 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 14:27:31 +0100 | fp | (~Thunderbi@130.233.70.102) fp |
| 2025-12-12 14:29:35 +0100 | stef204 | (~stef204@user/stef204) stef204 |
| 2025-12-12 14:31:33 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 14:40:57 +0100 | Everything | (~Everythin@172-232-54-192.ip.linodeusercontent.com) (Quit: leaving) |
| 2025-12-12 15:03:54 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 15:06:49 +0100 | karenw | (~karenw@user/karenw) karenw |
| 2025-12-12 15:08:37 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
| 2025-12-12 15:20:54 +0100 | Square | (~Square4@user/square) Square |
| 2025-12-12 15:26:44 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Ping timeout: 260 seconds) |
| 2025-12-12 15:30:16 +0100 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2025-12-12 15:32:05 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Max SendQ exceeded) |
| 2025-12-12 15:33:29 +0100 | yin | (~zero@user/zero) (Killed (NickServ (GHOST command used by Guest900!~yin@a89-153-191-69.cpe.netcabo.pt))) |
| 2025-12-12 15:34:51 +0100 | ft | (~ft@p508db844.dip0.t-ipconnect.de) ft |
| 2025-12-12 15:39:13 +0100 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2025-12-12 15:39:19 +0100 | Square | (~Square4@user/square) (Ping timeout: 244 seconds) |
| 2025-12-12 15:42:22 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Max SendQ exceeded) |
| 2025-12-12 15:49:29 +0100 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2025-12-12 15:50:36 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Max SendQ exceeded) |
| 2025-12-12 15:50:43 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
| 2025-12-12 15:51:23 +0100 | sldkfjlskdjf | (~zero@user/zero) zero |
| 2025-12-12 15:51:29 +0100 | sldkfjlskdjf | (~zero@user/zero) (Remote host closed the connection) |
| 2025-12-12 15:51:44 +0100 | sldkfjlskdjf | (~zero@user/zero) zero |
| 2025-12-12 15:54:11 +0100 | fp | (~Thunderbi@130.233.70.102) (Quit: fp) |
| 2025-12-12 15:54:32 +0100 | fp | (~Thunderbi@2001:708:20:1406::10c5) fp |
| 2025-12-12 15:55:49 +0100 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2025-12-12 15:57:36 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Max SendQ exceeded) |
| 2025-12-12 15:59:55 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Ping timeout: 240 seconds) |
| 2025-12-12 16:00:17 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 16:05:00 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 16:05:46 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2025-12-12 16:06:11 +0100 | sldkfjlskdjf | yin |
| 2025-12-12 16:10:09 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 16:13:45 +0100 | Wygulmage | (~Wygulmage@user/Wygulmage) Wygulmage |
| 2025-12-12 16:14:57 +0100 | trickard_ | trickard |
| 2025-12-12 16:21:15 +0100 | jreicher | (~user@user/jreicher) (Ping timeout: 240 seconds) |
| 2025-12-12 16:21:54 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 16:22:07 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 16:22:33 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-12 16:22:40 +0100 | jreicher | (~user@user/jreicher) jreicher |
| 2025-12-12 16:22:48 +0100 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2025-12-12 16:26:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 16:27:01 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) (Ping timeout: 264 seconds) |
| 2025-12-12 16:27:24 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Ping timeout: 260 seconds) |
| 2025-12-12 16:29:06 +0100 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2025-12-12 16:32:46 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 16:34:02 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2025-12-12 16:37:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 16:41:15 +0100 | skum | (~skum@user/skum) (Quit: WeeChat 4.8.1) |
| 2025-12-12 16:42:17 +0100 | ouilemur | (~jgmerritt@user/ouilemur) (Ping timeout: 250 seconds) |
| 2025-12-12 16:43:50 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-12-12 16:44:25 +0100 | ouilemur | (~jgmerritt@user/ouilemur) ouilemur |
| 2025-12-12 16:44:43 +0100 | fp | (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 264 seconds) |
| 2025-12-12 16:50:38 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:c928:dba3:487d:1bc) |
| 2025-12-12 16:52:07 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 16:54:04 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Quit: Lost terminal) |
| 2025-12-12 16:54:47 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 16:54:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 16:55:00 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 16:59:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 17:00:46 +0100 | skum | (~skum@user/skum) skum |
| 2025-12-12 17:03:36 +0100 | pebble | (~pebble@37.63.32.91) pebble |
| 2025-12-12 17:05:21 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
| 2025-12-12 17:10:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 17:15:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-12 17:16:17 +0100 | <ski> | Enrico63 : "Well, that's the same as `forall b. (forall a. a -> a) -> b`" -- no |
| 2025-12-12 17:20:47 +0100 | <Enrico63> | ski, why? |
| 2025-12-12 17:26:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 17:27:23 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-12 17:30:49 +0100 | __monty__ | (~toonn@user/toonn) (Ping timeout: 250 seconds) |
| 2025-12-12 17:31:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 17:34:26 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2025-12-12 17:39:33 +0100 | ski | blinks |
| 2025-12-12 17:42:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 17:47:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-12 17:48:09 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 17:48:38 +0100 | <Enrico63> | ski , blinks? |
| 2025-12-12 17:49:00 +0100 | <EvanR> | is (forall a . a -> a) -> b the same as forall b . (forall a . a -> a) -> b |
| 2025-12-12 17:49:06 +0100 | <EvanR> | using implicit forall it seems so |
| 2025-12-12 17:50:54 +0100 | <kuribas> | Yes, except for scoped type variables. |
| 2025-12-12 17:53:37 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-12-12 17:58:21 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:00:12 +0100 | trickard_ | trickard |
| 2025-12-12 18:01:07 +0100 | <ski> | Enrico63 : `[a] -> [a]' is not the same as `forall a. [a] -> [a]' |
| 2025-12-12 18:02:25 +0100 | <ski> | Enrico63 : if it was, then `Eq a => a -> ([a] -> [a]) -> [a] -> [[a]]' would be the same as `Eq a => a -> (forall a. [a] -> [a]) -> [a] -> [[a]]', which is obviously nonsense |
| 2025-12-12 18:03:16 +0100 | <mauke> | similarly, [a] -> Int is not the same as ([a] -> Int) |
| 2025-12-12 18:03:18 +0100 | <ski> | Enrico63 : in *most* (but not all) circumstances, `foo :: ..a..' is interpreted as `foo :: forall a. ..a..' |
| 2025-12-12 18:03:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-12-12 18:03:33 +0100 | <mauke> | if it was, then [a] -> Integer would be the same as ([a] -> Int)eger |
| 2025-12-12 18:03:55 +0100 | __monty__ | (~toonn@user/toonn) (Ping timeout: 240 seconds) |
| 2025-12-12 18:05:43 +0100 | <ski> | (exceptions being method signatures in `class' (and `instance') declarations, which have the type variables in the head of the declaration free; field/component signatures in record notation for data types; also local signatures (e.g. with `where' or `let'-`in') if you have non local tyvars in scope, using `ScopedTypeVariables') |
| 2025-12-12 18:08:28 +0100 | <ski> | so, in `class Eq a where (==) :: a -> a -> Bool', the `(==)' method here is *not* polymorphic, it is monomorphic in the specific `a' being an instance of `Eq' that we're talking about. otoh, in `class Functor f where fmap :: (a -> b) -> f a -> f b', the signature here *is* interpreted as `fmap :: forall a b. (a -> b) -> f a -> f b' (so polymorphic in `a' and `b', but not in `f') |
| 2025-12-12 18:08:47 +0100 | <ski> | (so, that's a "polymorphic method" example) |
| 2025-12-12 18:11:24 +0100 | <Enrico63> | When I wrote `(forall a. a -> a) -> b` [...] the same as `forall b. (forall a. a -> a) -> b` , I think I was assuming a leading `::`, i.e. that that was the whole signature. Is that what makes the difference? |
| 2025-12-12 18:11:47 +0100 | <ski> | if you'd represent type class instances using "dictionaries"/"vtables" (records of methods), then `Eq a' (as above) would be represented as `data EqDict a = MkEqDict {(==) :: a -> a -> Bool}', while for the `Functor' case we'd get `data FunctorDict f = MkFunctorDict {fmap :: forall a b. (a -> b) -> f a -> f b}', where the component/field here is polymorphic, so that the `MkFunctorDict' has a rank-1 type |
| 2025-12-12 18:12:00 +0100 | <ski> | Enrico63 : for the most part, yes |
| 2025-12-12 18:12:41 +0100 | <ski> | (but there are contexts in which tyvars are not implicitly `forall'-quantified, like when the tyvar is already in scope outside of the signature) |
| 2025-12-12 18:12:48 +0100 | acidjnk | (~acidjnk@p200300d6e717190330ae5c7be13b8759.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2025-12-12 18:14:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:14:07 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2025-12-12 18:14:50 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 244 seconds) |
| 2025-12-12 18:18:51 +0100 | sindu | (~sindu@2.148.32.207.tmi.telenormobil.no) |
| 2025-12-12 18:19:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 18:22:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:27:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 18:27:50 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-12-12 18:28:28 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-12 18:38:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:40:37 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:9d3f:f177:3913:c0a7) kuribas |
| 2025-12-12 18:40:46 +0100 | AnkurAlpha | (~ankur@user/AnkurAlpha) (Quit: leaving) |
| 2025-12-12 18:42:37 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 2025-12-12 18:42:46 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2025-12-12 18:42:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 18:43:24 +0100 | ZLima12_ | (~zlima12@user/meow/ZLima12) ZLima12 |
| 2025-12-12 18:43:54 +0100 | ZLima12 | (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds) |
| 2025-12-12 18:50:42 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
| 2025-12-12 18:53:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:58:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 18:59:45 +0100 | Wygulmage | (~Wygulmage@user/Wygulmage) (Ping timeout: 272 seconds) |
| 2025-12-12 19:02:04 +0100 | <EvanR> | mauke, lol |
| 2025-12-12 19:02:27 +0100 | <EvanR> | x cannot possibly equal 3 |
| 2025-12-12 19:02:57 +0100 | <EvanR> | if it was, then boxcar would = bo3car |
| 2025-12-12 19:03:08 +0100 | <EvanR> | clearly nonsense |
| 2025-12-12 19:03:35 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:9d3f:f177:3913:c0a7) (Remote host closed the connection) |
| 2025-12-12 19:03:49 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:d615:9737:dd6:7ffc) kuribas |
| 2025-12-12 19:03:54 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
| 2025-12-12 19:09:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 19:12:15 +0100 | karenw | (~karenw@user/karenw) (Ping timeout: 240 seconds) |
| 2025-12-12 19:14:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 19:18:00 +0100 | defragger | (~random@i5C742CE2.versanet.de) (Remote host closed the connection) |
| 2025-12-12 19:23:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 19:25:55 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2025-12-12 19:28:35 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:c928:dba3:487d:1bc) (Remote host closed the connection) |
| 2025-12-12 19:28:40 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 19:28:53 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 19:30:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-12 19:30:59 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 19:38:56 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:d615:9737:dd6:7ffc) (Ping timeout: 256 seconds) |
| 2025-12-12 19:41:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 19:46:10 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-12-12 19:47:17 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:426f:b0ba:9911:461) kuribas |
| 2025-12-12 19:50:04 +0100 | <gentauro> | is there a way to install a `cabal` project with `stack`? |
| 2025-12-12 19:50:25 +0100 | <gentauro> | I recall there was a `cabal2stack` right? |
| 2025-12-12 19:50:38 +0100 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2025-12-12 19:53:57 +0100 | <tomsmeding> | gentauro: what do you mean with "install", precisely? And does that "cabal project" depend on a cabal.project file, or is it simply a package with a something.cabal file? |
| 2025-12-12 19:55:35 +0100 | <gentauro> | tomsmeding: Nevermind, found another project where I'm doing this. It appears that by adding a `stack.yaml` like this: https://paste.tomsmeding.com/LZ8m3NLq allows you to `stack build` and `stack install`. All good :) |
| 2025-12-12 19:57:18 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 19:57:54 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 20:02:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 20:13:05 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 20:14:13 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2025-12-12 20:16:47 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:426f:b0ba:9911:461) (Ping timeout: 250 seconds) |
| 2025-12-12 20:17:35 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 20:21:44 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 20:23:28 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-12-12 20:24:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 20:29:25 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 20:31:50 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-12-12 20:31:57 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 2025-12-12 20:34:34 +0100 | Lord_of_Life_ | Lord_of_Life |
| 2025-12-12 20:36:26 +0100 | Psychotic1 | (~Psychotic@2600:1007:b0a4:1e01:107b:5dec:754f:b240) |
| 2025-12-12 20:40:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 20:42:36 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2025-12-12 20:42:43 +0100 | <__monty__> | Does sortBy work for a partial ordering relation? |
| 2025-12-12 20:43:00 +0100 | <__monty__> | I think not since it would not be transitive? |
| 2025-12-12 20:43:47 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
| 2025-12-12 20:44:57 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-12-12 20:46:46 +0100 | <tomsmeding> | __monty__: how would you pass a partial ordering to sortBy? As a partial function? |
| 2025-12-12 20:49:39 +0100 | <dolio> | If it's just false both ways for incomparable elements, then you're not going to get reliable results, no. |
| 2025-12-12 20:53:58 +0100 | myme | (~myme@2a01:799:d5e:5f00:b47a:83fd:4eab:92be) (Ping timeout: 260 seconds) |
| 2025-12-12 20:54:31 +0100 | <davean> | There are levels of partiality |
| 2025-12-12 20:54:48 +0100 | myme | (~myme@2a01:799:d5e:5f00:e46f:4150:c7c:78b) myme |
| 2025-12-12 20:56:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 20:57:18 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 21:00:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-12-12 21:09:33 +0100 | fgarcia | (~lei@user/fgarcia) (Quit: Remote host closed the connection) |
| 2025-12-12 21:11:51 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 21:12:18 +0100 | <ski> | __monty__ : it would still be transitive, but that wouldn't help |
| 2025-12-12 21:13:03 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 2025-12-12 21:13:22 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-12-12 21:15:51 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-12-12 21:16:58 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-12-12 21:18:06 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds) |
| 2025-12-12 21:18:07 +0100 | ljdarj1 | ljdarj |
| 2025-12-12 21:19:41 +0100 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2025-12-12 21:25:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 21:27:50 +0100 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 4.2.1) |
| 2025-12-12 21:30:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 21:32:00 +0100 | Psychotic1 | (~Psychotic@2600:1007:b0a4:1e01:107b:5dec:754f:b240) (Quit: Leaving) |
| 2025-12-12 21:34:02 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 21:34:15 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 21:34:24 +0100 | <jreicher> | You could have a stable sort treating incomparable as "equal", but you'd have to be really sure that's what you wanted. |
| 2025-12-12 21:36:05 +0100 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2025-12-12 21:39:52 +0100 | <haskellbridge> | <loonycyborg> There are some dedicated libraries for partial orders, like that one: https://hackage.haskell.org/package/pomaps-0.2.0.1/docs/Data-POSet.html |
| 2025-12-12 21:41:15 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 21:42:45 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2025-12-12 21:45:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 21:50:35 +0100 | trickard_ | trickard |
| 2025-12-12 21:50:53 +0100 | califax | (~califax@user/califx) califx |
| 2025-12-12 21:54:18 +0100 | <EvanR> | so you have the floats 1.2299999999999998, 1.23, and 1.2300000000000002. The 1.23 is really 1.229999999999999982236431605997495353221893310546875, but no matter what I give showFFloat it shows 1.230000000000000000000, just zeros after this |
| 2025-12-12 21:54:42 +0100 | <EvanR> | is there a "show float with more decimals but correctly" |
| 2025-12-12 21:56:57 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2025-12-12 21:57:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 21:58:25 +0100 | <int-e> | > toRational (1.23) * 10^53 |
| 2025-12-12 21:58:27 +0100 | <lambdabot> | 122999999999999998223643160599749535322189331054687500 % 1 |
| 2025-12-12 22:00:36 +0100 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
| 2025-12-12 22:00:47 +0100 | <EvanR> | what the heck is showFFloat even doing, hopefully getting performance out of its corner cutting |
| 2025-12-12 22:01:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 22:02:47 +0100 | <EvanR> | 1.2300000000000000000000000000000 just seems absurd |
| 2025-12-12 22:02:53 +0100 | <Lycurgus> | engrish is so much funl, case in point, that is the 'even' of exasperation |
| 2025-12-12 22:02:58 +0100 | <monochrom> | > showFFloat Nothing 1.23 "" |
| 2025-12-12 22:02:59 +0100 | <lambdabot> | "1.23" |
| 2025-12-12 22:03:02 +0100 | <Lycurgus> | *fun |
| 2025-12-12 22:03:14 +0100 | <EvanR> | yes Nothing seems to evoke the blessed algorithm |
| 2025-12-12 22:03:45 +0100 | <monochrom> | > showFFloat (Just 100) 0 "" |
| 2025-12-12 22:03:46 +0100 | <lambdabot> | "0.0000000000000000000000000000000000000000000000000000000000000000000000000... |
| 2025-12-12 22:03:51 +0100 | <EvanR> | which is fine but it takes Just something for seemingly a reason |
| 2025-12-12 22:04:49 +0100 | <monochrom> | So I think the author just decided that if you have "Just n" then it unconditionally ensures n digits. |
| 2025-12-12 22:05:01 +0100 | <EvanR> | maybe if you ask for over 17 significant digits it just slaps 0 on the rest |
| 2025-12-12 22:05:04 +0100 | <monochrom> | Even if you're just printing 0. |
| 2025-12-12 22:05:16 +0100 | <EvanR> | I know |
| 2025-12-12 22:05:28 +0100 | <EvanR> | but in the case of 1.23 it's not the correct digits |
| 2025-12-12 22:05:53 +0100 | <EvanR> | (1.229999999999999982236431605997495353221893310546875) |
| 2025-12-12 22:06:15 +0100 | <monochrom> | Oh! Now I see what you mean. |
| 2025-12-12 22:09:42 +0100 | <monochrom> | > length "1.2299999999999999" |
| 2025-12-12 22:09:43 +0100 | <lambdabot> | 18 |
| 2025-12-12 22:11:05 +0100 | <EvanR> | basically it's taking the liberty of rounding up |
| 2025-12-12 22:11:07 +0100 | <EvanR> | in this case |
| 2025-12-12 22:11:16 +0100 | <EvanR> | not really, I'm sure, but that's the effect |
| 2025-12-12 22:12:12 +0100 | <monochrom> | let s = "1.22999999999999999" in (length s, read s :: Double) |
| 2025-12-12 22:12:16 +0100 | <monochrom> | > let s = "1.22999999999999999" in (length s, read s :: Double) |
| 2025-12-12 22:12:17 +0100 | <lambdabot> | (19,1.23) |
| 2025-12-12 22:12:36 +0100 | <EvanR> | leading me to the conclusion that: truncating "the string" of a positive float is not the same as rounding down |
| 2025-12-12 22:12:50 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 22:12:55 +0100 | <EvanR> | which I was trying to demonstrate for reasons |
| 2025-12-12 22:13:09 +0100 | <monochrom> | I think it's because at the limited precision of 18 digits, the thing is indistinguishable from 1.23 |
| 2025-12-12 22:13:28 +0100 | <EvanR> | yes, 1.23 |
| 2025-12-12 22:13:57 +0100 | <EvanR> | but not 1.23 plus 100 zeros |
| 2025-12-12 22:14:21 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 22:14:34 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |