2024/06/15

2024-06-15 00:12:13 +0200causal(~eric@50.35.88.207) (Quit: WeeChat 4.3.1)
2024-06-15 00:26:39 +0200phma(phma@2001:5b0:212a:de28:a570:e84e:3c80:47f8) (Read error: Connection reset by peer)
2024-06-15 00:27:23 +0200phma(~phma@host-67-44-208-57.hnremote.net)
2024-06-15 00:28:06 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 4.2.1)
2024-06-15 00:45:34 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-06-15 00:45:42 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2024-06-15 00:45:57 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2024-06-15 00:51:28 +0200acidjnk(~acidjnk@p200300d6e714dc85ec861666d651a7ab.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-06-15 00:58:45 +0200Midjak(~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep)
2024-06-15 01:03:07 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-06-15 01:07:12 +0200solaire(~solaire@2607:fb91:1ec1:9339:f5e5:27a6:1fff:b1e7)
2024-06-15 01:17:02 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-06-15 01:33:15 +0200solaire(~solaire@2607:fb91:1ec1:9339:f5e5:27a6:1fff:b1e7) (Ping timeout: 264 seconds)
2024-06-15 01:33:35 +0200solaire(~solaire@2607:fb91:1ec1:9339:7733:d241:cd3a:f15b)
2024-06-15 01:42:44 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2024-06-15 01:43:05 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-06-15 01:44:24 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-15 01:46:54 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-15 02:01:26 +0200xdminsy(~xdminsy@117.147.70.212)
2024-06-15 02:03:16 +0200eron(~eron@179.98.163.50) (Quit: Client closed)
2024-06-15 02:14:53 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-15 02:15:17 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-15 02:15:51 +0200hgolden_(~hgolden@syn-172-251-233-141.res.spectrum.com)
2024-06-15 02:17:07 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:2678:8497:aa5c:7fa9) (Read error: Connection reset by peer)
2024-06-15 02:17:39 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 264 seconds)
2024-06-15 02:18:39 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-06-15 02:30:34 +0200dysthesis(~dysthesis@user/dysthesis) (Ping timeout: 260 seconds)
2024-06-15 02:32:39 +0200dysthesis(~dysthesis@user/dysthesis)
2024-06-15 02:45:47 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-15 02:46:13 +0200henry40408(~henry4040@175.182.111.183)
2024-06-15 03:05:03 +0200td_(~td@i53870931.versanet.de) (Ping timeout: 264 seconds)
2024-06-15 03:27:20 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::)
2024-06-15 03:27:49 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::) (Client Quit)
2024-06-15 03:31:22 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-06-15 03:35:52 +0200dysthesis(~dysthesis@user/dysthesis) (Quit: dysthesis)
2024-06-15 03:38:29 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::)
2024-06-15 03:39:17 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::) (Client Quit)
2024-06-15 03:58:15 +0200Core9700(~rosco@183.171.77.248)
2024-06-15 04:00:31 +0200rosco(~rosco@183.171.104.222) (Ping timeout: 260 seconds)
2024-06-15 04:03:31 +0200petrichor(~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-15 04:03:50 +0200petrichor(~znc-user@user/petrichor)
2024-06-15 04:16:15 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-15 04:20:11 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:dcb8:51bd:e128:b5ae)
2024-06-15 04:28:53 +0200solaire(~solaire@2607:fb91:1ec1:9339:7733:d241:cd3a:f15b) (Ping timeout: 240 seconds)
2024-06-15 04:29:59 +0200solaire(~solaire@209.0.135.98)
2024-06-15 04:31:47 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds)
2024-06-15 04:42:05 +0200ystael(~ystael@user/ystael) (Ping timeout: 240 seconds)
2024-06-15 05:02:39 +0200solaire(~solaire@209.0.135.98) (Ping timeout: 264 seconds)
2024-06-15 05:21:15 +0200Square(~Square@user/square) (Ping timeout: 260 seconds)
2024-06-15 05:35:59 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 05:36:09 +0200 <rustisafungus> is there a haskell to XLA compiler? i hate python
2024-06-15 05:36:28 +0200fraznel(~fuag1@c-67-160-124-36.hsd1.wa.comcast.net)
2024-06-15 05:41:03 +0200Core9700(~rosco@183.171.77.248) (Ping timeout: 264 seconds)
2024-06-15 05:42:10 +0200xigua(~xigua@user/xigua) (Read error: Connection reset by peer)
2024-06-15 05:42:25 +0200xigua(~xigua@user/xigua)
2024-06-15 05:42:58 +0200aforemny_(~aforemny@2001:9e8:6ceb:e600:2c9:e941:ad5c:4927)
2024-06-15 05:44:07 +0200aforemny(~aforemny@i59F516E8.versanet.de) (Ping timeout: 260 seconds)
2024-06-15 05:46:05 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::)
2024-06-15 05:46:18 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::) (Client Quit)
2024-06-15 05:53:13 +0200vladl(~vladl@24.35.90.183) (Quit: Lost terminal)
2024-06-15 06:05:28 +0200slack1256(~slack1256@179.60.70.224)
2024-06-15 06:06:17 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::)
2024-06-15 06:18:27 +0200mikess(~mikess@user/mikess)
2024-06-15 06:18:31 +0200mikess(~mikess@user/mikess) (Client Quit)
2024-06-15 06:20:59 +0200madhavanmi(~madhavanm@2409:40f4:100f:354f:8000::) (Ping timeout: 260 seconds)
2024-06-15 06:21:28 +0200madhavanmi(~madhavanm@2409:40f4:2e:8a90:8000::)
2024-06-15 06:21:57 +0200slack1256(~slack1256@179.60.70.224) (Remote host closed the connection)
2024-06-15 06:46:18 +0200slack1256(~slack1256@179.60.70.224)
2024-06-15 06:54:52 +0200slack1256(~slack1256@179.60.70.224) (Remote host closed the connection)
2024-06-15 06:59:37 +0200philopsos1(~caecilius@user/philopsos)
2024-06-15 07:10:03 +0200Midjak(~MarciZ@82.66.147.146)
2024-06-15 07:20:21 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-15 07:24:28 +0200 <xacktm> I'm getting some compilation errors when trying to compile Wuss's example program https://github.com/tfausak/wuss can someone point out where my error is? I suspect indentation but it's all 2-space delimited: https://github.com/tfausak/wuss
2024-06-15 07:24:51 +0200 <xacktm> oops error/code is: https://bpa.st/VW5A
2024-06-15 07:26:57 +0200 <mauke> xacktm: bad indentation on line 22
2024-06-15 07:27:57 +0200 <mauke> 'let' uses layout
2024-06-15 07:28:28 +0200 <mauke> 'line' must be indented more than 'loop' (in the line above) because it is part of loop's definition
2024-06-15 07:29:17 +0200 <xacktm> ahh ok it's not like the top-level functions like `ws connection` there
2024-06-15 07:29:19 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-06-15 07:29:51 +0200rvalue(~rvalue@user/rvalue)
2024-06-15 07:29:58 +0200 <mauke> it is, in a way
2024-06-15 07:30:22 +0200 <mauke> the top-level layout is governed by 'where' (line 1)
2024-06-15 07:31:15 +0200 <mauke> 'ws' starts in column 1, so all parts of its definition must be indented by at least 1 space
2024-06-15 07:31:52 +0200 <mauke> but 'loop' starts in column 7
2024-06-15 07:32:34 +0200 <xacktm> whoah that just blew my mind, that where clause in line 1
2024-06-15 07:32:50 +0200 <xacktm> can you do imports way down in a where clause in a function?
2024-06-15 07:33:12 +0200 <mauke> in a rigid indentation scheme, you'd have to start a new line after 'let', then 'loop = do' (indented one more level), then another new line and indentation level
2024-06-15 07:33:31 +0200 <mauke> no, imports are only allowed at the top level
2024-06-15 07:35:20 +0200 <xacktm> hmm I think I might try that style
2024-06-15 07:35:54 +0200 <xacktm> https://bpa.st/VGGA you mean something like this right? it does compile
2024-06-15 07:36:21 +0200 <mauke> yes, exactly
2024-06-15 07:37:33 +0200 <xacktm> I'll let it simmer but I kinda like it already
2024-06-15 07:39:24 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:dcb8:51bd:e128:b5ae) (Quit: Leaving)
2024-06-15 07:41:10 +0200 <xacktm> then if I join the let and loop = do lines, the body can stay the same indentation and it is clear where that body should be indented
2024-06-15 07:41:17 +0200 <xacktm> thanks :)
2024-06-15 07:43:36 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-15 07:44:04 +0200 <iqubic> I'm forgetting how haskell works. Do I need to escape single quotes in my strings?
2024-06-15 07:44:45 +0200 <mauke> no
2024-06-15 07:45:14 +0200 <mauke> unless you write your strings like ['h','e','l','l','o']
2024-06-15 07:45:58 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-15 07:50:07 +0200madhavanmi(~madhavanm@2409:40f4:2e:8a90:8000::) (Quit: Quit)
2024-06-15 07:50:17 +0200madhavanmi(~madhavanm@2409:40f4:2e:8a90:8000::)
2024-06-15 07:50:25 +0200madhavanmi(~madhavanm@2409:40f4:2e:8a90:8000::) (Client Quit)
2024-06-15 07:52:20 +0200madhavanmi(~madhavanm@2409:40f4:2e:8a90:8000::)
2024-06-15 07:58:47 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-15 08:01:12 +0200soverysour(~soverysou@user/soverysour)
2024-06-15 08:05:39 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 264 seconds)
2024-06-15 08:12:11 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-15 08:14:49 +0200madhavanmi(~madhavanm@2409:40f4:2e:8a90:8000::) (Ping timeout: 256 seconds)
2024-06-15 08:14:53 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 240 seconds)
2024-06-15 08:15:34 +0200andrei_n(~andrei_n@user/andrei-n:62396)
2024-06-15 08:15:55 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 08:18:18 +0200euphores(~SASL_euph@user/euphores)
2024-06-15 08:18:53 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Client Quit)
2024-06-15 08:19:03 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 08:20:48 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Client Quit)
2024-06-15 08:20:57 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 08:26:34 +0200andrei_n(~andrei_n@user/andrei-n:62396) (Ping timeout: 255 seconds)
2024-06-15 08:29:17 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 08:33:29 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2024-06-15 08:39:33 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-06-15 08:50:25 +0200andrei_n(~andrei_n@user/andrei-n:62396)
2024-06-15 08:57:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-15 09:00:55 +0200Midjak(~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep)
2024-06-15 09:02:09 +0200andrei_n(~andrei_n@user/andrei-n:62396) (Ping timeout: 268 seconds)
2024-06-15 09:04:19 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 09:09:15 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2024-06-15 09:15:27 +0200andrei_n(~andrei_n@user/andrei-n:62396)
2024-06-15 09:19:27 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Quit: Quit)
2024-06-15 09:30:07 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-06-15 09:37:42 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 09:38:18 +0200acidjnk(~acidjnk@p200300d6e714dc5559a3cb0167348b6b.dip0.t-ipconnect.de)
2024-06-15 09:44:05 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2024-06-15 10:14:29 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 10:17:33 +0200Nixkernal(~Nixkernal@240.17.194.178.dynamic.cust.swisscom.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-06-15 10:21:05 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2024-06-15 10:21:53 +0200gmg(~user@user/gehmehgeh)
2024-06-15 10:23:44 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-06-15 10:24:19 +0200verde(~user@user/verde)
2024-06-15 10:26:25 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-15 10:33:25 +0200greenflower14(~greenflow@103.191.25.63)
2024-06-15 10:34:12 +0200greenflower(~greenflow@103.191.25.63)
2024-06-15 10:35:30 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 10:37:07 +0200greenflower14(~greenflow@103.191.25.63) (Client Quit)
2024-06-15 10:40:11 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-15 10:42:58 +0200lxsameer(~lxsameer@Serene/lxsameer)
2024-06-15 10:44:28 +0200dcoutts(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 256 seconds)
2024-06-15 10:45:33 +0200poscat(~poscat@user/poscat) (Ping timeout: 256 seconds)
2024-06-15 10:47:40 +0200Franciman(~Franciman@mx1.fracta.dev)
2024-06-15 10:51:51 +0200poscat(~poscat@user/poscat)
2024-06-15 10:56:29 +0200danza(~francesco@na-19-77-127.service.infuturo.it)
2024-06-15 10:57:54 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 10:57:56 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2024-06-15 10:58:24 +0200CiaoSen(~Jura@2a05:5800:2b1:a100:e6b9:7aff:fe80:3d03)
2024-06-15 10:58:35 +0200target_i(~target_i@user/target-i/x-6023099)
2024-06-15 11:02:11 +0200greenflower(~greenflow@103.191.25.63) (Quit: Client closed)
2024-06-15 11:04:34 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2024-06-15 11:05:11 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-06-15 11:08:27 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-06-15 11:10:11 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2024-06-15 11:12:17 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 11:13:17 +0200puke(~puke@user/puke) (Ping timeout: 240 seconds)
2024-06-15 11:17:12 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2024-06-15 11:33:04 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 11:34:15 +0200troydm(~troydm@user/troydm)
2024-06-15 11:34:36 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-15 11:35:09 +0200henry40408(~henry4040@175.182.111.183)
2024-06-15 11:35:29 +0200andrei_n(~andrei_n@user/andrei-n:62396) (Quit: Leaving)
2024-06-15 11:37:27 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-15 11:37:45 +0200henry40408(~henry4040@175.182.111.183) (Client Quit)
2024-06-15 11:38:14 +0200henry40408(~henry4040@175.182.111.183)
2024-06-15 11:40:40 +0200henry40408(~henry4040@175.182.111.183) (Client Quit)
2024-06-15 11:41:06 +0200henry40408(~henry4040@175.182.111.183)
2024-06-15 11:51:30 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 11:56:23 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-15 12:16:11 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 12:21:57 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2024-06-15 12:24:05 +0200__monty__(~toonn@user/toonn)
2024-06-15 12:36:08 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 12:38:03 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-06-15 12:40:00 +0200euleritian(~euleritia@dynamic-176-006-000-036.176.6.pool.telefonica.de)
2024-06-15 12:40:05 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2024-06-15 12:44:44 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-06-15 12:44:51 +0200greenflower(~greenflow@103.191.25.63)
2024-06-15 12:47:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-15 12:53:34 +0200sawilagar(~sawilagar@user/sawilagar)
2024-06-15 12:55:23 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 13:00:00 +0200euleritian(~euleritia@dynamic-176-006-000-036.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-15 13:00:18 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-15 13:04:26 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
2024-06-15 13:06:09 +0200greenflower(~greenflow@103.191.25.63) (Quit: Client closed)
2024-06-15 13:08:53 +0200greenflower38(~greenflow@103.191.25.63)
2024-06-15 13:25:47 +0200CiaoSen(~Jura@2a05:5800:2b1:a100:e6b9:7aff:fe80:3d03) (Ping timeout: 268 seconds)
2024-06-15 13:30:32 +0200greenflower38(~greenflow@103.191.25.63) (Quit: Client closed)
2024-06-15 13:31:29 +0200td_(~td@i53870937.versanet.de)
2024-06-15 13:31:54 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 13:32:53 +0200sprout(~quassel@2a02-a448-3a80-0-2046-6d0d-4c96-b4d9.fixed6.kpn.net) (Ping timeout: 240 seconds)
2024-06-15 13:34:20 +0200sprout(~quassel@2a02-a448-3a80-0-758a-35d7-4890-aab6.fixed6.kpn.net)
2024-06-15 13:37:32 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu) (Read error: Connection reset by peer)
2024-06-15 13:37:40 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu)
2024-06-15 13:40:41 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-15 13:49:38 +0200 <kaol> I ended up doing code like (\a b c -> a $ b $ c $ someval) <$> Just (+1) <*> Just (+2) <*> Just (+3). It works but I was left feeling that maybe I missed some more obvious way of writing it. Anyone think of anything?
2024-06-15 13:50:42 +0200 <ncf> uh
2024-06-15 13:51:00 +0200 <ncf> Just (someval + 6) ?
2024-06-15 13:51:08 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 13:51:23 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2024-06-15 13:52:06 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 13:52:11 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Read error: Connection reset by peer)
2024-06-15 13:52:19 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 13:54:15 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-15 13:54:48 +0200 <kaol> Stuffing them in a foldable would allow foldr ($) someval. Probably not worth it.
2024-06-15 13:54:54 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-15 13:58:03 +0200 <ncf> why would you do this if you statically have three `Just`s? did you mean (\a b c -> a $ b $ c $ someval) <$> x <*> y <*> z ?
2024-06-15 13:58:26 +0200 <kaol> I guess what I'm really asking for is how to apply arbitrary amount of endofuctions that are wrapped inside applicatives.
2024-06-15 13:59:18 +0200 <ncf> in theory you could have something akin to Endo and Kleisli but for f (a -> a)
2024-06-15 13:59:27 +0200 <ncf> which becomes a Monoid if f is Applicative
2024-06-15 13:59:35 +0200 <ncf> i don't know if that's defined anywhere though
2024-06-15 13:59:58 +0200 <kaol> My real code doesn't have static Justs, it was just for example's sake to make it self contained one liner.
2024-06-15 14:00:00 +0200 <ncf> plus i'm always a bit uneasy with these things because the type system doesn't enforce which direction things are composed, so you have to remember it
2024-06-15 14:00:19 +0200 <ncf> why would you add things that aren't in your code, if the point is simplicity? anyway
2024-06-15 14:00:56 +0200 <probie> :t \someval -> fmap ((`appEndo` someval) . foldMap Endo) (sequenceA [Just (+1), Just (+2), Just (+3)])
2024-06-15 14:00:57 +0200 <lambdabot> Num b => b -> Maybe b
2024-06-15 14:03:53 +0200 <ncf> i'm surprised hoogle doesn't find Kleisli for `(a -> m b) -> x m a b`
2024-06-15 14:07:08 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-06-15 14:07:26 +0200 <ncf> ooo, you can describe this as the change of enriching category induced by the lax monoidal functor f
2024-06-15 14:26:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-15 14:27:17 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2024-06-15 14:30:52 +0200xdminsy(~xdminsy@117.147.70.212) (Quit: Konversation terminated!)
2024-06-15 14:31:18 +0200xdminsy(~xdminsy@117.147.70.212)
2024-06-15 14:32:04 +0200fraznel(~fuag1@c-67-160-124-36.hsd1.wa.comcast.net) (Ping timeout: 268 seconds)
2024-06-15 14:33:52 +0200 <Leary> Ideally, we would have `newtype (f `Over` c) a b = Over (f (c a b))` with `instance (Applicative f, Category c) => Category (f `Over` c)` and `newtype Endo c a = Endo (c a a)` with `instance Category c => Monoid (Endo c)`. Then it would just be `coerce . foldMap (Endo . Over)`.
2024-06-15 14:36:09 +0200 <Leary> The former being to Applicative as Kleisli is to Monad; in an alternative history we could have had `type Monad f = Category (Kleisli f)` and `type Applicative f = Category (f `Over` (->))`.
2024-06-15 14:36:12 +0200 <ncf> Over = Tannen https://hackage.haskell.org/package/bifunctors-5.6.2/docs/Data-Bifunctor-Tannen.html#t:Tannen
2024-06-15 14:36:38 +0200 <ncf> (Applicative f, Category p) => Category (Tannen f p :: k -> k -> Type)
2024-06-15 14:36:40 +0200 <ncf> nice
2024-06-15 14:37:33 +0200 <ncf> and Endo = Join https://hackage.haskell.org/package/bifunctors-5.6.2/docs/Data-Bifunctor-Join.html
2024-06-15 14:38:02 +0200 <ncf> that doesn't have the Monoid instance (probably for the best, given the issue with the direction of composition)
2024-06-15 14:38:30 +0200danza_(~francesco@151.47.17.233)
2024-06-15 14:39:28 +0200danza(~francesco@na-19-77-127.service.infuturo.it) (Read error: Connection reset by peer)
2024-06-15 14:41:29 +0200 <Leary> Cheers---it's good to know that `Over` is actually defined somewhere, and what it's called---I always felt it was an omission. Re `Endo`/`Join`, I don't think that's a good reason to omit the instance. It should just compose the same order as the category by default, and hence the opposite way with `Dual`.
2024-06-15 14:42:41 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-15 14:43:09 +0200henry40408(~henry4040@175.182.111.183)
2024-06-15 14:43:17 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 14:44:10 +0200 <ncf> i guess an order is already chosen for Endo
2024-06-15 14:44:15 +0200 <ncf> the actual Endo
2024-06-15 14:45:51 +0200troydm(~troydm@user/troydm) (Ping timeout: 264 seconds)
2024-06-15 14:52:03 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Read error: Connection reset by peer)
2024-06-15 14:52:16 +0200madhavanmi(~madhavanm@2a09:bac1:3680:30::23:2c8)
2024-06-15 14:56:41 +0200danza_(~francesco@151.47.17.233) (Remote host closed the connection)
2024-06-15 14:56:44 +0200madhavanmi(~madhavanm@2a09:bac1:3680:30::23:2c8) (Ping timeout: 268 seconds)
2024-06-15 14:57:16 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 14:57:56 +0200 <hammond> terrible question, but is Category Theory too abstract? too up there? or can is it applied?
2024-06-15 14:57:56 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2024-06-15 14:58:22 +0200dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-06-15 15:02:30 +0200danza(~francesco@151.47.24.35)
2024-06-15 15:06:03 +0200meritamen(~user@user/meritamen)
2024-06-15 15:06:18 +0200dcoutts(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-15 15:15:50 +0200Square(~Square@user/square)
2024-06-15 15:19:05 +0200dcoutts(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 272 seconds)
2024-06-15 15:28:01 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Read error: Connection reset by peer)
2024-06-15 15:28:17 +0200madhavanmi(~madhavanm@2a09:bac1:3680:30::19b:19f)
2024-06-15 15:30:06 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:6465:9d89:eb1c:da19)
2024-06-15 15:33:07 +0200madhavanmi(~madhavanm@2a09:bac1:3680:30::19b:19f) (Ping timeout: 268 seconds)
2024-06-15 15:33:46 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 15:40:41 +0200danza(~francesco@151.47.24.35) (Quit: Leaving)
2024-06-15 15:49:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-06-15 15:50:04 +0200mlatys(~mlatys@2409:8938:49:df48:cc31:2eff:fe94:4eb8) (Ping timeout: 264 seconds)
2024-06-15 15:51:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-15 15:55:37 +0200Midjak(~MarciZ@82.66.147.146)
2024-06-15 15:56:02 +0200 <hololeap> is this being caused by gcc exiting with a non-zero exit code, or by ghc interpreting the warning as an error? https://github.com/mvv/posix-timer/issues/2
2024-06-15 15:59:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-15 16:10:19 +0200 <lxsameer> hey folks, I have bunch of functions with the following type: Int -> IO (Either e a) what is the best way to chain them together?
2024-06-15 16:10:48 +0200 <lxsameer> btw `a` is Int here and e is Exception
2024-06-15 16:12:04 +0200 <ncf> (>=>) in ExceptT Exception IO ?
2024-06-15 16:13:37 +0200 <lxsameer> ncf: hmmm I'm trying to avoid using Except, my main issue here is that I want to utilize the Monad type class for Either, and automatically return Left e and any step if the either value matched that
2024-06-15 16:14:04 +0200 <ncf> that's... what ExceptT is for
2024-06-15 16:14:05 +0200 <lxsameer> something like a foldr
2024-06-15 16:14:49 +0200 <lxsameer> ok thank you
2024-06-15 16:22:17 +0200 <mauke> IO does exceptions natively
2024-06-15 16:22:22 +0200 <mauke> you could just use IO a
2024-06-15 16:22:29 +0200sebastian(~sebastian@c-69-138-1-224.hsd1.md.comcast.net)
2024-06-15 16:22:43 +0200sebastianGuest9389
2024-06-15 16:24:16 +0200 <lxsameer> mauke: the lib that I'm using returns IO (Either ...)
2024-06-15 16:24:38 +0200 <mauke> hololeap: from the C side of things, it's caused by the code being wrong. it was undefined behavior in C89/C90 and it's been an error since C99
2024-06-15 16:24:54 +0200Guest9389(~sebastian@c-69-138-1-224.hsd1.md.comcast.net) (Client Quit)
2024-06-15 16:25:15 +0200 <mauke> gcc says "error:", so I assume it exits with a non-zero status
2024-06-15 16:30:27 +0200meritamen(~user@user/meritamen) (Ping timeout: 260 seconds)
2024-06-15 16:30:37 +0200 <hololeap> ok. it sounds like it started after an upgrade to gcc 14, so they must have upgraded the warning to an error
2024-06-15 16:31:55 +0200 <mauke> yeah, https://gcc.gnu.org/gcc-14/porting_to.html
2024-06-15 16:33:07 +0200causal(~eric@50.35.88.207)
2024-06-15 16:37:45 +0200 <hololeap> what would be the argument to pass to `cabal configure` to disable that as a workaround?
2024-06-15 16:38:53 +0200 <hololeap> --gcc-option=-Wno-error=implicit-function-declaration ?
2024-06-15 16:40:11 +0200 <mauke> I swear, programmers would use -fignore-errors everywhere if they could
2024-06-15 16:41:30 +0200 <hololeap> I don't. I use -Wall -Werror wherever I can :)
2024-06-15 16:42:21 +0200 <hololeap> but just for the sake of knowledge, would --gcc-option=... work?
2024-06-15 16:42:30 +0200 <hololeap> is that a valid argument?
2024-06-15 16:43:14 +0200 <hololeap> `cabal configure --help` shows "--PROG-option=OPT", but I'm not sure if it will take gcc as PROG
2024-06-15 16:43:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-15 16:45:07 +0200 <hololeap> also, I wonder if the haskell github action could be told to use gcc 14 so this shows up as an error in their CI
2024-06-15 16:46:40 +0200 <mauke> I don't know
2024-06-15 16:52:20 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
2024-06-15 16:53:45 +0200Lycurgus(~georg@user/Lycurgus)
2024-06-15 17:04:21 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 17:05:43 +0200Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-06-15 17:06:04 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Quit: Quit)
2024-06-15 17:17:50 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-06-15 17:18:30 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2024-06-15 17:23:15 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 17:34:34 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-15 17:38:06 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-06-15 17:39:21 +0200chiselfuse(~chiselfus@user/chiselfuse)
2024-06-15 17:43:18 +0200 <monochrom> -fignore-errors = python and php
2024-06-15 17:45:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-15 17:46:19 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-06-15 17:48:26 +0200 <monochrom> But PROG can be gcc IIRC. Give it a try.
2024-06-15 17:52:43 +0200raym(~ray@115.187.32.4)
2024-06-15 17:52:49 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
2024-06-15 17:53:21 +0200rdcdr_(~rdcdr@97-113-223-47.tukw.qwest.net)
2024-06-15 17:53:38 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com)
2024-06-15 17:53:38 +0200ChanServ+v haskellbridge
2024-06-15 17:54:04 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
2024-06-15 17:54:20 +0200rdcdr(~rdcdr@user/rdcdr) (Ping timeout: 268 seconds)
2024-06-15 17:57:10 +0200raym(~ray@115.187.32.4) (Client Quit)
2024-06-15 17:57:29 +0200raym(~ray@115.187.32.4)
2024-06-15 17:58:54 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com)
2024-06-15 17:58:54 +0200ChanServ+v haskellbridge
2024-06-15 17:59:19 +0200raym(~ray@115.187.32.4) (Changing host)
2024-06-15 17:59:19 +0200raym(~ray@user/raym)
2024-06-15 18:00:42 +0200raym(~ray@user/raym) (Client Quit)
2024-06-15 18:01:04 +0200raym(~ray@user/raym)
2024-06-15 18:03:01 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-15 18:04:22 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-06-15 18:04:38 +0200euleritian(~euleritia@dynamic-176-002-144-170.176.2.pool.telefonica.de)
2024-06-15 18:07:57 +0200euleritian(~euleritia@dynamic-176-002-144-170.176.2.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-15 18:08:15 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-15 18:11:23 +0200Square(~Square@user/square) (Ping timeout: 264 seconds)
2024-06-15 18:15:45 +0200 <hololeap> monochrom: yeah, it worked. also I added "#include <stdio.h>" to the two .hsc files and submitted it as a PR
2024-06-15 18:20:51 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 268 seconds)
2024-06-15 18:24:17 +0200xdminsy(~xdminsy@117.147.70.212) (Read error: Connection reset by peer)
2024-06-15 18:26:59 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2024-06-15 18:27:10 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-06-15 18:29:08 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-06-15 18:32:56 +0200 <rustisafungus> https://www.youtube.com/watch?v=D5osk9lrGNg
2024-06-15 18:33:39 +0200 <monochrom> What would that be?
2024-06-15 18:34:10 +0200 <rustisafungus> computer chronicles
2024-06-15 18:36:04 +0200 <rustisafungus> program code is a tree. what is the high level data structure corresponding to the *state* of a program prior to consideration of evaluation strategy?
2024-06-15 18:39:06 +0200 <c_wraith> that question makes some unfounded assumptions. Even "program code is a tree" is only one way to look at things.
2024-06-15 18:39:59 +0200 <c_wraith> The state of a program might be viewed as the state of some specific hardware. Or it might be the model the programming language defines. Or you might use something in between.
2024-06-15 18:42:21 +0200 <rustisafungus> are there nontree programming languages?
2024-06-15 18:42:37 +0200 <c_wraith> you can always construct a parse as a tree. that's not what I mean.
2024-06-15 18:42:48 +0200 <rustisafungus> reduction (and choice of evaluation strategy) is required to map the state onto hardware
2024-06-15 18:42:56 +0200 <c_wraith> I mean you can also construct a more general graph, if you use a different strategy
2024-06-15 18:43:07 +0200 <rustisafungus> different eval strategy?
2024-06-15 18:43:21 +0200 <c_wraith> no, I'm still talking about the representation of the code.
2024-06-15 18:43:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-15 18:43:24 +0200 <monochrom> I'm going to s/evaluation strategy/operational semantics/ . What is your definition of "state" if you don't specify an operational semantics?
2024-06-15 18:43:52 +0200 <c_wraith> I'm saying you should say "code is a tree" when it's much more accurate to say "code can be modeled as a tree". It's not that it *is* a tree. It's that a tree works as a model.
2024-06-15 18:44:06 +0200 <c_wraith> err, shouldn't say
2024-06-15 18:44:37 +0200 <monochrom> Hell, in fact, s/definition/mathematical definition/ I refuse to do armchair philosophy.
2024-06-15 18:45:38 +0200 <rustisafungus> okay code can be (fully?) modeled as a tree...
2024-06-15 18:45:42 +0200 <c_wraith> In the same way, there isn't a single "the state" of a program independent of the model you're working in.
2024-06-15 18:45:58 +0200 <monochrom> Also the elephant in the room: s/the/a/
2024-06-15 18:46:29 +0200 <rustisafungus> wow what, ... are you including something like the "intention of the programmer" in the code here or ...? or are you including something like evaluation strategy dependent execution?
2024-06-15 18:47:35 +0200 <c_wraith> No, I mean do you accept a full dump of my computer's registers, TLBs, durable storage, RAM, etc as a program state?
2024-06-15 18:47:47 +0200 <c_wraith> because there's some model where that *is* the program state.
2024-06-15 18:48:15 +0200 <rustisafungus> c_wraith: well that would be an example of program state, but to be able to know what was in RAM you would need to have evaluated the next instruction
2024-06-15 18:48:37 +0200 <rustisafungus> whereas i am trying to ask, can i model the program state before you evaluate in any specific manner
2024-06-15 18:49:35 +0200 <c_wraith> sure, with a computer that's turned off.
2024-06-15 18:51:09 +0200 <c_wraith> as monochrom says, it's a sort of philosophy question. What's the state of your program before the big bang?
2024-06-15 18:52:42 +0200 <rustisafungus> well, on paper?
2024-06-15 18:52:45 +0200 <c_wraith> Any model you choose to work in will define starting conditions. I think that's what you're actually going for.
2024-06-15 18:52:53 +0200 <c_wraith> But it's model-dependent.
2024-06-15 18:53:01 +0200 <c_wraith> Choose a model, and then you have your initial conditions.
2024-06-15 18:53:20 +0200 <rustisafungus> okay let me make this concrete: can i model my program state successfully as a tree?
2024-06-15 18:53:28 +0200 <c_wraith> a tree of what?
2024-06-15 18:53:35 +0200 <c_wraith> in what model?
2024-06-15 18:54:55 +0200 <rustisafungus> what is a model, then?
2024-06-15 18:55:40 +0200 <c_wraith> Let me make things concrete in a different way. GHC compiles haskell code via a representation it calls STG. In this representation, the code is converted to a graph, and evaluation is graph reduction.
2024-06-15 18:55:59 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer)
2024-06-15 18:56:40 +0200 <rustisafungus> right, and this is a "nonstrict evaluation strategy"
2024-06-15 18:56:57 +0200 <c_wraith> it is one possible non-strict evaluation strategy
2024-06-15 18:58:35 +0200 <rustisafungus> right... so how does the tree AST become a graph?
2024-06-15 18:59:10 +0200 <c_wraith> pretty simply, actually. Names are resolved to edges to their definitions.
2024-06-15 18:59:24 +0200 <c_wraith> any recursive definition becomes a loop.
2024-06-15 18:59:34 +0200 <c_wraith> err. a cycle in the graph.
2024-06-15 18:59:49 +0200 <rustisafungus> ah... ok so the tree becomes a graph solely due to recursion?
2024-06-15 19:00:41 +0200 <c_wraith> *in that representation of Haskell code*, that's the way things stop being a tree. There are other representations. There are other languages.
2024-06-15 19:00:51 +0200 <rustisafungus> so i can reasonably say "a graph originating from a tree plus special self-reference edges"?
2024-06-15 19:02:15 +0200 <c_wraith> that's pretty accurate for the way GHC compiles Haskell.
2024-06-15 19:02:33 +0200 <c_wraith> But as I keep saying, this is all very context dependent.
2024-06-15 19:03:08 +0200 <c_wraith> If you don't specify the context, the model in use, a statement like that isn't meaningful enough to even declare it to be true or false.
2024-06-15 19:03:11 +0200 <rustisafungus> i mean, graphs are a very general (the most general...?) structure--are there languages which are not well modeled by tree+recursive_edge ?
2024-06-15 19:03:29 +0200 <rustisafungus> model is equivalent to reduction rules?
2024-06-15 19:04:14 +0200 <c_wraith> a model is a way of specifying the meaning of constructs.
2024-06-15 19:04:33 +0200 <rustisafungus> meaning as in how a human interprets things?
2024-06-15 19:04:41 +0200 <rustisafungus> as in, semantics?
2024-06-15 19:06:45 +0200 <c_wraith> all these terms have too many definitions. Things can get fuzzy. The important part about a model is that it presents a meaning for a formalism, but it doesn't have to be the only meaning.
2024-06-15 19:07:18 +0200 <c_wraith> "semantics" is usually defined within a model, in the context of programming.
2024-06-15 19:07:37 +0200 <c_wraith> Less so in linguistics.
2024-06-15 19:09:01 +0200 <rustisafungus> ..as in the anchoring to the "real world" like the fact that some variable corresponds to an estimate of the temperature of a room, or the degree to which a person is regarded as extroverted?
2024-06-15 19:11:28 +0200 <c_wraith> oh, note that the graph STG creates doesn't need recursion to stop being a tree. something as simple as (1 + (2 + 3)) inserts two different edges to the node defining (+). Not a tree anymore!
2024-06-15 19:11:39 +0200 <monochrom> Ugh you have no executional model and you intend to have none and yet you call it "real world".
2024-06-15 19:12:31 +0200 <monochrom> One more data point for my empirical model that when people emphasize "real world" they are the ones who are detached.
2024-06-15 19:13:13 +0200 <monochrom> (Along the same line that if in a debate one side has to say "I have the right/freedom" then it means they don't have any real point to make.)
2024-06-15 19:14:39 +0200 <rustisafungus> c_wraith: okay that is an interesting point ... i don't quite see your (1+(2+3)) there, all i see is the AST
2024-06-15 19:15:37 +0200 <rustisafungus> would it be like both (1, ptr_to_plus23) and (2 3) pointing at (+) ?
2024-06-15 19:18:30 +0200 <c_wraith> yeah, it's something like that.
2024-06-15 19:19:14 +0200 <rustisafungus> so... where is ptr_to_plus23?
2024-06-15 19:19:40 +0200 <rustisafungus> do you visualize a boundary around (+) (2 3) or something, and ptr_to_plus23 points to that?
2024-06-15 19:20:08 +0200 <rustisafungus> because you can't point to (2 3) and you can't point to (+), because neither are individually adequate
2024-06-15 19:22:51 +0200 <c_wraith> I mean, it's the same as the AST, except (+) has been changed from an abstract symbol to a function call. The function itself is entered from different call sites, so it's got multiple edges to it in the graph.
2024-06-15 19:23:37 +0200myme(~myme@2a01:799:d5c:5f00:1e2b:ea2d:8288:44e3) (Ping timeout: 256 seconds)
2024-06-15 19:23:58 +0200 <rustisafungus> but ptr_to_plus23 can't point at (+) itself, something must distinguish (+) (2 3) from (+)
2024-06-15 19:27:17 +0200 <c_wraith> I mean... it would have been rejected during type checking if it was just (+)
2024-06-15 19:27:37 +0200 <rustisafungus> right but with this i am saying that "graph" doesn't quite describe this data structure in the best way
2024-06-15 19:27:50 +0200 <c_wraith> (+ 2 3) is just a graph node.
2024-06-15 19:28:20 +0200 <rustisafungus> (+ 1 (+ 2 3)), the +s are "different" there,... i think?
2024-06-15 19:28:34 +0200 <rustisafungus> whereas it seemed like you wanted to emphasize the sameness of the +?
2024-06-15 19:28:48 +0200 <c_wraith> the two +s there do exactly the same thing.
2024-06-15 19:28:49 +0200 <rustisafungus> i guess we can say referential transparency so the +s are identical?
2024-06-15 19:29:02 +0200 <geekosaur> no? the (+)s are the same, there are Ap nodes for the applications
2024-06-15 19:29:25 +0200 <rustisafungus> but then, that's just a tree
2024-06-15 19:29:27 +0200 <c_wraith> Enter the (+) definition. Determine that both arguments need to be evaluated. Evaluate each argument. Add them together.
2024-06-15 19:29:43 +0200 <rustisafungus> whereas you were saying that somehow this was not a tree
2024-06-15 19:30:13 +0200 <c_wraith> It's more like Call((+), 1, Call((+), 2, 3))
2024-06-15 19:30:37 +0200 <c_wraith> two different edges to the same (+)
2024-06-15 19:31:38 +0200 <c_wraith> the definition of (+) clearly doesn't get duplicated every time you add together two numbers.
2024-06-15 19:31:50 +0200 <c_wraith> It's a shared node in the evaluation graph.
2024-06-15 19:32:21 +0200dcoutts(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-15 19:32:35 +0200 <rustisafungus> i mean unless the program can change the definition of + at runtime...
2024-06-15 19:33:39 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-06-15 19:33:40 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-15 19:34:00 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-06-15 19:34:21 +0200 <c_wraith> that's not a thing Haskell does. As I said, this is all very context-dependent. (You can shadow names in Haskell, but that doesn't change the value of the name for anything that isn't in the shadowing scope)
2024-06-15 19:35:16 +0200 <rustisafungus> is there a nice registration free image pasting service
2024-06-15 19:36:08 +0200 <geekosaur> https://0x0.st/
2024-06-15 19:36:44 +0200ethantwardy(user@user/ethantwardy)
2024-06-15 19:37:10 +0200ethantwardy(user@user/ethantwardy) (Client Quit)
2024-06-15 19:37:36 +0200ethantwardy(user@user/ethantwardy)
2024-06-15 19:39:35 +0200 <rustisafungus> https://0x0.st/XcEN.png <-- here is what i see
2024-06-15 19:44:07 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-06-15 19:45:44 +0200 <dolio> Depending on how all you're thinking of things, when you do `let x = 2 + 2 in x + x`, the graph pointing to x twice matters because when 2+2 gets replaced by 4, it only needs to happen once.
2024-06-15 19:46:25 +0200 <dolio> Whether you consider that 'code' is the question.
2024-06-15 19:46:51 +0200 <rustisafungus> that's probably code? i guess you are pointing out that i might have some io here and you don't know how that mixes in?
2024-06-15 19:48:12 +0200 <dolio> No, there's no i/o. It's just that `let x = 2 + 2 in x + x` reduces like `let x = 4 in x + x` → `4 + 4` → `8`
2024-06-15 19:49:00 +0200 <dolio> But you could draw it as a graph, instead of the textual `let` with names.
2024-06-15 19:49:27 +0200 <dolio> The outer + points to the same `2+2` node twice.
2024-06-15 19:49:57 +0200 <dolio> So when that 2+2 is replaced by 4, it's replaced everywhere.
2024-06-15 19:50:27 +0200 <monochrom> Or rather, there is only one thing replaced, but it's visible everywhere.
2024-06-15 19:51:45 +0200 <rustisafungus> i see
2024-06-15 19:52:10 +0200 <rustisafungus> very unfortunately i need to run but i would like to have a really clear picture of this at some point
2024-06-15 19:53:06 +0200 <rustisafungus> i'll look at lchaskell in case folks have things to add here
2024-06-15 19:53:09 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Remote host closed the connection)
2024-06-15 19:53:51 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-15 19:54:26 +0200 <rustisafungus> i'll look at lchaskell later in case folks have things to add here
2024-06-15 19:54:30 +0200rustisafungus(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Client Quit)
2024-06-15 19:55:14 +0200justsomeguy(~justsomeg@user/justsomeguy)
2024-06-15 19:57:41 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
2024-06-15 20:05:39 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 264 seconds)
2024-06-15 20:10:21 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-15 20:11:00 +0200Noinia(~Frank@77-162-168-71.fixed.kpn.net)
2024-06-15 20:11:13 +0200_leo___(~emmanuelu@user/emmanuelux)
2024-06-15 20:11:43 +0200CalimeroTeknik(~calimero@user/calimeroteknik) (Ping timeout: 255 seconds)
2024-06-15 20:12:37 +0200kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host) (Ping timeout: 255 seconds)
2024-06-15 20:12:48 +0200kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host)
2024-06-15 20:13:04 +0200dcoutts(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 255 seconds)
2024-06-15 20:13:04 +0200arahael(~arahael@119-18-1-21.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2024-06-15 20:13:04 +0200WzC(~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 255 seconds)
2024-06-15 20:13:32 +0200Buggys-(Buggys@user/Buggys-) (Ping timeout: 255 seconds)
2024-06-15 20:13:58 +0200shachaf(~shachaf@user/shachaf) (Ping timeout: 255 seconds)
2024-06-15 20:14:25 +0200emmanuelux_(~emmanuelu@user/emmanuelux) (Ping timeout: 255 seconds)
2024-06-15 20:15:11 +0200iteratee(~kyle@162.218.222.207)
2024-06-15 20:15:35 +0200shachaf(~shachaf@user/shachaf)
2024-06-15 20:15:38 +0200reterrb(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-06-15 20:15:46 +0200iteratee_(~kyle@162.218.222.207) (Ping timeout: 255 seconds)
2024-06-15 20:16:14 +0200markasoftware_(~quassel@107.161.26.124) (Ping timeout: 255 seconds)
2024-06-15 20:16:31 +0200markasoftware(~quassel@107.161.26.124)
2024-06-15 20:16:41 +0200kosmikus(~kosmikus@nullzig.kosmikus.org) (Ping timeout: 255 seconds)
2024-06-15 20:17:08 +0200xerox(~edi@user/edi) (Ping timeout: 255 seconds)
2024-06-15 20:18:09 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-06-15 20:18:14 +0200kosmikus(~kosmikus@nullzig.kosmikus.org)
2024-06-15 20:18:35 +0200xerox(~edi@user/edi)
2024-06-15 20:20:03 +0200CalimeroTeknik(~calimero@ctkarch.org)
2024-06-15 20:20:31 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 260 seconds)
2024-06-15 20:27:32 +0200Buggys(Buggys@shelltalk.net)
2024-06-15 20:31:48 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Read error: Connection reset by peer)
2024-06-15 20:40:47 +0200_leo___(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2024-06-15 20:46:24 +0200Midjak(~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep)
2024-06-15 20:50:52 +0200madhavanmi(~madhavanm@2a09:bac5:3b10:137d::1f1:1f6)
2024-06-15 20:54:12 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-15 20:59:41 +0200madhavanmi(~madhavanm@2a09:bac5:3b10:137d::1f1:1f6) (Ping timeout: 240 seconds)
2024-06-15 21:01:18 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::)
2024-06-15 21:01:30 +0200leah2(~leah@vuxu.org) (Ping timeout: 268 seconds)
2024-06-15 21:08:54 +0200pieguy128_(~pieguy128@bras-base-mtrlpq5031w-grc-47-67-70-101-105.dsl.bell.ca) (Ping timeout: 268 seconds)
2024-06-15 21:10:27 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-166.dsl.bell.ca)
2024-06-15 21:11:30 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-15 21:13:09 +0200leah2(~leah@vuxu.org)
2024-06-15 21:13:50 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-06-15 21:20:39 +0200madhavanmi(~madhavanm@2409:40f4:3c:714e:8000::) (Ping timeout: 264 seconds)
2024-06-15 21:21:41 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 240 seconds)
2024-06-15 21:22:57 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8)
2024-06-15 21:26:25 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2024-06-15 21:51:02 +0200michalz(~michalz@185.246.207.205)
2024-06-15 21:51:06 +0200Square(~Square@user/square)
2024-06-15 21:51:07 +0200sudden(~cat@user/sudden) (Ping timeout: 272 seconds)
2024-06-15 21:56:30 +0200Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) (Quit: Lost terminal)
2024-06-15 21:57:13 +0200myme(~myme@2a01:799:d5c:5f00:7ed6:c0b1:f09e:3f4b)
2024-06-15 21:57:16 +0200myme(~myme@2a01:799:d5c:5f00:7ed6:c0b1:f09e:3f4b) (Client Quit)
2024-06-15 22:00:29 +0200AlexZenon(~alzenon@178.34.163.204) (Ping timeout: 240 seconds)
2024-06-15 22:02:24 +0200sudden(~cat@user/sudden)
2024-06-15 22:02:46 +0200AlexZenon(~alzenon@178.34.163.204)
2024-06-15 22:03:31 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:6465:9d89:eb1c:da19) (Quit: Leaving)
2024-06-15 22:05:39 +0200TactfulCitrus(~al@2a02:8012:87a6:0:fbe0:6116:6e30:e047) (Ping timeout: 264 seconds)
2024-06-15 22:10:16 +0200mzg(mzg@abusers.hu) (Ping timeout: 268 seconds)
2024-06-15 22:10:23 +0200mzg(mzg@abusers.hu)
2024-06-15 22:13:03 +0200myme(~myme@2a01:799:d5c:5f00:7ed6:c0b1:f09e:3f4b)
2024-06-15 22:13:33 +0200myme(~myme@2a01:799:d5c:5f00:7ed6:c0b1:f09e:3f4b) (Client Quit)
2024-06-15 22:14:19 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-06-15 22:18:55 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-15 22:20:12 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)