2025-02-07 00:07:05 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 00:12:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 00:22:28 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 00:27:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 00:29:30 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-02-07 00:30:50 +0100 | kilolympus | (~kilolympu@2a04:ee41:4:32b3:7e9f:f324:8323:112e) kilolympus |
2025-02-07 00:31:45 +0100 | <kilolympus> | Not exactly sure where I should ask this (so pardon me if this is the wrong place), but is there a list of available libraries on the Hackage build server? |
2025-02-07 00:32:16 +0100 | <kilolympus> | I want to check if libopus is available to link to while building, or whether I should be prepared for a build failure and need to upload docs manually |
2025-02-07 00:35:59 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-02-07 00:37:50 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 00:38:12 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-02-07 00:42:42 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 00:43:03 +0100 | <geekosaur> | #haskell-infrastructure would probably be the right place, but I'm pretty sure if it's not in a minimal Ubuntu install it won't be there and won't be installed on request |
2025-02-07 00:44:26 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 00:47:25 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 268 seconds) |
2025-02-07 00:54:30 +0100 | Guest64 | (~Guest64@202.20.31.4) |
2025-02-07 00:55:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 00:56:36 +0100 | Googulator | (~Googulato@2a01-036d-0106-418c-6daf-e703-6cee-d20f.pool6.digikabel.hu) (Quit: Client closed) |
2025-02-07 00:56:52 +0100 | Googulator | (~Googulato@2a01-036d-0106-418c-6daf-e703-6cee-d20f.pool6.digikabel.hu) |
2025-02-07 01:00:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-02-07 01:05:44 +0100 | Guest64 | HEGX64 |
2025-02-07 01:10:39 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 01:15:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 01:19:07 +0100 | otbergsten | (~otbergste@user/otbergsten) () |
2025-02-07 01:22:01 +0100 | capslair^ | (~capslair@108.192.66.114) |
2025-02-07 01:23:42 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-02-07 01:25:02 +0100 | xff0x | (~xff0x@2405:6580:b080:900:4c17:71c9:4c89:f803) (Ping timeout: 268 seconds) |
2025-02-07 01:26:01 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 01:26:35 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 01:26:55 +0100 | <davean> | kilolympus: https://github.com/haskell-infra/hackage-doc-builder-config |
2025-02-07 01:27:13 +0100 | <davean> | kilolympus: you can ask for a modification of cours |
2025-02-07 01:27:48 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 01:29:05 +0100 | sprotte24 | (~sprotte24@p200300d16f04b500f0fec28a072486d6.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-02-07 01:30:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-02-07 01:31:27 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 01:35:53 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-02-07 01:41:23 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 01:44:00 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f31bc6d2d03cd52feea.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2025-02-07 01:44:32 +0100 | alphabeta | (~kilolympu@213.55.241.40) kilolympus |
2025-02-07 01:44:59 +0100 | kilolympus | (~kilolympu@2a04:ee41:4:32b3:7e9f:f324:8323:112e) (Ping timeout: 265 seconds) |
2025-02-07 01:46:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 01:46:37 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 268 seconds) |
2025-02-07 01:48:04 +0100 | catties | bunnies |
2025-02-07 01:48:26 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-02-07 01:53:27 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2025-02-07 01:53:51 +0100 | euleritian | (~euleritia@77.23.250.232) |
2025-02-07 01:54:23 +0100 | euleritian | (~euleritia@77.23.250.232) (Remote host closed the connection) |
2025-02-07 01:56:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 01:57:02 +0100 | euleritian | (~euleritia@77.23.250.232) |
2025-02-07 02:01:05 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2025-02-07 02:01:39 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-02-07 02:02:03 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-02-07 02:03:16 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 02:08:12 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 02:12:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 02:13:46 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-02-07 02:15:34 +0100 | alphabeta | (~kilolympu@213.55.241.40) (Quit: See you later! :)) |
2025-02-07 02:18:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-02-07 02:19:31 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 02:23:48 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-07 02:29:08 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2025-02-07 02:30:11 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 02:32:15 +0100 | euleritian | (~euleritia@77.23.250.232) (Remote host closed the connection) |
2025-02-07 02:32:36 +0100 | euleritian | (~euleritia@77.23.250.232) |
2025-02-07 02:34:46 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
2025-02-07 02:36:53 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Quit: So long and thanks for all the fish) |
2025-02-07 02:37:29 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-02-07 02:45:10 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) TheCoffeMaker |
2025-02-07 02:50:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 02:52:11 +0100 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) |
2025-02-07 02:57:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 03:07:55 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 03:08:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 03:12:20 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 268 seconds) |
2025-02-07 03:13:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 03:19:10 +0100 | tavare | (~tavare@150.129.88.189) |
2025-02-07 03:19:10 +0100 | tavare | (~tavare@150.129.88.189) (Changing host) |
2025-02-07 03:19:10 +0100 | tavare | (~tavare@user/tavare) tavare |
2025-02-07 03:24:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 03:29:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 03:38:53 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 03:39:38 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 03:39:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 03:44:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 03:49:39 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 03:52:02 +0100 | dostoevsky | (~dostoevsk@user/dostoevsky) dostoevsky |
2025-02-07 03:52:41 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 03:54:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 03:55:59 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 04:00:33 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 276 seconds) |
2025-02-07 04:01:12 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-02-07 04:01:45 +0100 | Sgeo_ | (~Sgeo@user/sgeo) Sgeo |
2025-02-07 04:05:00 +0100 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 252 seconds) |
2025-02-07 04:05:22 +0100 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-02-07 04:08:22 +0100 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-02-07 04:11:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 04:15:30 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2025-02-07 04:15:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-02-07 04:20:08 +0100 | notzmv | (~umar@user/notzmv) notzmv |
2025-02-07 04:20:21 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Quit: Lost terminal) |
2025-02-07 04:20:47 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-02-07 04:21:33 +0100 | prasad | (~Thunderbi@c-73-75-25-251.hsd1.in.comcast.net) |
2025-02-07 04:25:30 +0100 | prasad | (~Thunderbi@c-73-75-25-251.hsd1.in.comcast.net) (Client Quit) |
2025-02-07 04:26:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 04:31:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-02-07 04:31:39 +0100 | hammond | (proscan@gateway04.insomnia247.nl) (Ping timeout: 246 seconds) |
2025-02-07 04:31:40 +0100 | agent314 | (~quassel@79.127.222.205) agent314 |
2025-02-07 04:33:26 +0100 | vulpine | (xfnw@user/meow/xfnw) (Read error: Connection reset by peer) |
2025-02-07 04:33:47 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:33:51 +0100 | vulpine | (xfnw@user/meow/xfnw) (Max SendQ exceeded) |
2025-02-07 04:34:11 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:34:13 +0100 | vulpine | (xfnw@user/meow/xfnw) (Excess Flood) |
2025-02-07 04:37:58 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:38:00 +0100 | vulpine | (xfnw@user/meow/xfnw) (Excess Flood) |
2025-02-07 04:39:06 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:39:08 +0100 | vulpine | (xfnw@user/meow/xfnw) (Excess Flood) |
2025-02-07 04:42:08 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:42:10 +0100 | vulpine | (xfnw@user/meow/xfnw) (Excess Flood) |
2025-02-07 04:42:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 04:44:22 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 04:44:59 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:45:03 +0100 | vulpine | (xfnw@user/meow/xfnw) (Max SendQ exceeded) |
2025-02-07 04:46:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 04:47:34 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:47:39 +0100 | vulpine | (xfnw@user/meow/xfnw) (Max SendQ exceeded) |
2025-02-07 04:49:09 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 268 seconds) |
2025-02-07 04:50:39 +0100 | saimazoon | (~hrtz@user/haritz) (Ping timeout: 260 seconds) |
2025-02-07 04:51:00 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:51:02 +0100 | alp__ | (~alp@2001:861:8ca0:4940:c852:f016:ee1c:5cf) (Remote host closed the connection) |
2025-02-07 04:51:02 +0100 | vulpine | (xfnw@user/meow/xfnw) (Excess Flood) |
2025-02-07 04:51:20 +0100 | alp__ | (~alp@2001:861:8ca0:4940:7350:41fe:ef34:5f0f) |
2025-02-07 04:52:43 +0100 | alp__ | (~alp@2001:861:8ca0:4940:7350:41fe:ef34:5f0f) (Remote host closed the connection) |
2025-02-07 04:53:01 +0100 | alp__ | (~alp@2001:861:8ca0:4940:eaf7:425c:a3f4:9d66) |
2025-02-07 04:53:43 +0100 | hammond | (proscan@gateway04.insomnia247.nl) |
2025-02-07 04:54:25 +0100 | alp__ | (~alp@2001:861:8ca0:4940:eaf7:425c:a3f4:9d66) (Remote host closed the connection) |
2025-02-07 04:54:43 +0100 | alp__ | (~alp@2001:861:8ca0:4940:569c:57b4:f240:3d2b) |
2025-02-07 04:55:04 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:55:06 +0100 | vulpine | (xfnw@user/meow/xfnw) (Excess Flood) |
2025-02-07 04:56:06 +0100 | alp__ | (~alp@2001:861:8ca0:4940:569c:57b4:f240:3d2b) (Remote host closed the connection) |
2025-02-07 04:56:24 +0100 | alp__ | (~alp@2001:861:8ca0:4940:e670:d145:9f1b:674) |
2025-02-07 04:56:35 +0100 | haritz | (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
2025-02-07 04:56:38 +0100 | haritz | (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
2025-02-07 04:56:38 +0100 | haritz | (~hrtz@user/haritz) haritz |
2025-02-07 04:57:39 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:57:42 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 04:57:48 +0100 | alp__ | (~alp@2001:861:8ca0:4940:e670:d145:9f1b:674) (Remote host closed the connection) |
2025-02-07 04:58:06 +0100 | alp__ | (~alp@2001:861:8ca0:4940:5024:ff7b:ce1f:1128) |
2025-02-07 04:58:18 +0100 | vulpine | (xfnw@user/meow/xfnw) (Excess Flood) |
2025-02-07 04:59:31 +0100 | alp__ | (~alp@2001:861:8ca0:4940:5024:ff7b:ce1f:1128) (Remote host closed the connection) |
2025-02-07 04:59:38 +0100 | vulpine | (xfnw@user/meow/xfnw) xfnw |
2025-02-07 04:59:49 +0100 | alp__ | (~alp@2001:861:8ca0:4940:e025:f618:6016:7d8a) |
2025-02-07 05:01:13 +0100 | alp__ | (~alp@2001:861:8ca0:4940:e025:f618:6016:7d8a) (Remote host closed the connection) |
2025-02-07 05:01:31 +0100 | alp__ | (~alp@2001:861:8ca0:4940:cb5b:ce0e:5074:ffb7) |
2025-02-07 05:02:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 05:03:00 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 05:03:13 +0100 | alp_ | (~alp@2001:861:8ca0:4940:c426:72e5:a4bc:f323) |
2025-02-07 05:04:38 +0100 | alp_ | (~alp@2001:861:8ca0:4940:c426:72e5:a4bc:f323) (Remote host closed the connection) |
2025-02-07 05:04:40 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 05:04:55 +0100 | alp_ | (~alp@2001:861:8ca0:4940:4256:492f:9aa8:cd35) |
2025-02-07 05:07:02 +0100 | alp__ | (~alp@2001:861:8ca0:4940:cb5b:ce0e:5074:ffb7) (Ping timeout: 268 seconds) |
2025-02-07 05:08:13 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-02-07 05:09:53 +0100 | alp_ | (~alp@2001:861:8ca0:4940:4256:492f:9aa8:cd35) (Ping timeout: 252 seconds) |
2025-02-07 05:10:45 +0100 | rekahsoft | (~rekahsoft@bras-base-orllon1103w-grc-10-142-112-184-232.dsl.bell.ca) (Ping timeout: 276 seconds) |
2025-02-07 05:13:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 05:13:33 +0100 | driib318 | (~driib@vmi931078.contaboserver.net) driib |
2025-02-07 05:17:36 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 05:20:23 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 05:26:32 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 05:28:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 05:32:06 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 05:32:06 +0100 | MyNetAz | (~MyNetAz@user/MyNetAz) (Remote host closed the connection) |
2025-02-07 05:32:16 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
2025-02-07 05:34:12 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-02-07 05:35:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-02-07 05:35:53 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 05:36:18 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-07 05:36:18 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 272 seconds) |
2025-02-07 05:36:18 +0100 | tnt2 | tnt1 |
2025-02-07 05:36:57 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-02-07 05:38:03 +0100 | dsrt^ | (~dsrt@108.192.66.114) (Ping timeout: 252 seconds) |
2025-02-07 05:39:07 +0100 | MyNetAz | (~MyNetAz@user/MyNetAz) MyNetAz |
2025-02-07 05:39:39 +0100 | capslair^ | (~capslair@108.192.66.114) (Ping timeout: 260 seconds) |
2025-02-07 05:41:50 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2025-02-07 05:46:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 05:47:38 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 05:48:10 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2025-02-07 05:49:03 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 05:51:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 05:56:00 +0100 | dsrt^ | (~dsrt@108.192.66.114) |
2025-02-07 05:56:05 +0100 | dsrt^ | (~dsrt@108.192.66.114) (Remote host closed the connection) |
2025-02-07 05:58:40 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-02-07 06:02:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 06:02:08 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 06:03:21 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 06:07:03 +0100 | michalz | (~michalz@185.246.207.197) |
2025-02-07 06:07:59 +0100 | dsrt^ | (~dsrt@108.192.66.114) |
2025-02-07 06:09:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 06:13:44 +0100 | Square | (~Square@user/square) (Quit: Leaving) |
2025-02-07 06:14:07 +0100 | Square | (~Square@user/square) Square |
2025-02-07 06:19:41 +0100 | jle` | (~jle`@2603:8001:3b02:84d4:6618:6c83:b259:edfc) (Quit: WeeChat 4.5.1) |
2025-02-07 06:20:08 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 06:20:13 +0100 | jle` | (~jle`@2603:8001:3b02:84d4:6618:6c83:b259:edfc) jle` |
2025-02-07 06:20:50 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 06:24:44 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 06:24:59 +0100 | hgolden | (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Remote host closed the connection) |
2025-02-07 06:25:13 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 244 seconds) |
2025-02-07 06:26:53 +0100 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-02-07 06:29:00 +0100 | HEGX64 | (~Guest64@202.20.31.4) (Quit: Client closed) |
2025-02-07 06:29:48 +0100 | hgolden | (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) hgolden |
2025-02-07 06:30:04 +0100 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-02-07 06:30:32 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 06:31:52 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 06:35:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 06:40:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 06:41:19 +0100 | misterfish | (~misterfis@84.53.85.146) misterfish |
2025-02-07 06:48:21 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2025-02-07 06:48:54 +0100 | ec | (~ec@gateway/tor-sasl/ec) ec |
2025-02-07 06:50:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 06:55:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 06:56:25 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 06:57:37 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 07:05:16 +0100 | echoreply | (~echoreply@45.32.163.16) (Quit: WeeChat 2.8) |
2025-02-07 07:06:10 +0100 | echoreply | (~echoreply@45.32.163.16) echoreply |
2025-02-07 07:06:17 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 07:07:40 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 07:08:17 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 07:08:54 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 07:10:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-02-07 07:12:50 +0100 | euleritian | (~euleritia@77.23.250.232) (Ping timeout: 268 seconds) |
2025-02-07 07:13:04 +0100 | euleritian | (~euleritia@dynamic-176-006-138-232.176.6.pool.telefonica.de) |
2025-02-07 07:13:18 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 245 seconds) |
2025-02-07 07:19:20 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 07:21:08 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 07:21:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 07:21:56 +0100 | takuan | (~takuan@d8D86B601.access.telenet.be) |
2025-02-07 07:26:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 07:30:22 +0100 | euleritian | (~euleritia@dynamic-176-006-138-232.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-02-07 07:30:39 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-02-07 07:32:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 07:36:56 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 07:37:14 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2025-02-07 07:40:59 +0100 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 260 seconds) |
2025-02-07 07:48:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 07:53:27 +0100 | CiaoSen | (~Jura@2a05:5800:220:3300:ca4b:d6ff:fec1:99da) CiaoSen |
2025-02-07 07:55:06 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f97bc6d2d03cd52feea.dip0.t-ipconnect.de) acidjnk |
2025-02-07 07:55:23 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
2025-02-07 07:55:52 +0100 | euleritian | (~euleritia@dynamic-176-006-138-232.176.6.pool.telefonica.de) |
2025-02-07 07:56:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-02-07 07:57:20 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 07:59:08 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 07:59:12 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2025-02-07 08:00:23 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 08:01:36 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-07 08:03:34 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 08:03:42 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 252 seconds) |
2025-02-07 08:03:42 +0100 | tnt2 | tnt1 |
2025-02-07 08:06:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 08:07:31 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 08:08:17 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 265 seconds) |
2025-02-07 08:08:17 +0100 | tnt2 | tnt1 |
2025-02-07 08:11:05 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-02-07 08:11:24 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 08:12:12 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 08:13:07 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 265 seconds) |
2025-02-07 08:14:56 +0100 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 08:16:58 +0100 | tnt2 | (~Thunderbi@user/tnt1) (Ping timeout: 268 seconds) |
2025-02-07 08:17:09 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 08:17:56 +0100 | ft | (~ft@p3e9bcd97.dip0.t-ipconnect.de) (Quit: leaving) |
2025-02-07 08:18:40 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 08:20:03 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 268 seconds) |
2025-02-07 08:20:06 +0100 | tnt2 | tnt1 |
2025-02-07 08:20:22 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 08:22:14 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 08:25:22 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 08:26:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-02-07 08:27:27 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 268 seconds) |
2025-02-07 08:27:28 +0100 | tnt2 | tnt1 |
2025-02-07 08:29:59 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-02-07 08:33:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 08:34:23 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
2025-02-07 08:36:36 +0100 | akegalj | (~akegalj@89-172-213-142.adsl.net.t-com.hr) akegalj |
2025-02-07 08:39:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 08:40:35 +0100 | tabaqui1 | (~root@87.200.129.102) tabaqui |
2025-02-07 08:45:04 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 08:49:24 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-02-07 08:50:03 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 08:54:47 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2025-02-07 08:55:40 +0100 | Googulator | (~Googulato@2a01-036d-0106-418c-6daf-e703-6cee-d20f.pool6.digikabel.hu) (Ping timeout: 240 seconds) |
2025-02-07 08:56:59 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-02-07 08:58:34 +0100 | <kqr> | I understand on an intellectual level why `const Just :: a -> b -> Maybe b` whereas `const . Just :: a -> b -> Maybe a` but I'd like to have some intuition for why inserting a composition operator sort of swaps the arguments. It feels like there's something happening there that is more fundamental. |
2025-02-07 09:00:02 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-02-07 09:00:47 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2025-02-07 09:00:59 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-02-07 09:01:07 +0100 | <mauke> | if f :: a -> b, then const f :: x -> a -> b |
2025-02-07 09:01:18 +0100 | <mauke> | and const . f :: a -> x -> b |
2025-02-07 09:01:37 +0100 | <mauke> | I don't see it as swapping, really |
2025-02-07 09:01:44 +0100 | chele | (~chele@user/chele) chele |
2025-02-07 09:01:49 +0100 | <mauke> | it's just where the dummy argument gets inserted |
2025-02-07 09:08:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 09:10:29 +0100 | <kqr> | Aah, I might be starting to get it! |
2025-02-07 09:11:18 +0100 | euleritian | (~euleritia@dynamic-176-006-138-232.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-02-07 09:11:36 +0100 | euleritian | (~euleritia@ip4d17fae8.dynamic.kabel-deutschland.de) |
2025-02-07 09:12:36 +0100 | <kqr> | Since const f is really something like const f _ = f it will swallow a dummy argument before starting to apply f, whereas const . f first applies f and then swallows a dummy argument. Yeah, thinking of it that way helps. |
2025-02-07 09:12:38 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 09:13:02 +0100 | <kqr> | This also helps explain why (const . const . const) f and (const . const . const . f) behaves the way they do! |
2025-02-07 09:13:14 +0100 | <kqr> | Thanks |
2025-02-07 09:14:55 +0100 | misterfish | (~misterfis@h239071.upc-h.chello.nl) misterfish |
2025-02-07 09:17:34 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 09:17:34 +0100 | j1n37 | (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
2025-02-07 09:19:16 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 268 seconds) |
2025-02-07 09:19:16 +0100 | tnt2 | tnt1 |
2025-02-07 09:19:52 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2025-02-07 09:20:36 +0100 | ensyde | (~ensyde@2601:5c6:c200:6dc0::9939) ensyde |
2025-02-07 09:23:15 +0100 | j1n37 | (~j1n37@user/j1n37) j1n37 |
2025-02-07 09:23:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 09:28:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-02-07 09:32:13 +0100 | ensyde | (~ensyde@2601:5c6:c200:6dc0::9939) (Quit: WeeChat 4.5.1) |
2025-02-07 09:33:09 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 09:34:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 09:37:34 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-07 09:39:02 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-07 09:45:40 +0100 | dhil | (~dhil@2a0c:b381:5bf:3500:33f8:3d71:b2ae:2adc) dhil |
2025-02-07 09:48:45 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 246 seconds) |
2025-02-07 09:49:15 +0100 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 09:54:26 +0100 | <dminuoso> | tomsmeding: By the way, the error was because I was missing a Generic instance. |
2025-02-07 09:54:56 +0100 | <dminuoso> | I'm half-way convinced that this could be a GHC diagnostics bug. |
2025-02-07 09:55:04 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-07 09:56:00 +0100 | <dminuoso> | Ill try and condense this into an isolated reproducer without servant next week. |
2025-02-07 09:58:34 +0100 | <dminuoso> | At this point I've finally settled on an opinion: Servant while being a neat experiment is not worth the type trickery: TH is more suitable for the job. |
2025-02-07 09:59:09 +0100 | <dminuoso> | It's *much* faster and can yield much better errors. |
2025-02-07 10:01:44 +0100 | mcfrdy | (~mcfrdy@user/mcfrdy) mcfrdy |
2025-02-07 10:03:50 +0100 | sim590 | (~simon@24-122-69-233.resi.cgocable.ca) sim590 |
2025-02-07 10:09:29 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 10:09:33 +0100 | AlexNoo_ | (~AlexNoo@178.34.151.30) |
2025-02-07 10:12:17 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 10:13:00 +0100 | AlexZenon | (~alzenon@5.139.233.186) (Ping timeout: 276 seconds) |
2025-02-07 10:13:14 +0100 | AlexNoo | (~AlexNoo@5.139.233.186) (Ping timeout: 260 seconds) |
2025-02-07 10:14:45 +0100 | akegalj | (~akegalj@89-172-213-142.adsl.net.t-com.hr) (Ping timeout: 268 seconds) |
2025-02-07 10:16:32 +0100 | Googulator | (~Googulato@81.183.235.203) |
2025-02-07 10:17:22 +0100 | <tomsmeding> | dminuoso: you know, given the appearance of that GServant or what was it, I already had an inkling that it might be that |
2025-02-07 10:18:13 +0100 | AlexZenon | (~alzenon@178.34.151.30) |
2025-02-07 10:19:25 +0100 | <tomsmeding> | a lot of understanding how to read (and fix) type errors from GHC comes down to honing your mental model of in what situations these diagnostics arise, and that mental model is distressingly associative (as opposed to logical) |
2025-02-07 10:19:30 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2025-02-07 10:21:00 +0100 | <tomsmeding> | okay let me be more precise: I didn't intuit that _you_ were missing a Generic instance. Just that it was something with GServant not reducing due to (I didn't think this far) |
2025-02-07 10:21:11 +0100 | sa | (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 252 seconds) |
2025-02-07 10:21:14 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-07 10:21:15 +0100 | <hololeap> | I'm looking for any comments on ways this code can be improved: https://bpa.st/FTCA |
2025-02-07 10:21:31 +0100 | <tomsmeding> | probably because essentially any time I've seen G* stuff in type errors, it was because the generics stuff was wrong, not because something else was :p |
2025-02-07 10:22:22 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-02-07 10:22:29 +0100 | <dminuoso> | tomsmeding: If this was some missing instance of some obscure deeply hidden GServerantSomething class that would have been obvious. |
2025-02-07 10:22:42 +0100 | akegalj | (~akegalj@141-136-207-93.dsl.iskon.hr) |
2025-02-07 10:23:10 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 10:23:16 +0100 | <dminuoso> | Im thinking the reason this all happened was because these are associated types of typeclass instances, and if the lack of a specific instance meant another instance was matched, I guess that could lead to associated types resolving to some nonsense. |
2025-02-07 10:24:03 +0100 | <tomsmeding> | > let f = foldr (\c -> maybe (if c == '0' then Nothing else Just [c]) (Just . (c:))) Nothing in (f "12300", f "123", f "00", f "") |
2025-02-07 10:24:03 +0100 | sa | (sid1055@id-1055.tinside.irccloud.com) sa |
2025-02-07 10:24:04 +0100 | <lambdabot> | (Just "123",Just "123",Nothing,Nothing) |
2025-02-07 10:24:29 +0100 | <tomsmeding> | hololeap: ^ |
2025-02-07 10:24:51 +0100 | <tomsmeding> | dminuoso: but it didn't resolve to some nonsense here, right? It just didn't reduce. |
2025-02-07 10:24:59 +0100 | <tomsmeding> | (if I remember the error correctly) |
2025-02-07 10:25:23 +0100 | <dminuoso> | hololeap: reverse . dropWhile (== '0') . reverse ? |
2025-02-07 10:25:34 +0100 | <tomsmeding> | hence the stuck application of GServant just appeared in the error verbatim |
2025-02-07 10:25:36 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-07 10:25:40 +0100 | <hololeap> | > let f = foldr (\c -> maybe (if c == '0' then Nothing else Just [c]) (Just . (c:))) Nothing in f "120300" |
2025-02-07 10:25:41 +0100 | <lambdabot> | Just "1203" |
2025-02-07 10:25:43 +0100 | <dminuoso> | Just tossing it out there, since "improve" can go either way. |
2025-02-07 10:25:57 +0100 | <hololeap> | hm that does seem to work |
2025-02-07 10:26:12 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-02-07 10:26:12 +0100 | <tomsmeding> | it works because once it switches to Just, it never becomes Nothing any more |
2025-02-07 10:26:25 +0100 | <dminuoso> | tomsmeding: I was just holding :k! wrong yesterday, it did resolve to some nonsense. |
2025-02-07 10:26:26 +0100 | <tomsmeding> | but yes dminuoso's suggestion has a lot of readability merit :p |
2025-02-07 10:26:31 +0100 | <tomsmeding> | ah! |
2025-02-07 10:26:34 +0100 | <dminuoso> | tomsmeding: But GHC didnt even tell us about that. |
2025-02-07 10:26:42 +0100 | <dminuoso> | Just that these two type expressions did not match. |
2025-02-07 10:26:55 +0100 | <tomsmeding> | yes, I agree that this is rather useless |
2025-02-07 10:27:10 +0100 | Googulator | (~Googulato@81.183.235.203) (Ping timeout: 240 seconds) |
2025-02-07 10:27:12 +0100 | <tomsmeding> | on the other hand, GHC has a tricky job in deciding whether, and how far, to reduce type families and synonyms in type errors |
2025-02-07 10:27:16 +0100 | <hololeap> | yeah dminuoso's was my first implementation, but I wanted to see if I could do it with a right fold |
2025-02-07 10:27:29 +0100 | <tomsmeding> | if there's a FilePath around, you probably want that to stay a FilePath -- and you don't want String to turn into [Char] |
2025-02-07 10:27:43 +0100 | <tomsmeding> | but you perhaps _do_ want to reduce GServant -- but perhaps also keep the original around, or something? |
2025-02-07 10:27:46 +0100 | <tomsmeding> | This is not trivial to solve |
2025-02-07 10:28:31 +0100 | <tomsmeding> | dminuoso: also it's funny that you say that TH is *much* faster. TH is not known for its speediness |
2025-02-07 10:28:39 +0100 | <dminuoso> | tomsmeding: See, as far as I'm concerned it can just tell me "Could not match <expr1> with <expr2>" and then below in the context tell me stuff about <expr1> and <expr2> |
2025-02-07 10:29:05 +0100 | <dminuoso> | tomsmeding: Compared to programming propagation into generics and type system? Uh. |
2025-02-07 10:29:12 +0100 | <dminuoso> | Not sure why TH should be slow to begin with. |
2025-02-07 10:29:47 +0100 | <dminuoso> | Now that we're actually talking about it, how is TH executed anyway? Is that via bytecode? |
2025-02-07 10:30:01 +0100 | <tomsmeding> | dminuoso: exactly, it's funny because TH is known to be not-fast, but then constraint propagation is just devastatingly slow |
2025-02-07 10:30:03 +0100 | <merijn> | dminuoso: TH is kinda slow compared to regular compilation |
2025-02-07 10:30:15 +0100 | <merijn> | but much faster than complex type level computing |
2025-02-07 10:30:21 +0100 | <merijn> | dminuoso: Don't ask |
2025-02-07 10:30:26 +0100 | <tomsmeding> | TH is run through bytecode in ghci-style, indeed |
2025-02-07 10:30:36 +0100 | <tomsmeding> | if you're cross-compiling or have external-interpreter, it's black magic |
2025-02-07 10:30:39 +0100 | <merijn> | It's a mess, which is why cross compilation and TH work so nightmarish |
2025-02-07 10:30:50 +0100 | <merijn> | No proper separation of host vs target in TH |
2025-02-07 10:30:59 +0100 | <haskellbridge> | <magic_rb> Ghc plugins are worse :) |
2025-02-07 10:31:02 +0100 | <tomsmeding> | GHC ensures that TH runs on the target architecture, not the host architecture, when cross compiling |
2025-02-07 10:31:06 +0100 | <dminuoso> | When I pondered about TH, I kept thinking that one of the problems of TH is that it's meddled into the linkage of the program too much. |
2025-02-07 10:31:06 +0100 | <tomsmeding> | this produces... difficulties |
2025-02-07 10:31:40 +0100 | m5zs7k | (aquares@web10.mydevil.net) (Ping timeout: 244 seconds) |
2025-02-07 10:31:42 +0100 | <haskellbridge> | <magic_rb> You can get TH working while cross compiling, its not even _that_ bad to get it working. But plugins are just unsupported period |
2025-02-07 10:32:02 +0100 | <tomsmeding> | also if your package depends on C libraries, these are already linked in when interpreting TH -- and it takes the dynamic libraries, even if you link the libraries statically in the package normally |
2025-02-07 10:32:04 +0100 | <tomsmeding> | iirc |
2025-02-07 10:32:33 +0100 | <dminuoso> | Yeah and that's slightly bizarre. |
2025-02-07 10:32:55 +0100 | <tomsmeding> | merijn: isn't that there _is_ proper separation, we just chose, by historical accident, to take the side that's awful to support for GHC? |
2025-02-07 10:33:19 +0100 | <tomsmeding> | (We could have specified that TH runs on the host, and GHC would have a much easier job when cross-compiling. But then hacks like $(sizeOf (undefined :: Int)) don't work) |
2025-02-07 10:33:27 +0100 | <Leary> | hololeap: `foldr cons' [] where { cons' '0' [] = []; cons' c cs = c:cs }` |
2025-02-07 10:33:31 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-07 10:33:32 +0100 | <dminuoso> | tomsmeding: Regarding speed, when we switched from generic FromJSON/ToJSON to TH (some 100 instances perhaps), we brought down compilation speed from 5 minutes to roughly 20s in our large project. |
2025-02-07 10:33:48 +0100 | <tomsmeding> | nice |
2025-02-07 10:34:42 +0100 | <hololeap> | > let f = foldr cons' [] where { cons' '0' [] = []; cons' c cs = c:cs } in f "120300" |
2025-02-07 10:34:44 +0100 | <lambdabot> | "1203" |
2025-02-07 10:34:53 +0100 | <tomsmeding> | much nicer than mine |
2025-02-07 10:34:57 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-02-07 10:35:30 +0100 | <dminuoso> | Nice. |
2025-02-07 10:35:40 +0100 | <haskellbridge> | <magic_rb> Maybe we ought to make a new language feature called "ProcMacros" and then copy the impl and idea verbatim from Rust |
2025-02-07 10:35:58 +0100 | <haskellbridge> | <magic_rb> And just deprecate TH (never removing it probably, but throw a big fat warning) |
2025-02-07 10:36:20 +0100 | <tomsmeding> | isn't rust proc macros essentially TH, whereas macro_rules! is the one that is "nicer"? |
2025-02-07 10:36:42 +0100 | tomsmeding | never used rust proc macros |
2025-02-07 10:36:45 +0100 | <haskellbridge> | <magic_rb> No they define it as running on the host not the target and also they compile them down to machine code |
2025-02-07 10:36:47 +0100 | m5zs7k | (aquares@web10.mydevil.net) m5zs7k |
2025-02-07 10:36:55 +0100 | <int-e> | at least TH gives you a syntax tree |
2025-02-07 10:36:57 +0100 | <tomsmeding> | ah |
2025-02-07 10:37:15 +0100 | <haskellbridge> | <magic_rb> So yes macro_rules! Is nicer than proc macros but their proc macros are much better than our template haskell |
2025-02-07 10:37:23 +0100 | <haskellbridge> | <magic_rb> int-e so do proc macros |
2025-02-07 10:37:29 +0100 | <tomsmeding> | much better just because they run on the host? |
2025-02-07 10:37:37 +0100 | <hololeap> | Leary: that's so simple it makes me think I've been overthinking this |
2025-02-07 10:37:40 +0100 | <haskellbridge> | <magic_rb> And being compiled |
2025-02-07 10:37:40 +0100 | <int-e> | then explain why rust has the horror that is `syn` |
2025-02-07 10:37:53 +0100 | <tomsmeding> | that sounds like it wouldn't be worth making a new language extension for. Just add {-# LANGUAGE TemplateHaskellRunsOnHost #-} or something. :P |
2025-02-07 10:38:17 +0100 | <haskellbridge> | <magic_rb> Yeah thats what i meant :) just called it ProcMacros |
2025-02-07 10:38:35 +0100 | <haskellbridge> | <magic_rb> int-e isnt that a built in crate? |
2025-02-07 10:38:39 +0100 | <tomsmeding> | well "copy the impl and idea" sounded a bit more expansive than this :p |
2025-02-07 10:38:45 +0100 | <int-e> | nope it's a third party crate |
2025-02-07 10:39:02 +0100 | <haskellbridge> | <magic_rb> Ah, havent written rust in a few years, good to knoe |
2025-02-07 10:39:03 +0100 | <dminuoso> | Sometimes I dont get why TH is this problematic. Like, why are we not forced to just specify separate dependencies for TH (C and Haskell), and then it becomes just a dumb Haskell program that is executed in the middle of parsing... |
2025-02-07 10:39:14 +0100 | <dminuoso> | That communicates with GHC via some protocol |
2025-02-07 10:39:53 +0100 | <tomsmeding> | would every slice indicate their own dependencies? Or would a packaeg indicate TH deps for all its slices? |
2025-02-07 10:40:02 +0100 | <dminuoso> | For all its slices. |
2025-02-07 10:40:05 +0100 | <haskellbridge> | <magic_rb> Because GHC really wants it to be "a integrated part of your program". Compare rustc and haskell. To you a proc macro it must be defined in a different crate. While TH has to be define in a different module |
2025-02-07 10:40:37 +0100 | <haskellbridge> | <magic_rb> *drop the "To you" dunno how that happenef |
2025-02-07 10:40:39 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 268 seconds) |
2025-02-07 10:40:51 +0100 | tnt1 | (~Thunderbi@user/tnt1) tnt1 |
2025-02-07 10:40:56 +0100 | <int-e> | which is not so different either; crates are rust's compilation units |
2025-02-07 10:41:23 +0100 | <haskellbridge> | <magic_rb> Its harder to spew out a module into .so than a crate |
2025-02-07 10:41:29 +0100 | <int-e> | While for Haskell that's a module. |
2025-02-07 10:41:40 +0100 | <haskellbridge> | <magic_rb> Which is what proc macros become, shared objects afaik |
2025-02-07 10:42:12 +0100 | <tomsmeding> | you can just _not_ compile whatever modules depend on the module that contains the TH function definition, and then compile that to a library |
2025-02-07 10:42:39 +0100 | <dminuoso> | The convenience of just packing TH next to program code and importing in both directions comes at the price of convenience when using TH... |
2025-02-07 10:42:43 +0100 | <haskellbridge> | <magic_rb> Ig so, dunno how hard ghc makes that "just" |
2025-02-07 10:42:54 +0100 | <int-e> | That said I'm *for* separating TH imports from runtime imports. But it feels like a thing that you could do without dramatically changing TH. |
2025-02-07 10:43:35 +0100 | <tomsmeding> | right, there's some engineering required to make this happen in practice, but in terms of compilation and linking etc., it's not more difficult -- the work is "just" in adding flags to ghc and some logic in the build process to allow building shared libraries also for subsets of the module tree |
2025-02-07 10:43:50 +0100 | <haskellbridge> | <magic_rb> I think we all agree that something needs to be done with TH and i also think all the somethings are quite close to each other. Someone just needs to write down a proposal |
2025-02-07 10:44:36 +0100 | <haskellbridge> | <magic_rb> Cross compilation is becoming ever more important and TH (and plugins to a much worse degree) are blocking progress |
2025-02-07 10:44:42 +0100 | <tomsmeding> | compiling TH slices to native code instead of bytecode is something that isn't visible from userland, so that doesn't need a proposal, just a motivated ghc hacker |
2025-02-07 10:44:55 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-07 10:45:03 +0100 | <tomsmeding> | tbh -XTemplateHaskellRunsOnHost is maybe just the thing that fixes most problems for least effort |