2025-07-31 00:04:09 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 252 seconds) |
2025-07-31 00:05:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 00:07:19 +0200 | califax | (~califax@user/califx) (Ping timeout: 244 seconds) |
2025-07-31 00:08:38 +0200 | califax | (~califax@user/califx) califx |
2025-07-31 00:09:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 00:14:34 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2025-07-31 00:16:31 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 00:20:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 00:25:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-31 00:29:17 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-31 00:33:39 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
2025-07-31 00:34:07 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-07-31 00:35:00 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-07-31 00:36:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 00:40:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 00:51:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 00:56:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 01:07:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 01:11:38 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 01:22:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 01:27:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-31 01:34:58 +0200 | trickard | (~trickard@cpe-54-98-47-163.wireline.com.au) (Ping timeout: 245 seconds) |
2025-07-31 01:35:27 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 01:38:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 01:39:08 +0200 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 245 seconds) |
2025-07-31 01:42:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 01:50:04 +0200 | sprotte24 | (~sprotte24@p200300d16f05730029e3edc0993e5705.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-07-31 01:50:48 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Ping timeout: 245 seconds) |
2025-07-31 01:53:36 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 01:53:55 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 01:58:12 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 01:59:51 +0200 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
2025-07-31 01:59:51 +0200 | infinity0 | (~infinity0@pwned.gg) infinity0 |
2025-07-31 02:03:40 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-07-31 02:06:52 +0200 | DragonMaus | (~dragonmau@user/dragonmaus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2025-07-31 02:07:40 +0200 | DragonMaus | (~dragonmau@user/dragonmaus) DragonMaus |
2025-07-31 02:08:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 02:09:56 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 02:10:10 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 02:11:17 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-07-31 02:13:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 02:23:35 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 02:24:55 +0200 | ttybitnik | (~ttybitnik@user/wolper) (Quit: Fading out...) |
2025-07-31 02:28:26 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
2025-07-31 02:29:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-31 02:31:10 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.10.1 - https://znc.in) |
2025-07-31 02:31:50 +0200 | down200 | (~down200@shell.lug.mtu.edu) down200 |
2025-07-31 02:35:01 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 02:35:13 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 02:35:16 +0200 | <Axman6> | I remember when I first started using Haskell, be in 20 dickety 8, seeing the Edison library, and even then, it felt like an ancient relic. I came across it again today, and found that a) it's still being maintained, and b) it was originally written by Chris Okasaki himself. Just thought that was interesting |
2025-07-31 02:37:16 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2025-07-31 02:37:27 +0200 | jackdk | (uid373013@cssa/life/jackdk) jackdk |
2025-07-31 02:41:38 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 02:45:38 +0200 | acidjnk | (~acidjnk@p200300d6e72d7b44ad4e219a14911733.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2025-07-31 02:46:04 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 02:47:20 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
2025-07-31 02:47:44 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 02:47:57 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 02:48:25 +0200 | jmorris | (uid604645@id-604645.hampstead.irccloud.com) jmorris |
2025-07-31 02:55:05 +0200 | hakutaku_ | (~textual@chen.yukari.eu.org) |
2025-07-31 02:56:36 +0200 | hakutaku | (~textual@chen.yukari.eu.org) (Ping timeout: 252 seconds) |
2025-07-31 02:57:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 03:01:40 +0200 | <Axman6> | (I should say EdisonAPI specifically) |
2025-07-31 03:02:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-31 03:04:52 +0200 | jmcantrell | (~weechat@user/jmcantrell) jmcantrell |
2025-07-31 03:12:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 03:14:39 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a1bc:22ca:8bd:b4a5) (Ping timeout: 260 seconds) |
2025-07-31 03:15:31 +0200 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Quit: leaving) |
2025-07-31 03:16:57 +0200 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod |
2025-07-31 03:16:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 03:17:35 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2025-07-31 03:24:33 +0200 | ridcully | (~ridcully@pd951f729.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2025-07-31 03:27:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 03:32:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 03:35:44 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) |
2025-07-31 03:38:01 +0200 | ridcully | (~ridcully@p57b526e9.dip0.t-ipconnect.de) ridcully |
2025-07-31 03:39:25 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) (Remote host closed the connection) |
2025-07-31 03:41:32 +0200 | poscat0x04 | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 03:42:07 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 03:43:01 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 03:43:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 03:43:35 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 03:43:38 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 03:43:49 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 03:45:19 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 03:45:45 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 03:47:30 +0200 | trickard_ | trickard |
2025-07-31 03:47:51 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 03:47:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-31 03:48:15 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 03:58:09 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 03:58:45 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 03:58:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 04:00:40 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 04:00:48 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) |
2025-07-31 04:01:24 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
2025-07-31 04:03:46 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 04:04:11 +0200 | MelGibson | god |
2025-07-31 04:04:28 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 04:04:41 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 04:05:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 04:05:30 +0200 | god | soitgoes |
2025-07-31 04:06:27 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 04:06:40 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 04:08:21 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
2025-07-31 04:10:37 +0200 | soitgoes | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) (Changing host) |
2025-07-31 04:10:37 +0200 | soitgoes | (~MelGibson@user/MelGibson) MelGibson |
2025-07-31 04:11:01 +0200 | soitgoes | (~MelGibson@user/MelGibson) (Remote host closed the connection) |
2025-07-31 04:11:20 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) |
2025-07-31 04:12:50 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 04:12:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 04:13:10 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 04:13:53 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) (Remote host closed the connection) |
2025-07-31 04:13:59 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 04:14:10 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 04:14:11 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) MelGibson |
2025-07-31 04:14:11 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) (Changing host) |
2025-07-31 04:14:11 +0200 | MelGibson | (~MelGibson@user/MelGibson) MelGibson |
2025-07-31 04:15:38 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-31 04:15:50 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-07-31 04:17:12 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-07-31 04:17:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 04:19:36 +0200 | MelGibson | soitgoes |
2025-07-31 04:21:09 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-31 04:21:38 +0200 | poscat0x04 | (~poscat@user/poscat) poscat |
2025-07-31 04:23:30 +0200 | soitgoes | (~MelGibson@user/MelGibson) (Remote host closed the connection) |
2025-07-31 04:23:47 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) |
2025-07-31 04:23:47 +0200 | MelGibson | soitgoes |
2025-07-31 04:23:47 +0200 | soitgoes | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) (Changing host) |
2025-07-31 04:23:47 +0200 | soitgoes | (~MelGibson@user/MelGibson) MelGibson |
2025-07-31 04:24:04 +0200 | remmie | (ianremsen@tilde.team) (Ping timeout: 260 seconds) |
2025-07-31 04:25:49 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 260 seconds) |
2025-07-31 04:29:56 +0200 | dolio | (~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-07-31 04:30:13 +0200 | soitgoes | (~MelGibson@user/MelGibson) (Quit: soitgoes) |
2025-07-31 04:30:30 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) |
2025-07-31 04:30:30 +0200 | MelGibson | (~MelGibson@2600:1700:5d4:8b00:dccc:7b66:b103:40e2) (Changing host) |
2025-07-31 04:30:30 +0200 | MelGibson | (~MelGibson@user/MelGibson) MelGibson |
2025-07-31 04:30:30 +0200 | MelGibson | soitgoes |
2025-07-31 04:31:00 +0200 | dolio | (~dolio@130.44.140.168) dolio |
2025-07-31 04:35:44 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2025-07-31 04:40:47 +0200 | remmie | (ianremsen@tilde.team) remsense |
2025-07-31 04:48:18 +0200 | Square | (~Square@user/square) Square |
2025-07-31 05:21:14 +0200 | jmcantrell | (~weechat@user/jmcantrell) (Quit: WeeChat 4.7.0) |
2025-07-31 05:26:03 +0200 | aforemny_ | (~aforemny@2001:9e8:6cc0:bc00:fef4:3a8e:168a:abdb) aforemny |
2025-07-31 05:27:13 +0200 | aforemny | (~aforemny@i59F4C6A5.versanet.de) (Ping timeout: 248 seconds) |
2025-07-31 05:41:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 05:43:06 +0200 | kimjetwav | (~user@2607:fea8:25a3:a100:d659:4ee6:e67a:606a) (Quit: time to reboot!) |
2025-07-31 05:46:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 05:49:40 +0200 | soitgoes | (~MelGibson@user/MelGibson) (Remote host closed the connection) |
2025-07-31 05:57:59 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
2025-07-31 06:02:04 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 06:06:48 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2025-07-31 06:06:54 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 252 seconds) |
2025-07-31 06:09:09 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-07-31 06:10:59 +0200 | dolio | (~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in) |
2025-07-31 06:12:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 06:14:12 +0200 | dolio | (~dolio@130.44.140.168) dolio |
2025-07-31 06:16:55 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 06:17:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 06:21:51 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-07-31 06:28:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 06:32:53 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) robobub |
2025-07-31 06:32:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-31 06:34:17 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2025-07-31 06:35:14 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 06:36:39 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
2025-07-31 06:38:45 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 06:40:28 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 240 seconds) |
2025-07-31 06:41:31 +0200 | euphores | (~SASL_euph@user/euphores) euphores |
2025-07-31 06:43:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 06:47:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-31 06:48:11 +0200 | jmorris | (uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2025-07-31 06:54:08 +0200 | trickard | (~trickard@cpe-54-98-47-163.wireline.com.au) (Ping timeout: 245 seconds) |
2025-07-31 06:54:31 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 06:59:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 07:03:17 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-31 07:07:49 +0200 | michalz | (~michalz@185.246.207.193) |
2025-07-31 07:11:03 +0200 | tuxpaint | (~a@put.gay) (Quit: gn) |
2025-07-31 07:11:16 +0200 | tuxpaint | (~a@2600:3c06::f03c:93ff:fea6:ef0e) |
2025-07-31 07:13:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 07:18:07 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 07:19:03 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-31 07:29:01 +0200 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
2025-07-31 07:29:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 07:34:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 07:34:58 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 240 seconds) |
2025-07-31 07:44:58 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
2025-07-31 07:45:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 07:47:17 +0200 | kimiamania99 | (~65804703@user/kimiamania) (Quit: PegeLinux) |
2025-07-31 07:48:47 +0200 | kimiamania99 | (~65804703@user/kimiamania) kimiamania |
2025-07-31 07:49:40 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 07:52:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-07-31 07:53:03 +0200 | xff0x_ | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-07-31 07:54:25 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 248 seconds) |
2025-07-31 07:55:14 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds) |
2025-07-31 07:58:12 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-07-31 07:58:48 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 08:00:41 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-07-31 08:03:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 08:08:10 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-07-31 08:08:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-31 08:08:34 +0200 | jmorris | (uid604645@id-604645.hampstead.irccloud.com) jmorris |
2025-07-31 08:09:53 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 248 seconds) |
2025-07-31 08:13:34 +0200 | jle` | (~jle`@2603:8001:3b00:11:be7f:e3c6:6141:6bdc) (Ping timeout: 276 seconds) |
2025-07-31 08:15:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 08:19:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-31 08:20:11 +0200 | jle` | (~jle`@syn-023-240-067-073.res.spectrum.com) jle` |
2025-07-31 08:23:41 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 08:28:37 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 248 seconds) |
2025-07-31 08:30:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 08:31:36 +0200 | biberu | (~biberu@user/biberu) biberu |
2025-07-31 08:35:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-31 08:37:15 +0200 | Square | (~Square@user/square) (Remote host closed the connection) |
2025-07-31 08:39:13 +0200 | trickard_ | trickard |
2025-07-31 08:43:40 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 08:45:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 08:49:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-31 08:50:24 +0200 | ft | (~ft@p3e9bcd7f.dip0.t-ipconnect.de) (Quit: leaving) |
2025-07-31 08:50:25 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 248 seconds) |
2025-07-31 08:55:41 +0200 | jreicher | (~user@user/jreicher) (Quit: In transit) |
2025-07-31 08:58:41 +0200 | tromp | (~textual@2001:1c00:3487:1b00:b928:de3f:1dfd:983a) |
2025-07-31 09:00:02 +0200 | caconym747 | (~caconym@user/caconym) (Quit: bye) |
2025-07-31 09:00:42 +0200 | caconym747 | (~caconym@user/caconym) caconym |
2025-07-31 09:01:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 09:06:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-31 09:07:27 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2025-07-31 09:10:12 +0200 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
2025-07-31 09:16:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-31 09:20:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-31 09:26:59 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-07-31 09:47:01 +0200 | trickard | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 09:47:15 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 09:50:33 +0200 | fp | (~Thunderbi@wireless-86-50-140-9.open.aalto.fi) fp |
2025-07-31 09:51:28 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds) |
2025-07-31 10:00:43 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2025-07-31 10:02:58 +0200 | vpan | (~vpan@212.117.1.172) |
2025-07-31 10:03:16 +0200 | vpan | Guest1293 |
2025-07-31 10:03:23 +0200 | Guest1293 | vpan |
2025-07-31 10:05:41 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-07-31 10:06:26 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 10:06:40 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 10:07:07 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2025-07-31 10:07:41 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 10:09:14 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-07-31 10:09:25 +0200 | puke | (~puke@user/puke) puke |
2025-07-31 10:12:11 +0200 | lbseale | (~quassel@user/ep1ctetus) (Quit: No Ping reply in 180 seconds.) |
2025-07-31 10:12:33 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 248 seconds) |
2025-07-31 10:13:02 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-31 10:13:28 +0200 | lbseale | (~quassel@user/ep1ctetus) ep1ctetus |
2025-07-31 10:13:36 +0200 | tromp | (~textual@2001:1c00:3487:1b00:b928:de3f:1dfd:983a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-07-31 10:21:33 +0200 | fp | (~Thunderbi@wireless-86-50-140-9.open.aalto.fi) (Ping timeout: 252 seconds) |
2025-07-31 10:24:52 +0200 | jreicher | (~user@user/jreicher) (Remote host closed the connection) |
2025-07-31 10:25:24 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-31 10:28:40 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) fp |
2025-07-31 10:28:57 +0200 | acidjnk | (~acidjnk@p200300d6e72d7b77bc5728ea616be3b0.dip0.t-ipconnect.de) acidjnk |
2025-07-31 10:31:28 +0200 | mm_x_ | (~mm@user/mm-x-:64963) (Quit: Konversation terminated!) |
2025-07-31 10:33:40 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 10:35:35 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 10:35:49 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 10:36:35 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-31 10:39:57 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 252 seconds) |
2025-07-31 10:43:05 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
2025-07-31 10:44:07 +0200 | <kuribas> | I read the progress and preservation properties only hold for static programming, however couldn't you say that a dynamic program is unityped, and always typesafe? |
2025-07-31 10:44:53 +0200 | <kuribas> | In the sense that every function checks the type, and evaluates to a runtime error if the type is invalid. |
2025-07-31 10:45:18 +0200 | <kuribas> | So the small step evaluation progresses to a terminal value, the type error. |
2025-07-31 10:48:11 +0200 | jmorris | (uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2025-07-31 10:50:54 +0200 | <kuribas> | It's a very boring property, not very useful, but it seems to contradict the claim that these properties don't hold for dynamic programs. |
2025-07-31 10:53:47 +0200 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
2025-07-31 10:55:03 +0200 | ubert1 | (~Thunderbi@178.165.167.35.wireless.dyn.drei.com) ubert |
2025-07-31 10:57:11 +0200 | <apache2> | kuribas: "runtime error" is a bit vague - is crashing due to an uncaught signal a runtime error? |
2025-07-31 10:58:35 +0200 | trickard_ | trickard |
2025-07-31 10:59:19 +0200 | <apache2> | but yeah, you can model a lot of dynamically typed languages as a statically typed language where there is one GADT type, some mixed-type languages do that and even expose this "supertype" |
2025-07-31 11:03:09 +0200 | <apache2> | kuribas: this doesn't necessarily imply that you have Progress, but it can help. |
2025-07-31 11:03:43 +0200 | <__monty__> | kuribas: Runtime errors don't mean the type is invalid. Type checking is a static process. The Python program that results in a TypeError at runtime is still a valid program that would've passed typechecking. |
2025-07-31 11:05:00 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
2025-07-31 11:05:10 +0200 | AVA | (~AVA@84.54.80.58) |
2025-07-31 11:05:39 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: irc.renjuan.org (juan@acm.org)) |
2025-07-31 11:06:22 +0200 | kimiamania99 | (~65804703@user/kimiamania) (Quit: Ping timeout (120 seconds)) |
2025-07-31 11:06:28 +0200 | <apache2> | __monty__: right, you can say (by definition) that raising an exception about a type mismatch is the way to handle an unexpected type, like if you have a function in the error monad that returns an error when a sumtype value has an unexpected constructor, or a integer type is negative, or whatever. then you can typecheck your valid program that legally outputs TypeError errors |
2025-07-31 11:06:45 +0200 | kimiamania99 | (~65804703@user/kimiamania) kimiamania |
2025-07-31 11:07:06 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
2025-07-31 11:08:41 +0200 | <apache2> | kuribas: it's not immediately useful, but it paves the way for typechecking subsets of the legal programs with a less forgiving type system, and then an optimizing compiler can work on those sub-languages. JIT compilers for dynamic languages or gradually typed languages often do something similar. |
2025-07-31 11:08:51 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 11:11:15 +0200 | <kuribas> | apache2: sure, sbcl is quite good in inferring types. But still, I found I needed a lot of type annotations to make some compression algorithm efficient. |
2025-07-31 11:12:20 +0200 | <kuribas> | __monty__: I mean that a dynamically program always typechecks, in some trivial way. |
2025-07-31 11:12:26 +0200 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
2025-07-31 11:12:43 +0200 | <apache2> | re: contradiction/claim: what exactly is the claim you want to contradict? |
2025-07-31 11:13:22 +0200 | <kuribas> | apache2: That the progress and preservation property does not hold for dynamic programming languages. |
2025-07-31 11:13:30 +0200 | chele | (~chele@user/chele) chele |
2025-07-31 11:13:34 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 260 seconds) |
2025-07-31 11:13:47 +0200 | <apache2> | finding instances where they does not contradict a claim that they do not always hold |
2025-07-31 11:13:53 +0200 | <apache2> | they do* |
2025-07-31 11:14:32 +0200 | <kuribas> | Well, maybe I misread the claim... |
2025-07-31 11:15:40 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2025-07-31 11:15:43 +0200 | <apache2> | "dynamic" and "static" are fluid concepts, I'd be wary of treating conjectures that talk about "dynamic programming languages" as formal conjectures |
2025-07-31 11:15:58 +0200 | <kuribas> | true |
2025-07-31 11:16:10 +0200 | <kuribas> | like with gradual typing you could have the properties failing... |
2025-07-31 11:16:49 +0200 | <kuribas> | Or a static analyser that shows some expression always throws a type error. |
2025-07-31 11:17:23 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 11:18:21 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-07-31 11:18:54 +0200 | <apache2> | type checking is usually used to verify that the program is internally consistent, not that it works. "internally consistent" is also a fluid concept, "with respect to which properties" is the follow-up question you can ask, and that the operational semantics should answer |
2025-07-31 11:20:27 +0200 | <kuribas> | Couldn't you say that it is about making sure the domains of functions are respected? |
2025-07-31 11:20:52 +0200 | <apache2> | ie you may be able to rule out stalling Progress due to Int<->Float mismatch, but you may not be able to rule out stalling due to unterminating functions |
2025-07-31 11:21:11 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 11:21:28 +0200 | <apache2> | kuribas: sure, ensuring domains+codomains match up is a useful and common thing to achieve in a type checker |
2025-07-31 11:22:51 +0200 | <apache2> | but if you can't prove that functions terminate, it's hard to talk about codomains. then you end up with "iff the function terminates, the result has the correct type" |
2025-07-31 11:23:20 +0200 | <apache2> | which is a hell of a lot better than "yolo" but it doesn't mean your program will do what it was intended to do |
2025-07-31 11:23:35 +0200 | <kuribas> | So total programming is better... |
2025-07-31 11:24:11 +0200 | <__monty__> | It's interesting at least. |
2025-07-31 11:25:22 +0200 | <kuribas> | progress also disregards exceptions in many language, no? |
2025-07-31 11:25:40 +0200 | <kuribas> | An that any expression can throw any exception. |
2025-07-31 11:25:54 +0200 | <apache2> | kuribas: it's better if your aim is to prove things about the results :) it may not be better if your goal is to write a program that performs the task at hand - the more complicated the type system, the less likely the programmer is to terminate :) |
2025-07-31 11:26:32 +0200 | <apache2> | kuribas: throwing an exception is usually considered progress. |
2025-07-31 11:28:06 +0200 | <kuribas> | I just think most practical programs are trivially total. |
2025-07-31 11:28:17 +0200 | <apache2> | segfaults leading to program termination is usually not, but you could define a language where that is a valid outcome |
2025-07-31 11:28:34 +0200 | <apache2> | it's a definition game |
2025-07-31 11:29:35 +0200 | <apache2> | kuribas: in python you can write a program `while True: print("SPAM")` which clearly does not terminate |
2025-07-31 11:29:43 +0200 | sprout | (~sprout@84-80-106-227.fixed.kpn.net) (Remote host closed the connection) |
2025-07-31 11:30:14 +0200 | <apache2> | it can still be a practical program, UNIX "yes" is an example of such |
2025-07-31 11:30:19 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Ping timeout: 272 seconds) |
2025-07-31 11:31:21 +0200 | <apache2> | I don't know about trivial, in languages where you can ask the type checker to check that your functions are total (like Agda) it's often *not trivial* to convince the type checker that that's the case |
2025-07-31 11:31:31 +0200 | <__monty__> | As soon as you have something long running like a daemon or a GUI, termination checking sounds like it should get hard to me. |
2025-07-31 11:32:59 +0200 | <apache2> | __monty__: I guess if you can prove things about the inner loop, you can often prove that the program doesn't terminate |
2025-07-31 11:34:15 +0200 | <apache2> | but if you can write the inner loop as a step that you can prove termination for, then you can have a small runner, and you know the inner loop won't get stuck |
2025-07-31 11:35:30 +0200 | trickard | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 11:35:44 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 11:39:16 +0200 | tromp | (~textual@2001:1c00:3487:1b00:b928:de3f:1dfd:983a) |
2025-07-31 11:41:00 +0200 | Digit | (~user@user/digit) (Ping timeout: 276 seconds) |
2025-07-31 11:44:57 +0200 | sprout | (~sprout@84-80-106-227.fixed.kpn.net) |
2025-07-31 11:45:19 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-31 11:46:49 +0200 | inline_ | (~inline@ip-005-146-197-054.um05.pools.vodafone-ip.de) (Quit: Leaving) |
2025-07-31 11:48:52 +0200 | <kuribas> | __monty__: you use fuel. You just run the deamon as long as there is fuel. |
2025-07-31 11:48:59 +0200 | <kuribas> | Then in practice you run with infinite fuel. |
2025-07-31 11:49:35 +0200 | <kuribas> | The important part is of course that you get results with bounded fuel. |
2025-07-31 11:49:56 +0200 | <__monty__> | There's the rub, isn't it? |
2025-07-31 11:50:06 +0200 | <kuribas> | The whole loop is not total, but the input -> result part is total. |
2025-07-31 11:50:41 +0200 | <mauke> | non-terminating, but productive |
2025-07-31 11:55:07 +0200 | jackdk | (uid373013@cssa/life/jackdk) (Quit: Connection closed for inactivity) |
2025-07-31 11:56:39 +0200 | dextaa | (~dan@user/dextaa) dextaa |
2025-07-31 11:57:09 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 248 seconds) |
2025-07-31 11:58:32 +0200 | VictorHugenay | (~VictorHug@user/VictorHugenay) VictorHugenay |
2025-07-31 11:59:19 +0200 | inline | (~inline@ip-005-146-197-054.um05.pools.vodafone-ip.de) Inline |
2025-07-31 12:02:34 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 260 seconds) |
2025-07-31 12:08:08 +0200 | hsw | (~hsw@112-104-9-97.adsl.dynamic.seed.net.tw) (Remote host closed the connection) |
2025-07-31 12:09:44 +0200 | VictorHugenay | (~VictorHug@user/VictorHugenay) (Quit: Konversation terminated!) |
2025-07-31 12:11:41 +0200 | Digit | (~user@user/digit) Digit |
2025-07-31 12:13:10 +0200 | b7r6 | (~user@user/b7r6) (Remote host closed the connection) |
2025-07-31 12:14:49 +0200 | XPMUser | (~XPMUser@2607:fea8:e81:d900:544a:85b1:dc6f:f5f5) |
2025-07-31 12:16:21 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 12:18:27 +0200 | VictorHugenay | (~VictorHug@user/VictorHugenay) VictorHugenay |
2025-07-31 12:18:54 +0200 | XPMUser | (~XPMUser@2607:fea8:e81:d900:544a:85b1:dc6f:f5f5) (Client Quit) |
2025-07-31 12:19:14 +0200 | XPMUser | (~XPMUser@2607:fea8:e81:d900:544a:85b1:dc6f:f5f5) |
2025-07-31 12:22:42 +0200 | ubert1 | (~Thunderbi@178.165.167.35.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
2025-07-31 12:23:09 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2025-07-31 12:23:34 +0200 | XPMUser | (~XPMUser@2607:fea8:e81:d900:544a:85b1:dc6f:f5f5) (Client Quit) |
2025-07-31 12:23:53 +0200 | XPMUser | (~XPMUser@2607:fea8:e81:d900:544a:85b1:dc6f:f5f5) |
2025-07-31 12:27:19 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Ping timeout: 272 seconds) |
2025-07-31 12:27:52 +0200 | xff0x_ | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Quit: xff0x_) |
2025-07-31 12:28:04 +0200 | sprotte24 | (~sprotte24@p200300d16f0ea9003c5fb6edece4b8f3.dip0.t-ipconnect.de) |
2025-07-31 12:29:48 +0200 | VictorHugenay | (~VictorHug@user/VictorHugenay) (Quit: Konversation terminated!) |
2025-07-31 12:29:59 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 260 seconds) |
2025-07-31 12:30:58 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 276 seconds) |
2025-07-31 12:31:50 +0200 | <__monty__> | kuribas: The thing is that "Just do this little thing and then the problem's trivial," doesn't work with things like the halting problem. |
2025-07-31 12:31:58 +0200 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds) |
2025-07-31 12:32:05 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 12:32:18 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) |
2025-07-31 12:32:53 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 252 seconds) |
2025-07-31 12:40:41 +0200 | XPMUser | (~XPMUser@2607:fea8:e81:d900:544a:85b1:dc6f:f5f5) (Quit: Client closed) |
2025-07-31 12:41:15 +0200 | sprotte24 | (~sprotte24@p200300d16f0ea9003c5fb6edece4b8f3.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2025-07-31 12:41:23 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2025-07-31 12:42:49 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
2025-07-31 12:43:28 +0200 | zlqrvx | (~zlqrvx@101.175.150.247) |
2025-07-31 12:45:14 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 12:46:39 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2025-07-31 12:49:20 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-07-31 12:51:02 +0200 | trickard__ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-07-31 12:51:34 +0200 | trickard_ | (~trickard@cpe-54-98-47-163.wireline.com.au) (Ping timeout: 260 seconds) |
2025-07-31 12:52:59 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-31 12:57:06 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 252 seconds) |
2025-07-31 13:00:04 +0200 | caconym747 | (~caconym@user/caconym) (Quit: bye) |
2025-07-31 13:00:23 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
2025-07-31 13:02:07 +0200 | caconym747 | (~caconym@user/caconym) caconym |
2025-07-31 13:03:44 +0200 | trickard__ | trickard |
2025-07-31 13:04:35 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 13:05:56 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-07-31 13:05:57 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Ping timeout: 272 seconds) |
2025-07-31 13:09:12 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
2025-07-31 13:11:54 +0200 | AVA | (~AVA@84.54.80.58) (Quit: Leaving) |
2025-07-31 13:17:38 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2025-07-31 13:19:53 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2025-07-31 13:20:11 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2025-07-31 13:20:38 +0200 | Yumemi | (~Yumemi@chamoin.net) (Remote host closed the connection) |
2025-07-31 13:21:13 +0200 | Lord_of_Life_ | Lord_of_Life |
2025-07-31 13:23:23 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) fp |
2025-07-31 13:24:30 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-31 13:24:44 +0200 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2025-07-31 13:25:28 +0200 | Yumemi | (~Yumemi@chamoin.net) Yumemi |
2025-07-31 13:26:01 +0200 | vpan | (~vpan@212.117.1.172) (Quit: Leaving.) |
2025-07-31 13:31:15 +0200 | zlqrvx | (~zlqrvx@101.175.150.247) (Quit: ZNC 1.10.0 - https://znc.in) |
2025-07-31 13:34:13 +0200 | trickard | (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 13:34:27 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-07-31 13:35:26 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2025-07-31 13:39:18 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds) |
2025-07-31 13:40:46 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 13:45:48 +0200 | tromp | (~textual@2001:1c00:3487:1b00:b928:de3f:1dfd:983a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-07-31 13:48:22 +0200 | acidjnk_new | (~acidjnk@2a02:3030:b:f1c:78a4:f074:fb0b:58dc) acidjnk |
2025-07-31 13:49:18 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e716dd19bc5728ea616be3b0.dip0.t-ipconnect.de) acidjnk |
2025-07-31 13:49:37 +0200 | acidjnk | (~acidjnk@p200300d6e72d7b77bc5728ea616be3b0.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-07-31 13:52:49 +0200 | acidjnk_new | (~acidjnk@2a02:3030:b:f1c:78a4:f074:fb0b:58dc) (Ping timeout: 248 seconds) |
2025-07-31 13:53:00 +0200 | acidjnk | (~acidjnk@2a02:3030:b:f1c:78a4:f074:fb0b:58dc) acidjnk |
2025-07-31 13:53:57 +0200 | acidjnk_new3 | (~acidjnk@p200300d6e716dd19bc5728ea616be3b0.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2025-07-31 13:59:37 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Quit: Client closed) |
2025-07-31 14:00:35 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-31 14:02:19 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-07-31 14:03:54 +0200 | hakutaku_ | (~textual@chen.yukari.eu.org) (Remote host closed the connection) |
2025-07-31 14:04:29 +0200 | hakutaku | (~textual@chen.yukari.eu.org) |
2025-07-31 14:05:18 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 272 seconds) |
2025-07-31 14:07:25 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2025-07-31 14:09:24 +0200 | <__monty__> | I'm having a hard time finding a reference for let-bindings in pattern match guards, anyone know where to look? |
2025-07-31 14:13:51 +0200 | <__monty__> | In particular I want to check whether I'm imagining guards can occur inside of them. |
2025-07-31 14:15:16 +0200 | ttybitnik | (~ttybitnik@user/wolper) ttybitnik |
2025-07-31 14:18:17 +0200 | hseg | (~gesh@46.120.20.122) |
2025-07-31 14:18:32 +0200 | Reality2point0 | (~Reality2p@2a02:3035:665:a078:7ac6:f05a:b961:839e) |
2025-07-31 14:20:01 +0200 | <Reality2point0> | Hi. I noticed that data definitions are the only ones that don’t use indentation syntax, and rely on curly braces by default. Is there some extension I can enable to just write data record definitions by indenting and no curly braces? |
2025-07-31 14:21:02 +0200 | <__monty__> | Reality2point0: I think you're conflating { ...; ... } (blocks) with { ..., ...} (records). |
2025-07-31 14:21:55 +0200 | <__monty__> | The context-free grammar in the 2010 report confirms I didn't imagine it, IIUC. |
2025-07-31 14:24:19 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
2025-07-31 14:30:19 +0200 | <Reality2point0> | __monty__: I mean for *defining* a data type. Like this: `data MyData = MyData { getA :: A, getB :: B }` I wish I could write that like this: `data MyData = MyData\n getA :: A\n getB :: B\n` |
2025-07-31 14:30:39 +0200 | <Reality2point0> | (IRC doesn’t support line breaks, does it?) |
2025-07-31 14:31:11 +0200 | <dutchie> | no, you'd need to use a pastebin site for anything of any length |
2025-07-31 14:32:57 +0200 | <kuribas> | Reality2point0: That's record syntax, as __monty__ says. |
2025-07-31 14:33:07 +0200 | <kuribas> | it's the same for defining as for destructuring. |
2025-07-31 14:36:20 +0200 | <Reality2point0> | kuribas: Uuum, the latter way, how I wish I could write it… That’s not legal Haskell, is it? |
2025-07-31 14:36:32 +0200 | <Reality2point0> | kuribas: Maybe look at this instead: https://pastebin.com/FMwBMt0U |
2025-07-31 14:36:49 +0200 | <Reality2point0> | Is that legal? |
2025-07-31 14:37:43 +0200 | <kuribas> | no |
2025-07-31 14:37:55 +0200 | <Reality2point0> | Exactly. I want this to be legal. |
2025-07-31 14:38:10 +0200 | <kuribas> | I want to be rich. |
2025-07-31 14:38:44 +0200 | <Reality2point0> | I get it, I want you to be less condescending,and that’s not happening either, right? :P |
2025-07-31 14:39:05 +0200 | <kuribas> | no :) |
2025-07-31 14:39:15 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 14:39:15 +0200 | <Reality2point0> | 😂 |
2025-07-31 14:39:53 +0200 | <kuribas> | Reality2point0: You could make a change request for that syntax, but it has 0 chance to succeed. |
2025-07-31 14:39:56 +0200 | <Reality2point0> | I want you to know that #haskell was always an exceptionally nice channel, and I hope this is still the case. |
2025-07-31 14:40:04 +0200 | <Reality2point0> | kuribas: Why? |
2025-07-31 14:41:00 +0200 | <kuribas> | Reality2point0: Because record syntax has nothing to do with indentation rule. |
2025-07-31 14:41:07 +0200 | <kuribas> | It just shares the brace. |
2025-07-31 14:41:18 +0200 | <Reality2point0> | Then that is what should be changed. |
2025-07-31 14:41:28 +0200 | notzmv | (~umar@user/notzmv) notzmv |
2025-07-31 14:41:46 +0200 | <Reality2point0> | I mean I can write my own preprocessor that gives me that. So of course GHC can. Or is there a catch that I’m not seeing? |
2025-07-31 14:42:13 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Ping timeout: 272 seconds) |
2025-07-31 14:42:55 +0200 | <kuribas> | Well, introducing a lot of ambiguity I'd think. |
2025-07-31 14:43:11 +0200 | <kuribas> | Being a major effort to introduce, and little actual gain. |
2025-07-31 14:44:13 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-07-31 14:44:36 +0200 | Reality2point0 | (~Reality2p@2a02:3035:665:a078:7ac6:f05a:b961:839e) (Quit: Client closed) |
2025-07-31 14:45:40 +0200 | <kuribas> | And also, record syntax is easy to recognize now. If you introduce the indataion rule for it, it would not be. |
2025-07-31 14:47:26 +0200 | Reality2point0 | (~Reality2p@2a02:3035:665:a078:7ac6:f05a:b961:839e) |
2025-07-31 14:47:34 +0200 | <lortabac> | actually it may be doable without ambiguity for type declarations, but for record construction/matching it looks harder |
2025-07-31 14:48:54 +0200 | <Reality2point0> | Well, if a line starts with `data `, it’s gonna be a data declatation. If the lines below it are indented, they go into that. Seems very straightforward for me. Am I missing something? |
2025-07-31 14:49:00 +0200 | <Reality2point0> | *declaration |
2025-07-31 14:49:57 +0200 | <kuribas> | But it would depend on the presence of "::". |
2025-07-31 14:50:10 +0200 | <lortabac> | I have no idea. Personally I'd be fine with s-expressions as the universal syntax for all languages :) |
2025-07-31 14:50:24 +0200 | tromp | (~textual@2001:1c00:3487:1b00:b928:de3f:1dfd:983a) |
2025-07-31 14:50:55 +0200 | <Reality2point0> | kuribas: Hmm, is there valid syntax for what goes inside `data` that doesn’t use a `::`? |
2025-07-31 14:51:44 +0200 | <kuribas> | data Foo = Foo Int |
2025-07-31 14:51:49 +0200 | <kuribas> | Int could be on a new line. |
2025-07-31 14:51:59 +0200 | <lortabac> | the GHC parser is already **extremely** complex, introducing yet another special case makes me very uncomfortable, even if it turns out to be straightforward |
2025-07-31 14:52:10 +0200 | xff0x | (~xff0x@2405:6580:b080:900:d00e:8764:de20:d052) |
2025-07-31 14:52:28 +0200 | <Reality2point0> | lortabac: :D I’d use a visual representation of category theory. But with pure keyboard input, so it still looks like a movie hacker when I code. :D |
2025-07-31 14:53:03 +0200 | <Reality2point0> | lortabac: Well, of course it is extremely complex when it has two separate parsers and syntaxes wher it only needs one. :D |
2025-07-31 14:54:58 +0200 | <Reality2point0> | kuribas: Okay, the indentation syntax should only be allowed for the syntax where you name each field. So you are right, it depends on the `::`. But there’s actually no reason to not allow `data Foo = Foo\n Int`. I don’t think mixing both syntaxes would be necessary though. |
2025-07-31 14:55:07 +0200 | <jreicher> | kuribas: I don't think "dynamic typechecking" actually exists. When a runtime for a dynamic language is "consulting" the type, it's not performing a check. |
2025-07-31 14:55:13 +0200 | <__monty__> | Reality2point0: It's just kind of a weird thing to want. Why not the same for List and String? |
2025-07-31 14:55:29 +0200 | <Reality2point0> | __monty__: Yeah, why not? |
2025-07-31 14:55:44 +0200 | <Reality2point0> | List comprehensions too |
2025-07-31 14:56:07 +0200 | <Reality2point0> | Emergence! SpongebobRainbowMeme.jpg |
2025-07-31 14:56:21 +0200 | <__monty__> | I mean, now we're not far off from "Yeah, but why doesn't GHC accept JavaScript/C/Python syntax?" |
2025-07-31 14:56:43 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-31 14:56:55 +0200 | <kuribas> | Some syntax constructs bring the expression into indentation scope, like let, do, ... Then the parser inserts '{' and ';' at appropriate places. |
2025-07-31 14:57:10 +0200 | <kuribas> | It's not the case for data rhs. |
2025-07-31 14:57:11 +0200 | <Reality2point0> | Look, all I want is that when everything uses that indentation synax, to quash the weirdo exception where it for some arcane reason doesn’t, and hence simplify both the parser and coding. |
2025-07-31 14:57:27 +0200 | <kuribas> | Reality2point0: and it's pointed out that this is not an exception? |
2025-07-31 14:57:46 +0200 | acidjnk_new | (~acidjnk@p200300d6e7171990bc5728ea616be3b0.dip0.t-ipconnect.de) acidjnk |
2025-07-31 14:57:56 +0200 | <Reality2point0> | kuribas: And I pointed out that that is the problem then. :D |
2025-07-31 14:58:16 +0200 | <__monty__> | Reality2point0: But it's *not* a weirdo exception, it uses comma for separators. The layout rule introduces semicolons. |
2025-07-31 14:59:14 +0200 | <Reality2point0> | __monty__: So you are saying it is not weird because it is a weird outlier in even more ways than I thought. :D |
2025-07-31 15:00:05 +0200 | <__monty__> | I'm saying your expectation is weird and it's not one I've ever shared or seen anyone else share. |
2025-07-31 15:00:09 +0200 | <Reality2point0> | But hey, if we go all the way, then there really shouldn’t be three separate languages in Haskell. The normal one (runs at run time), the type one (runs at compile time), and the kind one (ask Nyarlathotep). :D |
2025-07-31 15:00:29 +0200 | <kuribas> | Reality2point0: I implemented the haskell syntax in emacs lisp, so I think I do know how it works. |