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. |
2025-07-31 15:00:55 +0200 | <kuribas> | Reality2point0: I suggest idris2, it has only one language :) |
2025-07-31 15:01:05 +0200 | acidjnk | (~acidjnk@2a02:3030:b:f1c:78a4:f074:fb0b:58dc) (Ping timeout: 248 seconds) |
2025-07-31 15:01:18 +0200 | <kuribas> | And IMO it's much more ergonomic for doing type level computation. |
2025-07-31 15:01:30 +0200 | <Reality2point0> | __monty__: Calling my expectation to reduce weirdness weird is super-weird to be frank. I really cannot follow how you consider less complexity weird and cannot see how it’s an outlier. It feels like my point is not getting through. |
2025-07-31 15:01:59 +0200 | <__monty__> | It's objectively more complex though. |
2025-07-31 15:02:03 +0200 | <Reality2point0> | kuribas: I didn’t say you don’t know how it works, did I? If it came across like that, then I’m sorry. |
2025-07-31 15:02:29 +0200 | <Reality2point0> | __monty__: How is having two separate parsers instead of one “more” complex? |
2025-07-31 15:03:20 +0200 | <Reality2point0> | kuribas: I’ll look into idris2. (Is it the successor to a precursor to Haskell?) |
2025-07-31 15:03:31 +0200 | <__monty__> | That's just not how it works. The layout rule is implemented more or less like a lexer pass. |
2025-07-31 15:03:32 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds) |
2025-07-31 15:04:04 +0200 | <__monty__> | Idris is a dependently typed language with a lot of Haskell influence. |
2025-07-31 15:04:33 +0200 | <kuribas> | Reality2point0: idris2 is the successor of idris. It's dependently typed, meaning types are just values, instead of having it's only level. |
2025-07-31 15:05:22 +0200 | <kuribas> | Reality2point0: So there are no kinds. |
2025-07-31 15:05:23 +0200 | <Reality2point0> | __monty__: “That’s just how it works.” … Okay, I think we’ll stop here. This is not a rational discussion anymore. |
2025-07-31 15:06:16 +0200 | <kuribas> | Reality2point0: how long do you know haskell? |
2025-07-31 15:06:30 +0200 | <Reality2point0> | kuribas: Sounds nice. Though I still see two different syntaxes in the examples. (The `:` and `->` one, and the other one.) |
2025-07-31 15:06:35 +0200 | Digitteknohippie | (~user@user/digit) Digit |
2025-07-31 15:07:42 +0200 | Digit | (~user@user/digit) (Ping timeout: 276 seconds) |
2025-07-31 15:07:44 +0200 | <Reality2point0> | kuribas: Hard to define, since I know it since Haskell 98 came out, but I didn’t use it as my main language for a long time. |
2025-07-31 15:07:49 +0200 | <Reality2point0> | kuribas: Why? |
2025-07-31 15:08:10 +0200 | <kuribas> | I am not being condescending. I implemented the layout rule in emacs, and it is quite complex/subtle. I am pretty sure noone is waiting for adding more complexity to it. |
2025-07-31 15:10:43 +0200 | <Reality2point0> | In fact I started using Haskell because I designed my own language at the time, and it just did all the things I planned, but was much more developed, so I just used Haskell instead. It still has some ugly points where it is lacking to what I would consider ideal. (E.g. the loads of boilerplate. And the record syntax. Plus TemplateHaskell seems |
2025-07-31 15:10:44 +0200 | <Reality2point0> | like the wrong way o go for me.) |
2025-07-31 15:10:52 +0200 | acidjnk_new | (~acidjnk@p200300d6e7171990bc5728ea616be3b0.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2025-07-31 15:11:13 +0200 | <kuribas> | Reality2point0: idris2 only resembles haskell superficially, it has many differences. Dependently typed, strict, other syntaxes, allowing for overloading do, list syntax, ... |
2025-07-31 15:11:21 +0200 | <TMA> | the complexity of the layout rules of haskell made me hate the language for several years, don't make it more complex |
2025-07-31 15:11:30 +0200 | <kuribas> | It doesn't have guards, but has views. |
2025-07-31 15:12:42 +0200 | <Reality2point0> | kuribas: Yes, I just recently implemented a different layout rule for a file syntax of my own. It is indeed more complex than one thinks. But it’s not _that_ complex. Or rather, one should prioritize highly emergent rules, and rather alter the syntax than make the parser more complex. (Which is why I suggested not having a separate parser for |
2025-07-31 15:12:42 +0200 | <Reality2point0> | data definition with records in the first place.) |
2025-07-31 15:13:02 +0200 | <Reality2point0> | TMA: My whole point was to make it simpler. |
2025-07-31 15:13:19 +0200 | <kuribas> | I think layout rule is just way overcomplicated, and often confusing for newbees. |
2025-07-31 15:13:28 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-07-31 15:14:16 +0200 | <Leary> | {;} syntax is used for things that /can/ be layout, because they have a layout /herald/, such as `do`, `of`, `let` or `where`. Data constructors don't have one, and making data constructors themselves herald layout would break existing syntax. So you'd need to introduce a new herald or reuse an existing one for the purpose. |
2025-07-31 15:14:22 +0200 | <kuribas> | I am not even fan of indentation sensitive syntax, but at least python is way easier. |
2025-07-31 15:15:10 +0200 | <TMA> | Reality2point0: simpler? just get rid of the 2D syntax altogether. |
2025-07-31 15:15:36 +0200 | <Reality2point0> | kuribas: I noticed that I rediscover the “view” concept quite often in programming, in general. E.g. in Plan9, files could just be views of something else, via a file server. Under Linux, you can mount your own FUSE file system consisting of a single file that is live generated on read. |
2025-07-31 15:16:57 +0200 | <kuribas> | Reality2point0: view in dependently typed language are different, in that they also change the normalisation of expressions. |
2025-07-31 15:17:00 +0200 | <Reality2point0> | TMA: No, not simpler at the expense of power. That is just dumbing down. That’s what commercial software companies are for. XD … More *emergent*! Aka more power for less complexity. Like you can combine a very few different types of LEGO bricks to countless things. |
2025-07-31 15:17:01 +0200 | Digitteknohippie | Digit |
2025-07-31 15:19:30 +0200 | <Reality2point0> | kuribas: Let’s correct that to: The layout rule has too many quirks. It should have few rules but those should be as powerful as possible. If you just want extremely simple, just get a rock. (Or a perfectly featureless slice of mirror. Aka an iPhone 50 or so. ;) ) It’s perfectly simple. And useless. |
2025-07-31 15:20:03 +0200 | <Reality2point0> | Leary: What would it break exactly? |
2025-07-31 15:20:42 +0200 | <kuribas> | It's just syntax, I don't see why that should be so complex. |
2025-07-31 15:20:49 +0200 | <Reality2point0> | kuribas: Easy is not a good thing. The easiest thing in life is to just lay there and vegetate or die. |
2025-07-31 15:21:01 +0200 | <kuribas> | I am even happy with lisps. |
2025-07-31 15:21:01 +0200 | <Reality2point0> | kuribas: Correct. |
2025-07-31 15:21:26 +0200 | <__monty__> | Am I the only one to consider it inconsistent that System.FilePath.isRelative considers ~ prefixed paths relative but System.Directory.{makeAbsolute,canonicalizePath} prepend the PWD? |
2025-07-31 15:21:28 +0200 | <Leary> | Reality2point0: If the data constructor `Foo` heralds layout, then `Foo bar baz` is parsed as `Foo (bar baz)`. To get the expected result without line breaks requires `Foo{bar;baz}`. |
2025-07-31 15:21:54 +0200 | <Reality2point0> | Yes, Lisp is very nicely emergent. But humans are not good with repetitivity. So the closing braces piling up is its downfall. |
2025-07-31 15:22:17 +0200 | <kuribas> | You don't even look at braces, you just let the editor handle them. |
2025-07-31 15:22:39 +0200 | <kuribas> | The only thing I don't like is that indentation advances so fast. |
2025-07-31 15:23:21 +0200 | <Reality2point0> | __monty__ "~" as in "a directory with the actual name "~" is a relative path. "~" as in "getting expanded to $HOME" is an absolute path. |
2025-07-31 15:24:02 +0200 | <__monty__> | > System.Directory.makeAbsolute "~/some/path" |
2025-07-31 15:24:03 +0200 | <lambdabot> | error: |
2025-07-31 15:24:03 +0200 | <lambdabot> | Not in scope: ‘System.Directory.makeAbsolute’ |
2025-07-31 15:24:03 +0200 | <lambdabot> | No module named ‘System.Directory’ is imported. |
2025-07-31 15:24:34 +0200 | <__monty__> | yahb2: System.Directory.makeAbsolute "~/some/path" |
2025-07-31 15:25:17 +0200 | <Reality2point0> | Leary: Wait, why `Foo (bar baz)`? I thought it was `(((Foo) bar) baz)`. |
2025-07-31 15:25:52 +0200 | <Leary> | That's the result of ordinary function application, yes. Layout heralds are not that. |
2025-07-31 15:26:08 +0200 | <Leary> | The data constructor becomes special syntax. |
2025-07-31 15:26:25 +0200 | <Leary> | Strictly speaking, I should have said `Foo{bar baz}`. |
2025-07-31 15:26:38 +0200 | <Reality2point0> | Leary: “Special synax” is what I have a problem with. |
2025-07-31 15:28:45 +0200 | Reality2point0 | (~Reality2p@2a02:3035:665:a078:7ac6:f05a:b961:839e) (Gotta go do some actual work. :D) |
2025-07-31 15:31:27 +0200 | <__monty__> | Right, my mistake, I keep wanting to expect shell expansion of ~ where it has no reason to be. |
2025-07-31 15:35:39 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-31 15:35:52 +0200 | trickard_ | (~trickard@cpe-49-98-47-163.wireline.com.au) |
2025-07-31 15:38:19 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
2025-07-31 15:38:50 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-31 15:39:34 +0200 | pavonia | (~user@user/siracusa) (Ping timeout: 260 seconds) |
2025-07-31 15:47:46 +0200 | jespada | (~jespada@2800:a4:23a6:4500:e9b2:a2a:2e38:8f01) jespada |
2025-07-31 15:55:52 +0200 | acidjnk | (~acidjnk@p200300d6e7171990ed578ca2f3c5a653.dip0.t-ipconnect.de) acidjnk |
2025-07-31 16:00:21 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 276 seconds) |
2025-07-31 16:01:18 +0200 | tromp | (~textual@2001:1c00:3487:1b00:b928:de3f:1dfd:983a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-07-31 16:06:14 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2025-07-31 16:08:26 +0200 | trickard_ | trickard |
2025-07-31 16:11:29 +0200 | <EvanR> | syntax is nice when different syntax means different things, and uniform syntax means uniform things |
2025-07-31 16:11:59 +0200 | <EvanR> | no syntax + many different things gets nutty |
2025-07-31 16:15:00 +0200 | <jreicher> | IMO that's Lisp |
2025-07-31 16:15:20 +0200 | <sshine> | I just wish I could ignore the parentheses. |
2025-07-31 16:15:51 +0200 | <sshine> | I'm sold on the concept. |
2025-07-31 16:16:47 +0200 | Digitteknohippie | (~user@user/digit) Digit |
2025-07-31 16:17:54 +0200 | Digit | (~user@user/digit) (Ping timeout: 276 seconds) |
2025-07-31 16:18:18 +0200 | jespada | (~jespada@2800:a4:23a6:4500:e9b2:a2a:2e38:8f01) (Ping timeout: 272 seconds) |
2025-07-31 16:20:24 +0200 | jespada | (~jespada@r186-48-25-255.dialup.adsl.anteldata.net.uy) jespada |
2025-07-31 16:21:36 +0200 | <jreicher> | Lists in haskell use brackets as well, so I'm not sure it's possible to do better...? |
2025-07-31 16:21:49 +0200 | Digitteknohippie | Digit |
2025-07-31 16:23:53 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 252 seconds) |
2025-07-31 16:26:09 +0200 | <jreicher> | But from a functional point of view, I still hesitate with Lisp. It's kind of nice that the homoiconicity brought first-class functions (accidentally?) to programmers, but by the same token it also brought unlimited mutability. |
2025-07-31 16:29:26 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2025-07-31 16:31:48 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
2025-07-31 16:36:18 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2025-07-31 16:36:33 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2025-07-31 16:37:46 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |