| 2026-04-08 00:00:57 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 00:05:15 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-08 00:06:53 +0000 | _testytest | (19541d7ff8@irc.cheogram.com) |
| 2026-04-08 00:07:30 +0000 | craunts795335385 | (~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-08 00:08:16 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 00:16:26 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 00:21:40 +0000 | arandombit | (~arandombi@user/arandombit) (Remote host closed the connection) |
| 2026-04-08 00:23:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-08 00:25:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 00:28:17 +0000 | tremon | (~tremon@83.80.159.219) (Remote host closed the connection) |
| 2026-04-08 00:28:48 +0000 | xff0x | (~xff0x@ai112096.d.east.v6connect.net) (Ping timeout: 255 seconds) |
| 2026-04-08 00:29:32 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-04-08 00:30:42 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e57155f396ad0c3fa022.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2026-04-08 00:33:01 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 00:38:19 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 2026-04-08 00:46:42 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-08 00:49:35 +0000 | traxex | (traxex@user/traxex) (Ping timeout: 252 seconds) |
| 2026-04-08 01:06:26 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 01:10:44 +0000 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 245 seconds) |
| 2026-04-08 01:11:04 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-04-08 01:30:15 +0000 | vetkat | (~vetkat@user/vetkat) (Read error: Connection reset by peer) |
| 2026-04-08 01:30:28 +0000 | vetkat | (~vetkat@user/vetkat) vetkat |
| 2026-04-08 01:30:54 +0000 | emmanuelux | (~em@user/emmanuelux) (Quit: bye) |
| 2026-04-08 01:32:40 +0000 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-04-08 01:34:20 +0000 | emmanuelux | (~em@user/emmanuelux) (Client Quit) |
| 2026-04-08 01:37:14 +0000 | emmanuelux | (~em@user/emmanuelux) emmanuelux |
| 2026-04-08 01:53:50 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 01:58:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-08 02:07:15 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds) |
| 2026-04-08 02:09:19 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-08 02:13:58 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 256 seconds) |
| 2026-04-08 02:21:03 +0000 | pyook | (~puke@user/puke) puke |
| 2026-04-08 02:21:03 +0000 | puke | Guest4209 |
| 2026-04-08 02:21:03 +0000 | pyook | puke |
| 2026-04-08 02:23:18 +0000 | Guest4209 | (~puke@user/puke) (Ping timeout: 250 seconds) |
| 2026-04-08 02:27:22 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-08 02:32:06 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 255 seconds) |
| 2026-04-08 02:33:06 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-08 02:42:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 02:46:57 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-08 02:58:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 03:04:53 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-08 03:13:43 +0000 | test-account | (~test-acco@142.171.233.104) |
| 2026-04-08 03:15:44 +0000 | test-account | (~test-acco@142.171.233.104) () |
| 2026-04-08 03:16:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 03:16:47 +0000 | test-account | (~test-acco@142.171.233.104) |
| 2026-04-08 03:20:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-04-08 03:21:51 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-08 03:25:51 +0000 | test-account | (~test-acco@142.171.233.104) () |
| 2026-04-08 03:31:29 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 03:35:39 +0000 | nek0 | (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-08 03:36:08 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-04-08 03:40:18 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 268 seconds) |
| 2026-04-08 03:41:52 +0000 | nek0 | (~nek0@user/nek0) nek0 |
| 2026-04-08 03:43:36 +0000 | dutchie | (~dutchie@user/dutchie) (Remote host closed the connection) |
| 2026-04-08 03:44:57 +0000 | dutchie | (~dutchie@user/dutchie) dutchie |
| 2026-04-08 04:02:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 04:02:28 +0000 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
| 2026-04-08 04:06:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-08 04:08:59 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 04:13:38 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-08 04:24:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 04:26:01 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-04-08 04:27:07 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-08 04:29:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-04-08 04:33:58 +0000 | michalz | (~michalz@185.246.207.221) |
| 2026-04-08 04:34:15 +0000 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2026-04-08 04:39:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 04:42:49 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) (Quit: Client closed) |
| 2026-04-08 04:43:04 +0000 | Googulator | (~Googulato@2a01-036d-0106-496b-154a-c7fc-9f43-bd2d.pool6.digikabel.hu) |
| 2026-04-08 04:46:39 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-08 04:56:42 +0000 | puke | (~puke@user/puke) (Ping timeout: 250 seconds) |
| 2026-04-08 04:57:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 05:00:00 +0000 | poscat0x04 | (~poscat@user/poscat) poscat |
| 2026-04-08 05:02:07 +0000 | poscat | (~poscat@user/poscat) (Ping timeout: 264 seconds) |
| 2026-04-08 05:02:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-08 05:08:19 +0000 | synchrom1 | (~john@2406:5a00:2412:2c00:915:5a48:7d6a:9a9f) synchromesh |
| 2026-04-08 05:09:47 +0000 | uli-fem | (~uli-fem@115.128.112.118) |
| 2026-04-08 05:10:48 +0000 | synchromesh | (~john@2406:5a00:2412:2c00:915:5a48:7d6a:9a9f) (Ping timeout: 246 seconds) |
| 2026-04-08 05:13:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 05:17:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-08 05:21:50 +0000 | takuan | (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 245 seconds) |
| 2026-04-08 05:24:02 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 244 seconds) |
| 2026-04-08 05:25:06 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds) |
| 2026-04-08 05:26:27 +0000 | Lears | (~Leary@user/Leary/x-0910699) Leary |
| 2026-04-08 05:27:36 +0000 | Leary | (~Leary@user/Leary/x-0910699) (Ping timeout: 246 seconds) |
| 2026-04-08 05:38:48 +0000 | Lears | Leary |
| 2026-04-08 05:41:07 +0000 | uli-fem | (~uli-fem@115.128.112.118) (Ping timeout: 264 seconds) |
| 2026-04-08 05:43:51 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 05:48:07 +0000 | tusko | (~uwu@user/tusko) (Remote host closed the connection) |
| 2026-04-08 05:48:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-08 05:48:25 +0000 | tusko | (~uwu@user/tusko) tusko |
| 2026-04-08 05:56:18 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-08 05:59:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 06:00:58 +0000 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2026-04-08 06:01:06 +0000 | divlamir_ | (~divlamir@user/divlamir) divlamir |
| 2026-04-08 06:01:57 +0000 | divlamir_ | divlamir |
| 2026-04-08 06:03:53 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-08 06:09:56 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 06:12:02 +0000 | tusko | (~uwu@user/tusko) (Remote host closed the connection) |
| 2026-04-08 06:12:14 +0000 | tusko | (~uwu@user/tusko) tusko |
| 2026-04-08 06:14:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-08 06:25:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 06:25:22 +0000 | Pozyomka | (~pyon@user/pyon) (Ping timeout: 248 seconds) |
| 2026-04-08 06:31:57 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-08 06:39:39 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-04-08 06:43:21 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 06:43:21 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds) |
| 2026-04-08 06:47:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-04-08 06:48:16 +0000 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:4452:7d8d:4d90:7a3c) (Ping timeout: 276 seconds) |
| 2026-04-08 06:50:52 +0000 | tromp | (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f) |
| 2026-04-08 06:51:06 +0000 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:2d0c:5918:2bfa:eb5e) youngfrog |
| 2026-04-08 06:57:19 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen |
| 2026-04-08 06:58:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-08 07:03:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-08 07:05:47 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2026-04-08 07:12:17 +0000 | sord937_ | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2026-04-08 07:15:31 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 265 seconds) |
| 2026-04-08 07:18:59 +0000 | <gentauro> | % concat $ Just [] |
| 2026-04-08 07:18:59 +0000 | <yahb2> | [] |
| 2026-04-08 07:19:06 +0000 | <gentauro> | % concat $ Nothing |
| 2026-04-08 07:19:06 +0000 | <yahb2> | [] |
| 2026-04-08 07:22:37 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e57180608d91043d28ce.dip0.t-ipconnect.de) |
| 2026-04-08 07:32:53 +0000 | <ski> | > concat [[[],[1,2],[3,4,5]],[[6,7,8,9],[10,11,12,13,14]],[[15,16,17,18,19,20]],[]] |
| 2026-04-08 07:32:55 +0000 | <lambdabot> | [[],[1,2],[3,4,5],[6,7,8,9],[10,11,12,13,14],[15,16,17,18,19,20]] |
| 2026-04-08 07:32:57 +0000 | <ski> | > map concat [[[],[1,2],[3,4,5]],[[6,7,8,9],[10,11,12,13,14]],[[15,16,17,18,19,20]],[]] |
| 2026-04-08 07:32:58 +0000 | <lambdabot> | [[1,2,3,4,5],[6,7,8,9,10,11,12,13,14],[15,16,17,18,19,20],[]] |
| 2026-04-08 07:40:46 +0000 | tromp | (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-04-08 07:43:31 +0000 | merijn | (~merijn@77.242.116.146) merijn |
| 2026-04-08 07:44:12 +0000 | p3n | (~p3n@217.198.124.246) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2026-04-08 07:47:28 +0000 | tromp | (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f) |
| 2026-04-08 07:48:16 +0000 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n |
| 2026-04-08 07:52:30 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2026-04-08 08:05:11 +0000 | sus032 | (zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net) |
| 2026-04-08 08:06:21 +0000 | sus0322 | (zero@user/zeromomentum) zeromomentum |
| 2026-04-08 08:10:34 +0000 | emmanuelux | (~em@user/emmanuelux) (Quit: bye) |
| 2026-04-08 08:14:52 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen |
| 2026-04-08 08:20:25 +0000 | ft | (~ft@p508db341.dip0.t-ipconnect.de) (Quit: leaving) |
| 2026-04-08 08:34:14 +0000 | Square2 | (~Square4@user/square) Square |
| 2026-04-08 08:37:28 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e57180608d91043d28ce.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 2026-04-08 08:53:55 +0000 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:2d0c:5918:2bfa:eb5e) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
| 2026-04-08 08:54:15 +0000 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:2d0c:5918:2bfa:eb5e) youngfrog |
| 2026-04-08 08:55:05 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 265 seconds) |
| 2026-04-08 09:00:50 +0000 | ec | (~ec@gateway/tor-sasl/ec) ec |
| 2026-04-08 09:08:08 +0000 | tessier_ | (~tessier@ip68-8-117-219.sd.sd.cox.net) (Ping timeout: 268 seconds) |
| 2026-04-08 09:08:46 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99bb:9d74:9380:7c76) |
| 2026-04-08 09:08:46 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:99bb:9d74:9380:7c76) (Changing host) |
| 2026-04-08 09:08:46 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 09:08:55 +0000 | arandombit | (~arandombi@user/arandombit) (Remote host closed the connection) |
| 2026-04-08 09:12:45 +0000 | traxex | (traxex@user/traxex) traxex |
| 2026-04-08 09:13:19 +0000 | Dirk48 | (~Dirk48@2a02:3100:89f6:c400:ee84:4a50:9d4c:364c) |
| 2026-04-08 09:17:20 +0000 | tromp | (~textual@2001:1c00:340e:2700:40b:fee9:5f81:6c1f) (Read error: Connection reset by peer) |
| 2026-04-08 09:17:37 +0000 | Guest64 | (~Guest64@p5488236d.dip0.t-ipconnect.de) |
| 2026-04-08 09:22:45 +0000 | pandeyan | (~pandeyan@192-184-251-84.fiber.dynamic.sonic.net) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2026-04-08 09:24:17 +0000 | anpad | (~pandeyan@user/anpad) anpad |
| 2026-04-08 09:29:19 +0000 | tessier | (~tessier@ip68-8-117-219.sd.sd.cox.net) tessier |
| 2026-04-08 09:34:50 +0000 | jle` | (~jle`@2603:8001:3b00:11:178c:4665:41b7:a15e) (Ping timeout: 256 seconds) |
| 2026-04-08 09:40:41 +0000 | fp1 | (~Thunderbi@staff237.kora-dyn.aalto.fi) fp |
| 2026-04-08 09:56:33 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2026-04-08 10:03:27 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2026-04-08 10:05:09 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen |
| 2026-04-08 10:05:11 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-08 10:11:33 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2026-04-08 10:14:33 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds) |
| 2026-04-08 10:23:37 +0000 | rscastilho1 | (~rscastilh@189.61.152.230) |
| 2026-04-08 10:27:17 +0000 | rscastilho1 | (~rscastilh@189.61.152.230) () |
| 2026-04-08 10:46:29 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 10:51:47 +0000 | srazkvt | (~sarah@user/srazkvt) srazkvt |
| 2026-04-08 11:07:28 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-04-08 11:08:27 +0000 | Teching | (~Teching@206.57.199.232) |
| 2026-04-08 11:10:30 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) CiaoSen |
| 2026-04-08 11:13:03 +0000 | xff0x | (~xff0x@ai112096.d.east.v6connect.net) |
| 2026-04-08 11:14:41 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2026-04-08 11:14:41 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2026-04-08 11:14:41 +0000 | haritz | (~hrtz@user/haritz) haritz |
| 2026-04-08 11:15:49 +0000 | <gentauro> | % newtype FooBar = FooBar { foobar :: [Int] }; concatMap foobar Nothing; concatMap foobar $ Just $ FooBar [] |
| 2026-04-08 11:15:49 +0000 | <yahb2> | <interactive>:47:46: error: [GHC-25277] ; Parse error: module header, import declaration ; or top-level declaration expected. |
| 2026-04-08 11:16:02 +0000 | <gentauro> | % newtype FooBar = FooBar { foobar :: [Int] }; concatMap foobar Nothing |
| 2026-04-08 11:16:02 +0000 | <yahb2> | <interactive>:49:46: error: [GHC-25277] ; Parse error: module header, import declaration ; or top-level declaration expected. |
| 2026-04-08 11:16:17 +0000 | <gentauro> | % newtype FooBar = FooBar { foobar :: [Int] } |
| 2026-04-08 11:16:17 +0000 | <yahb2> | <no output> |
| 2026-04-08 11:16:28 +0000 | <gentauro> | % concatMap foobar Nothing |
| 2026-04-08 11:16:28 +0000 | <yahb2> | [] |
| 2026-04-08 11:16:36 +0000 | <gentauro> | % concatMap foobar $ Just $ FooBar [] |
| 2026-04-08 11:16:36 +0000 | <yahb2> | [] |
| 2026-04-08 11:16:39 +0000 | <gentauro> | % concatMap foobar $ Just $ FooBar [42] |
| 2026-04-08 11:16:39 +0000 | <yahb2> | [42] |
| 2026-04-08 11:17:45 +0000 | Teching | (~Teching@206.57.199.232) (Quit: Client closed) |
| 2026-04-08 11:20:38 +0000 | synchrom1 | (~john@2406:5a00:2412:2c00:915:5a48:7d6a:9a9f) (Read error: Connection reset by peer) |
| 2026-04-08 11:22:05 +0000 | synchromesh | (~john@2406:5a00:2412:2c00:8174:9ae9:efe0:c152) synchromesh |
| 2026-04-08 11:36:31 +0000 | <ski> | at least write `f . g $ x', rather than `f $ g $ x' |
| 2026-04-08 11:36:56 +0000 | ski | would write `(f . g) x' or `f (g x)' |
| 2026-04-08 11:40:47 +0000 | <ski> | (if you write `f . g . h $ x', you can (because `.' is associative, `(f . g) . h = f . (g . h)') factor out `f . g' or `g . h' or `f . g . h' into its own definition. with `f $ g $ h $ x' you can't quite as easily do that refactoring (`$' is not associative)) |
| 2026-04-08 12:07:52 +0000 | srazkvt | (~sarah@user/srazkvt) (Quit: Konversation terminated!) |
| 2026-04-08 12:08:11 +0000 | srazkvt | (~sarah@user/srazkvt) srazkvt |
| 2026-04-08 12:09:40 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2026-04-08 12:09:44 +0000 | arandombit | (~arandombi@user/arandombit) (Remote host closed the connection) |
| 2026-04-08 12:10:14 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-08 12:16:22 +0000 | tremon | (~tremon@83.80.159.219) tremon |
| 2026-04-08 12:20:19 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 2026-04-08 12:23:24 +0000 | agincio | (~agincio@200.16.31.57) |
| 2026-04-08 12:41:07 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:f194:7daa:6f2:9206) |
| 2026-04-08 12:41:07 +0000 | arandombit | (~arandombi@2a02:2455:8656:7100:f194:7daa:6f2:9206) (Changing host) |
| 2026-04-08 12:41:07 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 12:42:56 +0000 | agincio | (~agincio@200.16.31.57) (Quit: Client closed) |
| 2026-04-08 12:56:25 +0000 | DetourNe- | (~DetourNet@user/DetourNetworkUK) DetourNetworkUK |
| 2026-04-08 12:56:28 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2026-04-08 12:58:40 +0000 | DetourNe- | DetourNetworkUK |
| 2026-04-08 13:05:40 +0000 | rekahsoft | (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) rekahsoft |
| 2026-04-08 13:10:17 +0000 | mangoiv | (~mangoiv@user/mangoiv) (Quit: The Lounge - https://thelounge.chat) |
| 2026-04-08 13:11:11 +0000 | mangoiv | (~mangoiv@2a01:4f9:c012:6c0e::) |
| 2026-04-08 13:12:51 +0000 | <tomsmeding> | ski: on the other hand, in write-only code like something typed into ghci, the pattern "f $" is compositional, whereas with "f . g $ x" the operator to use depends on whether it's the last function to apply or any other |
| 2026-04-08 13:13:57 +0000 | Guest64 | (~Guest64@p5488236d.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 2026-04-08 13:16:47 +0000 | mangoiv | (~mangoiv@2a01:4f9:c012:6c0e::) (Changing host) |
| 2026-04-08 13:16:47 +0000 | mangoiv | (~mangoiv@user/mangoiv) mangoiv |
| 2026-04-08 13:18:59 +0000 | ski | would simply not use `$' at all, there |
| 2026-04-08 13:20:19 +0000 | tomsmeding | too |
| 2026-04-08 13:21:46 +0000 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) szkl |
| 2026-04-08 13:41:40 +0000 | <gentauro> | ski: what's F# pipe-opeator in Haskell? I recall they ported it so you could read code from left-to-right, top-down, just like you read "plain inglés" |
| 2026-04-08 13:41:59 +0000 | <[exa]> | gentauro: (&) ? |
| 2026-04-08 13:54:54 +0000 | rscastilho1 | (~rscastilh@user/rscastilho1) rscastilho1 |
| 2026-04-08 14:03:07 +0000 | fp1 | (~Thunderbi@staff237.kora-dyn.aalto.fi) (Ping timeout: 276 seconds) |
| 2026-04-08 14:11:42 +0000 | <ski> | "plain inglés" ? |
| 2026-04-08 14:11:45 +0000 | puke | (~puke@user/puke) (Remote host closed the connection) |
| 2026-04-08 14:12:11 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-08 14:13:26 +0000 | rscastilho1 | (~rscastilh@user/rscastilho1) () |
| 2026-04-08 14:13:35 +0000 | puke | (~puke@user/puke) (Max SendQ exceeded) |
| 2026-04-08 14:14:05 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-08 14:19:04 +0000 | Pozyomka | (~pyon@user/pyon) (Quit: WeeChat 4.9.0) |
| 2026-04-08 14:19:15 +0000 | AlexNoo_ | (~AlexNoo@178.34.150.135) |
| 2026-04-08 14:19:50 +0000 | puke | (~puke@user/puke) (Remote host closed the connection) |
| 2026-04-08 14:22:15 +0000 | AlexZenon | (~alzenon@85.174.183.185) (Ping timeout: 268 seconds) |
| 2026-04-08 14:23:07 +0000 | AlexNoo | (~AlexNoo@85.174.183.185) (Ping timeout: 264 seconds) |
| 2026-04-08 14:23:51 +0000 | qqq | (~qqq@185.54.23.237) |
| 2026-04-08 14:24:22 +0000 | Dirk48 | (~Dirk48@2a02:3100:89f6:c400:ee84:4a50:9d4c:364c) (Ping timeout: 245 seconds) |
| 2026-04-08 14:26:58 +0000 | CiaoSen | (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 2026-04-08 14:28:47 +0000 | AlexZenon | (~alzenon@178.34.150.135) |
| 2026-04-08 14:33:23 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2026-04-08 14:34:48 +0000 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) DetourNetworkUK |
| 2026-04-08 14:36:42 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2026-04-08 14:39:20 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-08 14:42:16 +0000 | machinedgod | (~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod |
| 2026-04-08 14:44:27 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-04-08 14:44:46 +0000 | Pozyomka | (~pyon@user/pyon) (Client Quit) |
| 2026-04-08 14:47:55 +0000 | Pozyomka | (~pyon@user/pyon) pyon |
| 2026-04-08 14:49:48 +0000 | squid64 | (~user@fsf/member/squid64) squid64 |
| 2026-04-08 14:53:06 +0000 | danza | (~danza@user/danza) danza |
| 2026-04-08 14:57:45 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2026-04-08 14:59:41 +0000 | arandombit | (~arandombi@user/arandombit) (Remote host closed the connection) |
| 2026-04-08 15:04:54 +0000 | Square3 | (~Square@user/square) Square |
| 2026-04-08 15:07:49 +0000 | Square2 | (~Square4@user/square) (Ping timeout: 245 seconds) |
| 2026-04-08 15:17:49 +0000 | itaipu | (~itaipu@168.121.97.28) (Ping timeout: 272 seconds) |
| 2026-04-08 15:20:42 +0000 | puke | (~puke@user/puke) puke |
| 2026-04-08 15:23:39 +0000 | <gentauro> | [exa]: oh yeah, that's the one -> https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Data-Function.html#v:-38- |
| 2026-04-08 15:25:19 +0000 | <haskellbridge> | <Bowuigi> Certified spanglish moment |
| 2026-04-08 15:26:52 +0000 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2026-04-08 15:28:37 +0000 | <gentauro> | Bowuigi: yes |
| 2026-04-08 15:28:59 +0000 | <gentauro> | ski: likes to code one way, and I code another |
| 2026-04-08 15:29:30 +0000 | <gentauro> | I wonder if it would be possible to have truly "semantic versining" in Haskell, just like `unison` has it -> «Semantic version control. Unison's version control is language-aware. There are no conflicts due to code formatting or whitespace, order of imports, order of definitions in a file, or any other differences that aren't semantically meaningful» |
| 2026-04-08 15:29:40 +0000 | gentauro | source: https://www.unison-lang.org/docs/what-problems-does-unison-solve/ |
| 2026-04-08 15:30:00 +0000 | itaipu | (~itaipu@168.121.97.28) itaipu |
| 2026-04-08 15:31:09 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) |
| 2026-04-08 15:31:34 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Client Quit) |
| 2026-04-08 15:31:44 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) |
| 2026-04-08 15:32:48 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2026-04-08 15:42:51 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Quit: Client closed) |
| 2026-04-08 15:45:14 +0000 | rainbyte | (~rainbyte@181.47.219.3) (Read error: Connection reset by peer) |
| 2026-04-08 15:46:12 +0000 | rainbyte | (~rainbyte@181.47.219.3) rainbyte |
| 2026-04-08 15:47:04 +0000 | Guest95 | (~Guest62@p200300ca8f150300cb59ac8b4a97ad67.dip0.t-ipconnect.de) |
| 2026-04-08 15:50:32 +0000 | merijn | (~merijn@77.242.116.146) (Ping timeout: 256 seconds) |
| 2026-04-08 15:52:20 +0000 | <danza> | haskell already has semantic versioning, as far as i understand it. Version numbers should reflect a version's compatibility |
| 2026-04-08 15:53:09 +0000 | <danza> | some languages (elm?) have the version numbers calculated automatically depending on interface changes, but that's another story |
| 2026-04-08 15:55:25 +0000 | <geekosaur> | different application of "semantic": you're talking about exposed API, the usage here is code meaning whether exposed or not |
| 2026-04-08 15:56:46 +0000 | <geekosaur> | the former impacts compatibility, the latter is about VCS thrashing |
| 2026-04-08 15:58:15 +0000 | <danza> | oh i see. Cheers geekosaur |
| 2026-04-08 15:59:29 +0000 | <geekosaur> | so for a concrete example, cabal is still using an ancient fourmolu because if/when we upgrade and reformat the code base, backports will conflict due to whitespace changes and possibly line splitting |
| 2026-04-08 15:59:48 +0000 | <geekosaur> | this wouldn't happen with semantics-aware VC |
| 2026-04-08 16:00:07 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 276 seconds) |
| 2026-04-08 16:00:25 +0000 | <danza> | yeah makes sense |
| 2026-04-08 16:01:30 +0000 | <danza> | but having a version control tool that is language-specific sounds too demanding to me. I would rather live without the feature |
| 2026-04-08 16:02:11 +0000 | <c_wraith> | the point of comparison, Unison, is an unusual one. It's not actually the version control that does that. It's the language itself. |
| 2026-04-08 16:02:44 +0000 | <c_wraith> | function calls are content-addressable. |
| 2026-04-08 16:02:48 +0000 | AlexNoo_ | AlexNoo |
| 2026-04-08 16:03:55 +0000 | <c_wraith> | this has its own downsides. If there's a bug in a function, fixing it means updating every place it was called by content. |
| 2026-04-08 16:07:27 +0000 | <c_wraith> | It also has awkward limitations. I believe it supports alpha renaming when determining if code is "the same", but not most other trivial refactorings of the token sequence. |
| 2026-04-08 16:08:18 +0000 | <gentauro> | danza: Elm has `syntactic versioning`. I think `unison` is the only one with "real" semantic versining |
| 2026-04-08 16:08:53 +0000 | <c_wraith> | I understand why. The problem quickly becomes intractable. But then you start to feel the limits in a way then doesn't seem much like an actual improvement. |
| 2026-04-08 16:09:07 +0000 | <c_wraith> | *that doesn't |
| 2026-04-08 16:10:33 +0000 | <c_wraith> | I really think gofmt is a better solution to the same problem. And I really don't like gofmt. |
| 2026-04-08 16:10:43 +0000 | <gentauro> | c_wraith: and danza I recall from a talk (example). If somebody defineds additions as `sum x y = x + y` and another person does it as `add a b = (+) a b`, then they have the same semantic versioning and would result in the same number (hash) |
| 2026-04-08 16:11:40 +0000 | <danza> | well that's what c_wraith has been chatting about, content-addressing |
| 2026-04-08 16:11:43 +0000 | gentauro | I'm guessing they have someking of "common ground" (for the sake of the example https://en.wikipedia.org/wiki/De_Bruijn_index) and that's how they can see if two snippets are the same |
| 2026-04-08 16:12:19 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 16:14:33 +0000 | <raincomplex> | equivalence of two programs is undecidable in general, right |
| 2026-04-08 16:15:40 +0000 | <c_wraith> | yes |
| 2026-04-08 16:16:18 +0000 | <c_wraith> | and even a small set of simple transformations results in a massive potential combinatoric explosion |
| 2026-04-08 16:17:30 +0000 | <c_wraith> | (some things you can canonicalize away, like fully saturated prefix vs infix application. But other things aren't so easy.) |
| 2026-04-08 16:18:09 +0000 | danza | (~danza@user/danza) (Remote host closed the connection) |
| 2026-04-08 16:20:14 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 265 seconds) |
| 2026-04-08 16:22:19 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-08 16:22:50 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e5545ef09a087c16a42c.dip0.t-ipconnect.de) |
| 2026-04-08 16:23:53 +0000 | <gentauro> | c_wraith: FP app -> de-Brujin index -> SKI -> normalize (optimal reduction/transformation): https://tromp.github.io/cl/cl.html |
| 2026-04-08 16:24:56 +0000 | <gentauro> | I'm just not aware if this only work for "very simple" logic |
| 2026-04-08 16:28:42 +0000 | <c_wraith> | It works decently well for structural changes, even things like pulling a subexpression into a local binding. |
| 2026-04-08 16:29:29 +0000 | <c_wraith> | But it can't handle any kind of change that relies on semantic properties. |
| 2026-04-08 16:29:37 +0000 | qqq_ | (~qqq@185.54.23.237) |
| 2026-04-08 16:31:05 +0000 | <c_wraith> | Is a + b the same as b + a? How about a + a and 2 * a? |
| 2026-04-08 16:31:36 +0000 | <EvanR> | pulls out a cross indexed table of "kinds of sameness" |
| 2026-04-08 16:32:03 +0000 | <c_wraith> | oh, deMorgan's laws! |
| 2026-04-08 16:32:33 +0000 | <EvanR> | definitional equality, propositional equality, etc |
| 2026-04-08 16:32:59 +0000 | qqq | (~qqq@185.54.23.237) (Ping timeout: 267 seconds) |
| 2026-04-08 16:34:02 +0000 | <c_wraith> | It's not tractable to handle most of those equivalences in practical terms... well before you reach the undecidable cases. |
| 2026-04-08 16:35:07 +0000 | qqq_ | (~qqq@185.54.23.237) (Ping timeout: 264 seconds) |
| 2026-04-08 16:35:40 +0000 | qqq | (~qqq@194.124.210.29) |
| 2026-04-08 16:39:06 +0000 | Guest95 | (~Guest62@p200300ca8f150300cb59ac8b4a97ad67.dip0.t-ipconnect.de) (Quit: Client closed) |
| 2026-04-08 16:46:56 +0000 | malte | (~malte@mal.tc) malte |
| 2026-04-08 17:07:38 +0000 | srazkvt | (~sarah@user/srazkvt) (Quit: Konversation terminated!) |
| 2026-04-08 17:13:12 +0000 | <gentauro> | c_wraith: I'm assuming that if they use the built-in operator `+` (which is commutative) well then it would be "the same". However, this will only work for very formal languages … |
| 2026-04-08 17:26:43 +0000 | jle` | (~jle`@2603:8001:3b00:11:2d70:9f38:ba84:72d9) jle` |
| 2026-04-08 17:27:33 +0000 | internatetional | (~nate@180.243.3.227) internatetional |
| 2026-04-08 17:28:36 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2026-04-08 17:28:59 +0000 | internatetional | (~nate@180.243.3.227) (Client Quit) |
| 2026-04-08 17:30:36 +0000 | <gentauro> | oh found it, IFCP 2016 (JP). Now we just add a bit of HoTT to find the equivalent paths and all good -> https://youtu.be/caSOTjr1z18?t=796 (13:16 ish) |