2024-11-19 00:02:46 +0100 | housemate | (~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate |
2024-11-19 00:19:04 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Ping timeout: 252 seconds) |
2024-11-19 00:21:21 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f69701fb6560bc0f0be.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2024-11-19 00:23:00 +0100 | <iteratee> | briandead: Yes, it looks like that was fixed for reading from a file, but it was left unchanged for reading from a bytestring. |
2024-11-19 00:25:23 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-19 00:28:20 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek |
2024-11-19 00:35:47 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-19 00:52:35 +0100 | Alleria_ | (~Alleria@user/alleria) Alleria |
2024-11-19 00:53:01 +0100 | troojg | (~troojg@user/troojg) troojg |
2024-11-19 00:56:50 +0100 | Alleria | (~Alleria@user/alleria) (Ping timeout: 272 seconds) |
2024-11-19 00:59:00 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-11-19 00:59:29 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-11-19 01:01:55 +0100 | Everything | (~Everythin@31.144.80.156) (Quit: leaving) |
2024-11-19 01:11:29 +0100 | alp | (~alp@2001:861:e3d6:8f80:568b:9761:243e:95b5) (Ping timeout: 248 seconds) |
2024-11-19 01:14:18 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2024-11-19 01:19:26 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
2024-11-19 01:19:32 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2024-11-19 01:20:56 +0100 | Lord_of_Life_ | Lord_of_Life |
2024-11-19 01:25:35 +0100 | Alleria | (~Alleria@user/alleria) Alleria |
2024-11-19 01:27:29 +0100 | Alleria_ | (~Alleria@user/alleria) (Ping timeout: 248 seconds) |
2024-11-19 01:41:16 +0100 | sprotte24 | (~sprotte24@p200300d16f36e9004570e4f99d260ace.dip0.t-ipconnect.de) (Quit: Leaving) |
2024-11-19 01:48:10 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-19 01:48:11 +0100 | housemate | (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.) |
2024-11-19 01:53:14 +0100 | talismanick | (~user@2601:644:937c:ed10::ae5) talismanick |
2024-11-19 01:54:30 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-11-19 02:04:11 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds) |
2024-11-19 02:06:18 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2024-11-19 02:06:44 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 255 seconds) |
2024-11-19 02:10:27 +0100 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 252 seconds) |
2024-11-19 02:12:56 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-11-19 02:14:24 +0100 | Alleria | (~Alleria@user/alleria) (Ping timeout: 246 seconds) |
2024-11-19 02:24:42 +0100 | housemate | (~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate |
2024-11-19 02:27:47 +0100 | Alleria | (~Alleria@user/alleria) Alleria |
2024-11-19 02:47:56 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds) |
2024-11-19 02:48:04 +0100 | son0p | (~ff@2800:e2:f80:ee7::4) son0p |
2024-11-19 02:51:31 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) ChaiTRex |
2024-11-19 03:02:06 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 03:02:19 +0100 | Guest49 | (~Guest49@2001:16a2:cf8d:df00:80b8:7a13:6821:1741) |
2024-11-19 03:02:37 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 03:03:03 +0100 | Guest49 | (~Guest49@2001:16a2:cf8d:df00:80b8:7a13:6821:1741) (Client Quit) |
2024-11-19 03:03:51 +0100 | troojg | (~troojg@user/troojg) (Ping timeout: 276 seconds) |
2024-11-19 03:12:17 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 03:12:48 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 03:16:09 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
2024-11-19 03:20:31 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 264 seconds) |
2024-11-19 03:22:08 +0100 | troojg | (~troojg@user/troojg) troojg |
2024-11-19 03:22:28 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 03:22:59 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 03:32:39 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 03:33:40 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 03:42:50 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 03:43:21 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 03:45:27 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2024-11-19 03:53:01 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 03:53:32 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 04:03:12 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 04:03:42 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 04:06:08 +0100 | euleritian | (~euleritia@dynamic-176-002-004-196.176.2.pool.telefonica.de) (Remote host closed the connection) |
2024-11-19 04:06:28 +0100 | euleritian | (~euleritia@dynamic-176-002-004-196.176.2.pool.telefonica.de) |
2024-11-19 04:07:03 +0100 | euleritian | (~euleritia@dynamic-176-002-004-196.176.2.pool.telefonica.de) (Remote host closed the connection) |
2024-11-19 04:07:20 +0100 | euleritian | (~euleritia@dynamic-176-002-004-196.176.2.pool.telefonica.de) |
2024-11-19 04:13:07 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-11-19 04:13:23 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 04:13:54 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 04:18:40 +0100 | haetsal | (~quassel@221.138.168.192) (Quit: No Ping reply in 180 seconds.) |
2024-11-19 04:20:57 +0100 | haetsal | (~quassel@221.138.168.192) |
2024-11-19 04:21:12 +0100 | son0p | (~ff@2800:e2:f80:ee7::4) (Ping timeout: 276 seconds) |
2024-11-19 04:22:34 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2024-11-19 04:30:19 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-19 04:30:49 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 04:32:48 +0100 | Alleria | (~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2024-11-19 04:35:43 +0100 | housemate | (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.) |
2024-11-19 04:35:54 +0100 | cptaffe | (~cptaffe@user/cptaffe) (Ping timeout: 260 seconds) |
2024-11-19 04:36:49 +0100 | cptaffe | (~cptaffe@user/cptaffe) cptaffe |
2024-11-19 04:36:50 +0100 | Alleria | (~Alleria@user/alleria) Alleria |
2024-11-19 04:38:22 +0100 | dpk | (~dpk@jains.nonceword.org) |
2024-11-19 04:49:05 +0100 | troojg | (~troojg@user/troojg) (Ping timeout: 248 seconds) |
2024-11-19 04:55:41 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds) |
2024-11-19 04:58:26 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2024-11-19 05:03:16 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-11-19 05:03:31 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2024-11-19 05:03:56 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2024-11-19 05:37:41 +0100 | califax | (~califax@user/califx) (Ping timeout: 260 seconds) |
2024-11-19 05:37:59 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-19 05:38:42 +0100 | califax | (~califax@user/califx) califx |
2024-11-19 05:51:49 +0100 | lockywolf | (~lockywolf@coconut.lockywolf.net) lockywolf |
2024-11-19 05:55:24 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 260 seconds) |
2024-11-19 06:06:29 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-11-19 06:13:37 +0100 | troydm | (~troydm@user/troydm) (Ping timeout: 265 seconds) |
2024-11-19 06:20:23 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-19 06:31:39 +0100 | son0p | (~ff@2800:e2:f80:ee7::4) son0p |
2024-11-19 06:34:47 +0100 | notzmv | (~daniel@user/notzmv) notzmv |
2024-11-19 06:43:19 +0100 | michalz | (~michalz@185.246.207.193) |
2024-11-19 06:58:53 +0100 | euleritian | (~euleritia@dynamic-176-002-004-196.176.2.pool.telefonica.de) (Ping timeout: 244 seconds) |
2024-11-19 06:59:24 +0100 | euleritian | (~euleritia@dynamic-176-007-203-044.176.7.pool.telefonica.de) |
2024-11-19 07:07:28 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-11-19 07:07:29 +0100 | alp | (~alp@2001:861:8ca0:4940:9ecb:356a:49a5:63a3) |
2024-11-19 07:19:18 +0100 | unalmasIRC | (~alphazone@2.219.56.221) (Ping timeout: 276 seconds) |
2024-11-19 07:23:26 +0100 | briandaed | (~root@user/briandaed) briandaed |
2024-11-19 07:25:30 +0100 | euleritian | (~euleritia@dynamic-176-007-203-044.176.7.pool.telefonica.de) (Ping timeout: 252 seconds) |
2024-11-19 07:25:38 +0100 | euleritian | (~euleritia@77.22.252.159) |
2024-11-19 07:25:49 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2024-11-19 07:30:05 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-11-19 07:38:45 +0100 | euleritian | (~euleritia@77.22.252.159) (Ping timeout: 248 seconds) |
2024-11-19 07:39:29 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) |
2024-11-19 07:44:58 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-19 07:45:38 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) |
2024-11-19 07:50:14 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-19 07:50:31 +0100 | euleritian | (~euleritia@77.22.252.159) |
2024-11-19 07:56:16 +0100 | alphazone | (~alphazone@2.219.56.221) |
2024-11-19 07:57:32 +0100 | euleritian | (~euleritia@77.22.252.159) (Ping timeout: 265 seconds) |
2024-11-19 07:59:58 +0100 | Square2 | (~Square4@user/square) Square |
2024-11-19 08:00:05 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) |
2024-11-19 08:00:53 +0100 | acidjnk_new | (~acidjnk@p200300d6e7283f33f1310e0154b357f3.dip0.t-ipconnect.de) |
2024-11-19 08:04:21 +0100 | dumptruckman | (~dumptruck@66-175-211-75.ip.linodeusercontent.com) (Ping timeout: 252 seconds) |
2024-11-19 08:05:10 +0100 | dumptruckman | (~dumptruck@66-175-211-75.ip.linodeusercontent.com) |
2024-11-19 08:17:59 +0100 | zlqrvx_ | (~zlqrvx@2001:8003:8c8b:e00:58ff:a30c:881f:1fe4) (Quit: %quit%) |
2024-11-19 08:18:00 +0100 | j1n37 | (j1n37@user/j1n37) (Read error: Connection reset by peer) |
2024-11-19 08:24:50 +0100 | j1n37 | (j1n37@user/j1n37) j1n37 |
2024-11-19 08:29:02 +0100 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) (Ping timeout: 272 seconds) |
2024-11-19 08:29:25 +0100 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) |
2024-11-19 08:33:16 +0100 | zlqrvx | (~zlqrvx@user/zlqrvx) zlqrvx |
2024-11-19 08:55:12 +0100 | alp | (~alp@2001:861:8ca0:4940:9ecb:356a:49a5:63a3) (Remote host closed the connection) |
2024-11-19 08:55:29 +0100 | alp | (~alp@2001:861:8ca0:4940:e2f7:5955:8ab2:2afc) |
2024-11-19 08:58:59 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-19 08:59:49 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-11-19 09:00:01 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-11-19 09:00:41 +0100 | caconym | (~caconym@user/caconym) caconym |
2024-11-19 09:03:22 +0100 | misterfish | (~misterfis@h239071.upc-h.chello.nl) misterfish |
2024-11-19 09:19:29 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2024-11-19 09:29:55 +0100 | p3n | (~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-11-19 09:30:58 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-19 09:31:15 +0100 | euleritian | (~euleritia@77.22.252.159) |
2024-11-19 09:31:35 +0100 | p3n | (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n |
2024-11-19 09:32:24 +0100 | rootnode` | (~user@softbank126206228003.bbtec.net) |
2024-11-19 09:32:36 +0100 | rootnode` | (~user@softbank126206228003.bbtec.net) (Client Quit) |
2024-11-19 09:33:06 +0100 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2024-11-19 09:36:55 +0100 | petrichor | (~znc-user@user/petrichor) petrichor |
2024-11-19 09:37:45 +0100 | emmanuelux_ | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2024-11-19 09:46:39 +0100 | euleritian | (~euleritia@77.22.252.159) (Ping timeout: 252 seconds) |
2024-11-19 09:47:21 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) |
2024-11-19 09:52:02 +0100 | ft | (~ft@p4fc2a26f.dip0.t-ipconnect.de) (Quit: leaving) |
2024-11-19 09:52:16 +0100 | ski | (~ski@remote11.chalmers.se) (Read error: Connection reset by peer) |
2024-11-19 09:54:20 +0100 | housemate | (~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate |
2024-11-19 09:54:57 +0100 | housemate | (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Remote host closed the connection) |
2024-11-19 09:58:19 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-11-19 09:59:00 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) ubert |
2024-11-19 10:03:54 +0100 | chele | (~chele@user/chele) chele |
2024-11-19 10:04:21 +0100 | shilowon | (~Guest4@105.112.117.167) |
2024-11-19 10:04:25 +0100 | gorignak | (~gorignak@user/gorignak) (Read error: Connection reset by peer) |
2024-11-19 10:04:47 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-19 10:06:19 +0100 | euleritian | (~euleritia@dynamic-176-006-146-018.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-19 10:06:36 +0100 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
2024-11-19 10:08:47 +0100 | divya` | (~user@139.5.11.231) |
2024-11-19 10:09:25 +0100 | divya | (~user@139.5.11.231) (Read error: Connection reset by peer) |
2024-11-19 10:13:05 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-19 10:14:29 +0100 | misterfish | (~misterfis@h239071.upc-h.chello.nl) (Ping timeout: 248 seconds) |
2024-11-19 10:17:26 +0100 | <Leary> | So I'm generating instances with TH, but I'm not sure how best to deal with messy constraints. I can generate a /sufficient/ (highly redundant and simplifiable) constraint easily, but cleaning it up looks to be quite a hassle. Any tips? |
2024-11-19 10:23:37 +0100 | misterfish | (~misterfis@31-161-39-137.biz.kpn.net) misterfish |
2024-11-19 10:25:26 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-11-19 10:35:37 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-11-19 10:37:15 +0100 | shilowon | (~Guest4@105.112.117.167) (Quit: Ping timeout (120 seconds)) |
2024-11-19 10:41:00 +0100 | igemnace | (~igemnace@user/igemnace) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in) |
2024-11-19 10:41:18 +0100 | sroso | (~sroso@user/SrOso) SrOso |
2024-11-19 10:42:28 +0100 | igemnace | (~igemnace@user/igemnace) igemnace |
2024-11-19 10:44:28 +0100 | Guest4 | (~Guest4@105.112.117.167) |
2024-11-19 10:53:34 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-11-19 10:54:11 +0100 | Guest4 | (~Guest4@105.112.117.167) (Quit: Ping timeout (120 seconds)) |
2024-11-19 10:55:35 +0100 | <jackdk> | Generate deriving via instances instead of generating the constraint directly, maybe? |
2024-11-19 10:55:54 +0100 | carbolymer | (~carbolyme@dropacid.net) (Read error: Connection reset by peer) |
2024-11-19 10:58:11 +0100 | sand-witch | (~m-mzmz6l@vmi833741.contaboserver.net) (Ping timeout: 255 seconds) |
2024-11-19 11:02:09 +0100 | <Leary> | jackdk: Hmmm. So the idea is to hide the messy instances by tying them to a private newtype wrapper, then produce a standalone `deriving instance ... via ...` declaration, for which GHC would infer a clean context? Sounds feasible... |
2024-11-19 11:05:43 +0100 | Guest4 | (~Guest4@102.91.71.26) |
2024-11-19 11:06:05 +0100 | Guest4 | (~Guest4@102.91.71.26) (Client Quit) |
2024-11-19 11:06:35 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-11-19 11:06:41 +0100 | CrunchyFlakes | (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
2024-11-19 11:07:15 +0100 | Guest4 | (~Guest4@102.91.71.26) |
2024-11-19 11:07:21 +0100 | Guest4 | (~Guest4@102.91.71.26) (Client Quit) |
2024-11-19 11:12:58 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-11-19 11:13:12 +0100 | <jackdk> | Something like that. I don't know enough about your problem to be sure |
2024-11-19 11:18:31 +0100 | <Leary> | jackdk: For e.g. `type data Wibble = Wobble Foo | Nibble Wibble Wibble` I'm writing TH that ought to generate `deriving instance Show (Wibble @ t)` given that we already have `Show! Foo` in scope, but really it will generate `deriving instance (Show! Foo, Show! Wibble, Show! Wibble) => Show (Wibble @ t)`. |
2024-11-19 11:19:23 +0100 | <Leary> | (where `type f ! k = forall t. f (k @ t)`) |
2024-11-19 11:21:54 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-11-19 11:23:37 +0100 | mange | (~user@user/mange) (Quit: Zzz...) |
2024-11-19 11:53:16 +0100 | __monty__ | (~toonn@user/toonn) toonn |
2024-11-19 12:01:56 +0100 | <kuribas> | Would it be possible to train a llm to generate better error messages? |
2024-11-19 12:02:31 +0100 | <Hecate> | kuribas: hahahahahahaha |
2024-11-19 12:02:32 +0100 | <Hecate> | you silly |
2024-11-19 12:02:33 +0100 | <Hecate> | :P |
2024-11-19 12:03:01 +0100 | <int-e> | @ghc |
2024-11-19 12:03:01 +0100 | <lambdabot> | Its main purpose is to encapsulate the Horrible State Hack |
2024-11-19 12:03:04 +0100 | <kuribas> | Is that so outrageous? |
2024-11-19 12:03:20 +0100 | <int-e> | @ghc |
2024-11-19 12:03:20 +0100 | <lambdabot> | the eta-reduction property does not hold |
2024-11-19 12:03:28 +0100 | <Hecate> | kuribas: no it's not outrageous, it's ridiculous :P |
2024-11-19 12:03:30 +0100 | <int-e> | kuribas: define "better" |
2024-11-19 12:03:41 +0100 | <kuribas> | More beginner friendly. |
2024-11-19 12:04:00 +0100 | <int-e> | but error messages need to be accurate |
2024-11-19 12:04:02 +0100 | <kuribas> | I am happy with GHC error messages, but I am interested in creating a general purpose dependently typed language. |
2024-11-19 12:04:06 +0100 | <int-e> | and LLMs are terrible at that |
2024-11-19 12:04:11 +0100 | <Hecate> | kuribas: To rephrase your suggestion: "Would it be possible to train an LLM on an existing dataset to generate new things, which an LLM simply cannot?" |
2024-11-19 12:04:35 +0100 | <kuribas> | Or maybe elaborate a bit then? |
2024-11-19 12:04:40 +0100 | <Hecate> | kuribas: ah, DT languages with good ergonomics are something that need you to advance the state of the art |
2024-11-19 12:04:52 +0100 | <kuribas> | Hecate: agreed :) |
2024-11-19 12:04:53 +0100 | <Hecate> | best case, an LLM will feed off of your work later |
2024-11-19 12:05:07 +0100 | <kuribas> | When dabbling with idris I feel there is a lot of low hanging fruit there. |
2024-11-19 12:05:14 +0100 | <Hecate> | there are indeed |
2024-11-19 12:05:16 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2024-11-19 12:05:23 +0100 | <Hecate> | maybe improve idris too while you're at it? :D |
2024-11-19 12:05:33 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) ubert |
2024-11-19 12:05:35 +0100 | <kuribas> | yeah ... |
2024-11-19 12:05:52 +0100 | <kuribas> | One blocking issue for me with idris and error messages is the ad-hoc polymorphism. |
2024-11-19 12:06:05 +0100 | <kuribas> | Which makes getting accurate error message difficult. |
2024-11-19 12:06:18 +0100 | <kuribas> | And type checking very slow. |
2024-11-19 12:07:20 +0100 | <kuribas> | It's a nice to have in idris, because it allows syntactic overloading, but I am not sure it is necessary to have. |
2024-11-19 12:09:56 +0100 | notzmv | (~daniel@user/notzmv) (Read error: Connection reset by peer) |
2024-11-19 12:10:02 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2024-11-19 12:10:30 +0100 | sawilagar | (~sawilagar@user/sawilagar) (Remote host closed the connection) |
2024-11-19 12:10:49 +0100 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2024-11-19 12:11:12 +0100 | <kuribas> | For example, do can be overloaded by defining your own (>>=) function. |
2024-11-19 12:21:35 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) ubert |
2024-11-19 12:29:18 +0100 | pavonia | (~user@user/siracusa) siracusa |
2024-11-19 12:29:34 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2024-11-19 12:31:19 +0100 | <geekosaur> | we have that in at least two ways though (RebindableSyntax and QualifiedDo) |
2024-11-19 12:31:19 +0100 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-11-19 12:32:28 +0100 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
2024-11-19 12:34:08 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
2024-11-19 12:36:54 +0100 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-11-19 12:38:18 +0100 | euleritian | (~euleritia@dynamic-176-001-000-183.176.1.pool.telefonica.de) |
2024-11-19 12:39:20 +0100 | igemnace | (~igemnace@user/igemnace) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in) |
2024-11-19 12:40:42 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2024-11-19 12:42:10 +0100 | igemnace | (~igemnace@user/igemnace) igemnace |
2024-11-19 12:43:05 +0100 | housemate | (~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate |
2024-11-19 12:45:55 +0100 | <hellwolf> | what's the standard "hush" function for Ether a b -> Maybe b? |
2024-11-19 12:45:58 +0100 | <hellwolf> | I can't find one. |
2024-11-19 12:46:39 +0100 | sprotte24 | (~sprotte24@p200300d16f3e1d00202469f625d2cba6.dip0.t-ipconnect.de) |
2024-11-19 12:46:47 +0100 | <mari-estel> | @hoogle Either a b -> Maybe b |
2024-11-19 12:46:48 +0100 | <lambdabot> | Data.Either.Combinators rightToMaybe :: Either a b -> Maybe b |
2024-11-19 12:46:48 +0100 | <lambdabot> | Data.Either.Extra eitherToMaybe :: Either a b -> Maybe b |
2024-11-19 12:46:48 +0100 | <lambdabot> | Extra eitherToMaybe :: Either a b -> Maybe b |
2024-11-19 12:47:08 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) ubert |
2024-11-19 12:47:12 +0100 | <mari-estel> | @hoogle Either a b -> Maybe a |
2024-11-19 12:47:13 +0100 | <lambdabot> | Data.Either.Combinators leftToMaybe :: Either a b -> Maybe a |
2024-11-19 12:47:13 +0100 | <lambdabot> | Rebase.Prelude leftToMaybe :: () => Either a b -> Maybe a |
2024-11-19 12:47:13 +0100 | <lambdabot> | Protolude leftToMaybe :: Either l r -> Maybe l |
2024-11-19 12:47:29 +0100 | <hellwolf> | so lambdabot doesn't show which package it's from. |
2024-11-19 12:47:41 +0100 | sprotte24 | (~sprotte24@p200300d16f3e1d00202469f625d2cba6.dip0.t-ipconnect.de) (Client Quit) |
2024-11-19 12:47:47 +0100 | <hellwolf> | but I can't find it from base... :/ |
2024-11-19 12:48:03 +0100 | <geekosaur> | it's not in base |
2024-11-19 12:48:26 +0100 | <geekosaur> | eitherToMaybe = either Nothing Just |
2024-11-19 12:48:35 +0100 | <geekosaur> | er |
2024-11-19 12:48:42 +0100 | <geekosaur> | eitherToMaybe = either (const Nothing) Just |
2024-11-19 12:49:16 +0100 | <dminuoso> | It's usually called `hush` |
2024-11-19 12:49:25 +0100 | <geekosaur> | I think losing information is not encouraged, though |
2024-11-19 12:50:01 +0100 | <dminuoso> | Every non-injective loses information. :-) |
2024-11-19 12:51:11 +0100 | <hellwolf> | yea, fair enough. in this case, the error information is not too useful in production. |
2024-11-19 12:51:24 +0100 | <hellwolf> | I opt just inline it: case S.decode bs of Left _ -> Nothing; Right a -> Just (ADDR a) |
2024-11-19 12:52:00 +0100 | <dminuoso> | hellwolf: You can alsoo just write `either Nothing Just` inline. |
2024-11-19 12:52:15 +0100 | yaroot | (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (Remote host closed the connection) |
2024-11-19 12:52:23 +0100 | <dminuoso> | Or `either nothing (Just . Addr)` in your case. |
2024-11-19 12:52:45 +0100 | <hellwolf> | That's smart |
2024-11-19 12:53:22 +0100 | <Leary> | % :t asum . fmap Just |
2024-11-19 12:53:22 +0100 | <yahb2> | asum . fmap Just :: (Foldable t, Functor t) => t a -> Maybe a |
2024-11-19 12:53:28 +0100 | <Leary> | Another option. |
2024-11-19 12:53:36 +0100 | yaroot | (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) yaroot |
2024-11-19 12:53:53 +0100 | <hellwolf> | $ echo 'make this shorter: case S.decode bs of Left _ -> Nothing; Right a -> Just (ADDR a)' | chatgpt |
2024-11-19 12:53:53 +0100 | <hellwolf> | This: S.decode bs >>= Just . ADDR |
2024-11-19 12:54:13 +0100 | <dminuoso> | That looks wrong |
2024-11-19 12:54:35 +0100 | <hellwolf> | it compiles. actually it's correct. since Either is a monad |
2024-11-19 12:54:45 +0100 | <hellwolf> | no, it doesn't compile |
2024-11-19 12:54:46 +0100 | <hellwolf> | sorry |
2024-11-19 12:54:48 +0100 | <hellwolf> | bad gpt |
2024-11-19 12:54:59 +0100 | <dminuoso> | hellwolf: Here's a quick hint |
2024-11-19 12:55:02 +0100 | <dminuoso> | :t (>>=) |
2024-11-19 12:55:03 +0100 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
2024-11-19 12:55:14 +0100 | <dminuoso> | Note that it's the same `m` here in both arguments and the resultg? |
2024-11-19 12:56:10 +0100 | <hellwolf> | yea, got it, it would stay Either |
2024-11-19 12:56:43 +0100 | <hellwolf> | but "either" is good. here shows my lack of production experience of Haskell, in general. I only plays around :) |
2024-11-19 12:57:47 +0100 | <dminuoso> | No worries. Leary's answer is more clever, though if you are curious. |
2024-11-19 12:59:33 +0100 | <hellwolf> | yes, that's interest. but I had to import Data.Applicative |
2024-11-19 12:59:54 +0100 | <hellwolf> | same for nothing <-- where is it even from? I used Const nothing |
2024-11-19 13:00:04 +0100 | son0p | (~ff@2800:e2:f80:ee7::4) (Ping timeout: 260 seconds) |
2024-11-19 13:00:09 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-11-19 13:00:23 +0100 | <dminuoso> | hellwolf: You can use hoogle https://hoogle.haskell.org/?hoogle=nothing to discover likely origins of identifiers. |
2024-11-19 13:01:09 +0100 | <dminuoso> | As you can see, it's from other packages. I think hoogle always lists `base` references first. |
2024-11-19 13:01:33 +0100 | <dminuoso> | (Or maybe its defined in some module in your project) |
2024-11-19 13:02:01 +0100 | caconym | (~caconym@user/caconym) caconym |
2024-11-19 13:03:22 +0100 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
2024-11-19 13:03:31 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-11-19 13:05:40 +0100 | <hellwolf> | I can't wrap my head around intuitively wrt asum. fmap Just. I can see the type matches. |
2024-11-19 13:05:41 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds) |
2024-11-19 13:05:41 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-11-19 13:05:58 +0100 | <hellwolf> | "The sum of a collection of actions using (<|>), generalizing concat." |
2024-11-19 13:07:40 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2024-11-19 13:07:46 +0100 | mari-estel | (~mari-este@user/mari-estel) (Remote host closed the connection) |
2024-11-19 13:08:08 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2024-11-19 13:09:03 +0100 | ubert | (~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2024-11-19 13:10:52 +0100 | <kuribas> | geekosaur: It's not the same. In haskell you must have a non ambiguous way to resolve (>>=), but in idris it's overloaded, it will do a search. |
2024-11-19 13:11:57 +0100 | <kuribas> | geekosaur: rebindable syntax will use the (>>=) in scope, but in idris it will try every definition of (>>=), and pick the one that typechecks.. |
2024-11-19 13:12:56 +0100 | <Leary> | Sounds evil. Isn't that just IncoherentInstances? |
2024-11-19 13:14:20 +0100 | <kuribas> | Leary: no, that's just type checking, implicit resolution and proof search are different features. |
2024-11-19 13:14:30 +0100 | <kuribas> | instance resolution corresponds to proof search. |
2024-11-19 13:14:46 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-11-19 13:14:59 +0100 | <kuribas> | Literally. They merged the auto implicit feature and type classes. |
2024-11-19 13:15:06 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2024-11-19 13:15:16 +0100 | euleritian | (~euleritia@dynamic-176-001-000-183.176.1.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-19 13:15:28 +0100 | <dminuoso> | Sounds like the type system way of duck typing. :-) |
2024-11-19 13:15:34 +0100 | euleritian | (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
2024-11-19 13:15:48 +0100 | <dminuoso> | If it type checks like a duck, we shall make it a duck. |
2024-11-19 13:16:15 +0100 | <kuribas> | Isn't duck typing the equivalent of type classes? |
2024-11-19 13:17:25 +0100 | <dminuoso> | Id say not really. |
2024-11-19 13:18:26 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) stiell |
2024-11-19 13:18:42 +0100 | <kuribas> | Well, if duck typing is structural typing, then idris doesn't have it, but it's possible to emulate it with dependent types. |
2024-11-19 13:18:44 +0100 | Digit | (~user@user/digit) (Ping timeout: 260 seconds) |
2024-11-19 13:19:04 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-11-19 13:19:06 +0100 | <kuribas> | For example anonymous records. |
2024-11-19 13:19:10 +0100 | <dminuoso> | In duck typing, rather than formally (via a type system) asserting that you have some sort of impedance match between componets (say the function signature with the passed arguments), if it works out at runtime, thats just as good. |
2024-11-19 13:19:40 +0100 | <kuribas> | "if it works out". If it doesn't, you get an unpredictable error. |
2024-11-19 13:19:47 +0100 | <dminuoso> | Duck typing is nothing that you can sensibly annotate with formal names, because its a very loose abstract idea. |
2024-11-19 13:20:04 +0100 | <dminuoso> | Well, the "if it doesn't" is not something that duck type proponents really worry about. |
2024-11-19 13:20:17 +0100 | <kuribas> | looks like structural subtyping to me: https://peps.python.org/pep-0544/ |