2024/11/26

2024-11-26 00:00:26 +0100mange(~user@user/mange) mange
2024-11-26 00:04:31 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 00:09:12 +0100ski(~ski@remote11.chalmers.se) (Ping timeout: 252 seconds)
2024-11-26 00:09:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-26 00:11:11 +0100ski(~ski@remote11.chalmers.se)
2024-11-26 00:19:55 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 00:22:25 +0100 <hellwolf> How would you make a more appropriate error message, instead?
2024-11-26 00:23:34 +0100 <hellwolf> "This is a method of Foldable, but no instances was found for your inputs. Perhaps, you are using a wrong function?"
2024-11-26 00:24:04 +0100acidjnk_new3(~acidjnk@p200300d6e7283f0888af8ecdd6430c47.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-11-26 00:24:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-26 00:24:52 +0100 <hellwolf> I asked chatgpt, it says this:
2024-11-26 00:24:57 +0100 <hellwolf> "The error is saying that the function `maximum` used in your Haskell code cannot determine a specific structure (`Foldable` type) for the numbers you provided. Make sure you're using `maximum` correctly with a list like `maximum [2,3]`."
2024-11-26 00:25:19 +0100 <hellwolf> Perhaps, we should have a plugin for GHC, that translate message through chatgpt for people that needs assistant?
2024-11-26 00:25:50 +0100 <hellwolf> instead of trying to do a lot of work on fixing error messages..., which seems never adequate
2024-11-26 00:26:41 +0100leoy(~leoy@95.220.52.198)
2024-11-26 00:26:59 +0100leoy(~leoy@95.220.52.198) (Client Quit)
2024-11-26 00:29:55 +0100leoy(~leoy@95.220.52.198)
2024-11-26 00:31:30 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-11-26 00:31:40 +0100leoy(~leoy@95.220.52.198) (Client Quit)
2024-11-26 00:32:05 +0100leoy(~leoy@95.220.52.198)
2024-11-26 00:32:29 +0100emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2024-11-26 00:34:00 +0100euleritian(~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 00:34:16 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 00:35:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 00:35:41 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2024-11-26 00:35:42 +0100ljdarj1ljdarj
2024-11-26 00:37:36 +0100leoy(~leoy@95.220.52.198) (Remote host closed the connection)
2024-11-26 00:38:41 +0100leoy(~leoy@95.220.52.198)
2024-11-26 00:40:04 +0100leoy(~leoy@95.220.52.198) (Remote host closed the connection)
2024-11-26 00:40:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 00:40:07 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-11-26 00:40:27 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-11-26 00:41:55 +0100unter-oe(~unter-oe@95.220.52.198)
2024-11-26 00:42:51 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-26 00:43:02 +0100unter-oe(~unter-oe@95.220.52.198) (Changing host)
2024-11-26 00:43:02 +0100unter-oe(~unter-oe@user/unter-oe) unter-oe
2024-11-26 00:43:45 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 00:44:04 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-11-26 00:49:41 +0100unter-oe(~unter-oe@user/unter-oe) (Remote host closed the connection)
2024-11-26 00:49:58 +0100unter-oe(~unter-oe@95.220.52.198)
2024-11-26 00:50:24 +0100unter-oe(~unter-oe@95.220.52.198) (Remote host closed the connection)
2024-11-26 00:50:38 +0100unter-oe(~unter-oe@user/unter-oe) unter-oe
2024-11-26 00:50:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 00:51:20 +0100xdminsy(~xdminsy@117.147.71.197) xdminsy
2024-11-26 00:55:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-26 00:55:30 +0100Everything(~Everythin@46.211.214.14) (Ping timeout: 265 seconds)
2024-11-26 00:57:23 +0100Everything(~Everythin@46-133-164-202.mobile.vf-ua.net) Everything
2024-11-26 00:59:38 +0100unter-oe(~unter-oe@user/unter-oe) (Remote host closed the connection)
2024-11-26 00:59:57 +0100unter-oe(~unter-oe@user/unter-oe) unter-oe
2024-11-26 01:00:35 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-26 01:03:32 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-26 01:05:25 +0100unter-oe(~unter-oe@user/unter-oe) (Remote host closed the connection)
2024-11-26 01:06:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 01:10:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 01:12:45 +0100Everything(~Everythin@46-133-164-202.mobile.vf-ua.net) (Quit: leaving)
2024-11-26 01:14:15 +0100Everything(~Everythin@46-133-164-202.mobile.vf-ua.net) Everything
2024-11-26 01:21:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 01:23:59 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2024-11-26 01:24:05 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-11-26 01:25:25 +0100Lord_of_Life_Lord_of_Life
2024-11-26 01:28:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-11-26 01:32:50 +0100vanishingideal(~vanishing@user/vanishingideal) (Quit: leaving)
2024-11-26 01:39:01 +0100xff0x(~xff0x@2405:6580:b080:900:1f91:7e93:b51d:2d0f) (Ping timeout: 252 seconds)
2024-11-26 01:43:34 +0100sprotte24(~sprotte24@p200300d16f21340071325e90113b492f.dip0.t-ipconnect.de) (Quit: Leaving)
2024-11-26 01:45:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 01:45:46 +0100malte(~malte@mal.tc) malte
2024-11-26 01:49:17 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-26 01:49:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 01:50:12 +0100falafel(~falafel@2600:1700:99f4:2050:60cb:70cb:6f3b:1b01) falafel
2024-11-26 01:50:40 +0100k_hachig_(~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com) k_hachig
2024-11-26 01:54:58 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-11-26 01:55:23 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 02:00:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 02:05:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-11-26 02:06:38 +0100falafel(~falafel@2600:1700:99f4:2050:60cb:70cb:6f3b:1b01) (Ping timeout: 245 seconds)
2024-11-26 02:11:20 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2024-11-26 02:11:26 +0100weary-traveler(~user@user/user363627) user363627
2024-11-26 02:13:01 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2024-11-26 02:16:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 02:18:43 +0100notzmv(~umar@user/notzmv) (Ping timeout: 245 seconds)
2024-11-26 02:21:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 02:22:36 +0100poscat0x04(~poscat@user/poscat) poscat
2024-11-26 02:24:02 +0100poscat0x04(~poscat@user/poscat) (Read error: Connection reset by peer)
2024-11-26 02:24:12 +0100poscat(~poscat@user/poscat) (Read error: Connection reset by peer)
2024-11-26 02:28:31 +0100poscat(~poscat@user/poscat) poscat
2024-11-26 02:28:57 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-26 02:29:59 +0100mulk(~mulk@pd95146e9.dip0.t-ipconnect.de) (Quit: ZNC - http://znc.in)
2024-11-26 02:30:39 +0100mulk(~mulk@pd95146e9.dip0.t-ipconnect.de) mulk
2024-11-26 02:31:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 02:35:05 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 255 seconds)
2024-11-26 02:36:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 02:36:27 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 02:42:26 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-11-26 02:44:57 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-11-26 02:46:40 +0100Everything(~Everythin@46-133-164-202.mobile.vf-ua.net) (Quit: leaving)
2024-11-26 02:46:55 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 02:50:21 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2024-11-26 02:51:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 02:52:56 +0100malte(~malte@mal.tc) malte
2024-11-26 02:55:38 +0100ph88(~ph88@2a02:8109:9e26:c800:6231:4530:9b98:8ee4) (Remote host closed the connection)
2024-11-26 02:58:01 +0100 <haskellbridge> <Bowuigi> With proper warnings, given that it might allucinate, I think this is actually a good idea
2024-11-26 02:59:47 +0100 <haskellbridge> <Bowuigi> Having good error messages and good performance are both good properties that are almost always at conflict
2024-11-26 02:59:47 +0100yaroot(~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (Remote host closed the connection)
2024-11-26 03:00:28 +0100yaroot(~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) yaroot
2024-11-26 03:01:30 +0100yaroot(~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) (Remote host closed the connection)
2024-11-26 03:02:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 03:02:28 +0100 <haskellbridge> <Bowuigi> It seems like LLMs can collect some of that metadata given the error message and a bit of code. Since this is separate from compilation itself, I'd say that training an LLM for this and not enabling this functionality on the compiler itself could result in faster compile times for everyone
2024-11-26 03:04:25 +0100user363627(~user@user/user363627) user363627
2024-11-26 03:05:11 +0100 <haskellbridge> <Bowuigi> Of course, that model needs to be launched on every error message and enough context must be given, but specialised models should be small enough to not be a huge pain. Most of the time you are working on a single type error at once too (also this system would be opt-out on each compilation)
2024-11-26 03:07:59 +0100weary-traveler(~user@user/user363627) (Ping timeout: 260 seconds)
2024-11-26 03:09:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-11-26 03:10:10 +0100Alleria_(~Alleria@user/alleria) Alleria
2024-11-26 03:11:33 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 248 seconds)
2024-11-26 03:12:31 +0100yaroot(~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) yaroot
2024-11-26 03:20:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 03:23:13 +0100olivial(~benjaminl@user/benjaminl) (Ping timeout: 248 seconds)
2024-11-26 03:23:21 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
2024-11-26 03:23:35 +0100olivial(~benjaminl@user/benjaminl) benjaminl
2024-11-26 03:24:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-11-26 03:27:53 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-26 03:32:21 +0100sefidel(~sefidel@user/sefidel) (Ping timeout: 248 seconds)
2024-11-26 03:32:53 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2024-11-26 03:33:18 +0100euleritian(~euleritia@dynamic-176-006-136-191.176.6.pool.telefonica.de)
2024-11-26 03:33:26 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds)
2024-11-26 03:33:51 +0100califax_(~califax@user/califx) califx
2024-11-26 03:34:01 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-11-26 03:34:21 +0100mantraofpie_(~mantraofp@user/mantraofpie) mantraofpie
2024-11-26 03:34:36 +0100califax(~califax@user/califx) (Ping timeout: 260 seconds)
2024-11-26 03:34:36 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 260 seconds)
2024-11-26 03:34:36 +0100mantraofpie(~mantraofp@user/mantraofpie) (Ping timeout: 260 seconds)
2024-11-26 03:34:36 +0100chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
2024-11-26 03:35:11 +0100califax_califax
2024-11-26 03:35:30 +0100mantraofpie_mantraofpie
2024-11-26 03:35:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 03:35:33 +0100ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2024-11-26 03:36:50 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-11-26 03:40:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-26 03:41:49 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2024-11-26 03:44:56 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-26 03:47:04 +0100stiell_(~stiell@gateway/tor-sasl/stiell) stiell
2024-11-26 03:49:15 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-26 03:50:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 03:55:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 03:58:08 +0100sefidel(~sefidel@user/sefidel) sefidel
2024-11-26 03:59:00 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-26 04:03:38 +0100Feuermagier(~Feuermagi@user/feuermagier) Feuermagier
2024-11-26 04:04:28 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-26 04:05:52 +0100agent314(~quassel@68.235.46.203) agent314
2024-11-26 04:06:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 04:08:23 +0100Square2(~Square4@user/square) (Remote host closed the connection)
2024-11-26 04:08:44 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-26 04:09:03 +0100Square2(~Square4@user/square) Square
2024-11-26 04:13:36 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-11-26 04:21:26 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Remote host closed the connection)
2024-11-26 04:21:38 +0100foul_owl(~kerry@185.216.231.180) (Ping timeout: 245 seconds)
2024-11-26 04:24:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 04:27:14 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-26 04:28:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 04:31:16 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-11-26 04:31:29 +0100poscat0x04(~poscat@user/poscat) poscat
2024-11-26 04:32:12 +0100poscat0x04(~poscat@user/poscat) (Remote host closed the connection)
2024-11-26 04:33:45 +0100poscat(~poscat@user/poscat) (Ping timeout: 276 seconds)
2024-11-26 04:34:17 +0100loonycyborg_(loonycybor@chat.chantal.wesnoth.org) (Ping timeout: 252 seconds)
2024-11-26 04:39:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 04:41:13 +0100foul_owl(~kerry@157.97.134.167) foul_owl
2024-11-26 04:44:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-26 04:49:32 +0100poscat(~poscat@user/poscat) poscat
2024-11-26 04:50:39 +0100Square2(~Square4@user/square) (Ping timeout: 276 seconds)
2024-11-26 04:53:59 +0100loonycyborg(loonycybor@wesnoth/developer/loonycyborg) loonycyborg
2024-11-26 04:55:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 04:59:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-26 05:04:21 +0100machined1od(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-26 05:04:39 +0100aforemny_(~aforemny@i59F4C7EE.versanet.de) (Ping timeout: 260 seconds)
2024-11-26 05:04:40 +0100aforemny(~aforemny@2001:9e8:6cf9:ec00:2244:25c5:1fd9:5632) aforemny
2024-11-26 05:04:47 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Read error: Connection reset by peer)
2024-11-26 05:08:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 05:12:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 05:16:02 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-26 05:16:30 +0100machined1od(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 265 seconds)
2024-11-26 05:20:45 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-26 05:23:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 05:27:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 05:29:50 +0100machined1od(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-26 05:29:58 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Read error: Connection reset by peer)
2024-11-26 05:38:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 05:42:41 +0100weary-traveler(~user@user/user363627) user363627
2024-11-26 05:43:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 05:46:31 +0100user363627(~user@user/user363627) (Ping timeout: 252 seconds)
2024-11-26 05:54:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 05:57:54 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-26 05:59:01 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-26 06:02:10 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-26 06:03:23 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 265 seconds)
2024-11-26 06:04:34 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 06:08:32 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2024-11-26 06:09:18 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2024-11-26 06:09:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 06:13:06 +0100swamp_(~zmt00@user/zmt00) (Quit: Leaving)
2024-11-26 06:14:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-11-26 06:14:45 +0100zmt00(~zmt00@user/zmt00) zmt00
2024-11-26 06:18:07 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-26 06:19:24 +0100machined1od(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 246 seconds)
2024-11-26 06:25:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 06:29:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 06:29:48 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 252 seconds)
2024-11-26 06:31:13 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 06:39:48 +0100 <ski> @where existential-antipattern
2024-11-26 06:39:48 +0100 <lambdabot> "Haskell Antipattern: Existential Typeclass" by Luke Palmer at <https://web.archive.org/web/20220121105027/https://lukepalmer.wordpress.com/2010/01/24/haskell-ant…>
2024-11-26 06:39:55 +0100 <ski> bailsman ^
2024-11-26 06:40:03 +0100 <ski> @where incremental-parameter-antipattern
2024-11-26 06:40:03 +0100 <lambdabot> "Haskell anti-pattern: incremental ad-hoc parameter abstraction" by Brent Yorgey at <http://byorgey.wordpress.com/2010/04/03/haskell-anti-pattern-incremental-ad-hoc-parameter-abstract…>
2024-11-26 06:40:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 06:43:12 +0100michalz(~michalz@185.246.207.201)
2024-11-26 06:43:47 +0100euleritian(~euleritia@dynamic-176-006-136-191.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 06:44:05 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 06:45:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 06:48:53 +0100mulk(~mulk@pd95146e9.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-11-26 06:51:40 +0100mulk(~mulk@p5b112b80.dip0.t-ipconnect.de) mulk
2024-11-26 06:52:53 +0100alp_(~alp@2001:861:8ca0:4940:59db:a92c:453c:d8da) (Ping timeout: 252 seconds)
2024-11-26 06:55:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 06:56:51 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-11-26 07:02:26 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 07:03:01 +0100k_hachig_(~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
2024-11-26 07:07:53 +0100subjective51(~SN51@user/subjective51) (Ping timeout: 245 seconds)
2024-11-26 07:09:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 07:13:21 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-26 07:13:43 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-11-26 07:16:12 +0100Guest80(~Guest61@2a02-a420-262-9cfd-2148-5c62-8bbd-b288.mobile6.kpn.net)
2024-11-26 07:17:15 +0100Guest80(~Guest61@2a02-a420-262-9cfd-2148-5c62-8bbd-b288.mobile6.kpn.net) (Client Quit)
2024-11-26 07:17:20 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) k_hachig
2024-11-26 07:24:06 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 265 seconds)
2024-11-26 07:24:38 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 07:29:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 07:30:02 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-11-26 07:31:49 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2024-11-26 07:32:43 +0100euleritian(~euleritia@dynamic-176-007-197-227.176.7.pool.telefonica.de)
2024-11-26 07:34:10 +0100mcfrd(~mcfrdy@user/mcfrdy) mcfrdy
2024-11-26 07:34:41 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-11-26 07:36:52 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2024-11-26 07:36:52 +0100mcfrdy(~mcfrdy@user/mcfrdy) (Ping timeout: 260 seconds)
2024-11-26 07:36:52 +0100Lord_of_Life_Lord_of_Life
2024-11-26 07:37:07 +0100mcfrdmcfrdy
2024-11-26 07:38:21 +0100agent314(~quassel@68.235.46.203) (Ping timeout: 276 seconds)
2024-11-26 07:40:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 07:45:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-26 07:55:20 +0100acidjnk_new3(~acidjnk@p200300d6e7283f15c18c09329fdf1ca2.dip0.t-ipconnect.de)
2024-11-26 07:55:55 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 08:00:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 08:05:04 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-11-26 08:10:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 08:11:05 +0100CiaoSen(~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da) CiaoSen
2024-11-26 08:17:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-26 08:26:00 +0100briandaed(~root@user/briandaed) briandaed
2024-11-26 08:28:11 +0100tzh_(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-11-26 08:28:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 08:32:16 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
2024-11-26 08:32:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-11-26 08:39:59 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) k_hachig
2024-11-26 08:43:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 08:44:53 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 248 seconds)
2024-11-26 08:50:13 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-26 08:52:25 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-26 08:57:56 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-11-26 09:00:00 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-26 09:00:36 +0100caconym(~caconym@user/caconym) caconym
2024-11-26 09:03:46 +0100 <dminuoso> 23:25:19 hellwolf │ Perhaps, we should have a plugin for GHC, that translate message through chatgpt for people that needs assistant?
2024-11-26 09:03:48 +0100 <dminuoso> No we should not.
2024-11-26 09:04:59 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-11-26 09:06:49 +0100 <tomsmeding> https://errors.haskell.org/
2024-11-26 09:06:51 +0100 <dminuoso> The current system is pretty great: Instead of just giving you an error message, we are giving you error cxodes.
2024-11-26 09:07:28 +0100 <dminuoso> Yup. We already have a system to help you decipher errors, but instead of random generative AI confabulations filled with inaccuracies and just garbage, it gives you exact answers.
2024-11-26 09:08:01 +0100 <dminuoso> In a way I am glad generative AI is becoming so popular, it is guaranteed job security for those who keep building up experience in writing code.
2024-11-26 09:08:23 +0100 <tomsmeding> at employers that care about the latter
2024-11-26 09:09:08 +0100 <tomsmeding> (disclaimer, I don't know how much of a problem that really is in practice)
2024-11-26 09:10:40 +0100 <dminuoso> tomsmeding: I have some insights in how education is dealing with it at the school where my girlfriend teaches at. There is an alarming number of students that use it for homework assignments, to answer questions during classes and during exams. As a result the students effectively void the primary purpose of all three: Working with material to build up competency.
2024-11-26 09:11:50 +0100 <tomsmeding> dminuoso: is that secondary school or university?
2024-11-26 09:12:29 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-26 09:12:43 +0100 <dminuoso> What is secondary school to you?
2024-11-26 09:12:53 +0100 <tomsmeding> :')
2024-11-26 09:12:53 +0100 <dminuoso> Ah, no.
2024-11-26 09:13:07 +0100 <tomsmeding> age 12 to 18, if I'm to take the dutch definnition
2024-11-26 09:13:18 +0100 <dminuoso> Here it is called Gymnasium which is the school that grants you university access.
2024-11-26 09:13:37 +0100 <dminuoso> tomsmeding: Based on my research secondary education seems to be about an alternate path that does not lead to university *shrugs*
2024-11-26 09:13:39 +0100 <dminuoso> at any rate
2024-11-26 09:13:55 +0100 <dminuoso> She prepares students for university
2024-11-26 09:14:04 +0100 <tomsmeding> I find it endlessly fascinating how every country has their own way of designing an education system, and somehow it all works
2024-11-26 09:14:49 +0100 <tomsmeding> dminuoso: wikipedia claims that Germany has three streams of secondary education: Hauptschule, Realschule and Gymnasium
2024-11-26 09:14:51 +0100 <dminuoso> The school system here is federated, so its state responsibility even.
2024-11-26 09:15:44 +0100 <dminuoso> tomsmeding: Heck, language about cultures across cultures is a problematic thing.
2024-11-26 09:15:53 +0100 <dminuoso> Take for instance, how do you call the meal at noon?
2024-11-26 09:16:28 +0100 <tomsmeding> lunch, or luncheon if you're being funny
2024-11-26 09:17:03 +0100 <tomsmeding> (the former happens to also be the dutch word)
2024-11-26 09:17:08 +0100 <tomsmeding> (I'm not sure which way the loan went)
2024-11-26 09:17:10 +0100 <dminuoso> So this is an interesting bit. In the USA the main course is eaten in the evening called dinner. However, plenty of Americans do not associate the term `dinner` with being in the evening, but with the fact that its the main course of the day.
2024-11-26 09:17:41 +0100 <dminuoso> So in Germany we have the main coure at noon, and they might call that one dinner.
2024-11-26 09:18:03 +0100 <dminuoso> A typical problem in translation.
2024-11-26 09:18:13 +0100 <tomsmeding> heh
2024-11-26 09:18:46 +0100alp_(~alp@2001:861:8ca0:4940:c3d3:ea8c:4ef4:3945)
2024-11-26 09:18:48 +0100 <dminuoso> So what we call Abendbrot they might call supper, which is also funny given there is no soup involved.
2024-11-26 09:19:05 +0100 <dminuoso> Based on my research none of this is however well agreed on.
2024-11-26 09:19:29 +0100 <dminuoso> So finding unifying terms about education is a hopeless excercise
2024-11-26 09:19:41 +0100 <tomsmeding> right :p
2024-11-26 09:20:04 +0100 <tomsmeding> (it turns out the 'lunch' loan goes English -> Dutch)
2024-11-26 09:20:33 +0100 <dminuoso> Anyway. Students see generative AI as making school easier, but in reality they are just not following the primary goals of tasks. That is, teachers dont care about your answers, and generally they dont care whether your answer is right or wrong.
2024-11-26 09:20:36 +0100 <tomsmeding> at least for meals we have the workaround of doing stuff like "midday meal"
2024-11-26 09:20:54 +0100 <tomsmeding> they don't? I do.
2024-11-26 09:20:57 +0100 <dminuoso> They just want you to study material, they want you to build up competency dealing with texts, applying principles and practicing techniques.
2024-11-26 09:21:03 +0100 <tomsmeding> But perhaps I haven't been sufficiently jaded yet (probably)
2024-11-26 09:21:11 +0100 <tomsmeding> oh in that sense
2024-11-26 09:21:49 +0100 <tomsmeding> sure, the end goal is not to have students perform on exams
2024-11-26 09:22:25 +0100 <tomsmeding> but with "gaming the system" being an accepted mode of operation among a significant fraction of the population, exams are what we have
2024-11-26 09:22:27 +0100 <dminuoso> Of course, from a financial point of view it may very well be the goal - which creates incentives for students to actually use generative AI everywhere.
2024-11-26 09:23:08 +0100 <dminuoso> Schools and universities generally get paid per graduated student, per certification earned, per PhD greanted..
2024-11-26 09:24:24 +0100 <dminuoso> tomsmeding: https://t.co/HGfGrwo3ir
2024-11-26 09:24:31 +0100 <tomsmeding> there is an incentive for schools to keep the level up at least somewhat, though: if you just hand out certificates willy-nilly, then your reputation will sink, and fewer students will attend your school, so you get fewer graduates too
2024-11-26 09:24:40 +0100 <dminuoso> This is a cherry.
2024-11-26 09:25:34 +0100 <dminuoso> People involved with scam currency, tasking generative AI to write code for their financial investment, using that code without audit, with the AI not only sending private keys, but sending them to a scammer API.
2024-11-26 09:25:56 +0100 <tomsmeding> right, somehow it's unsurprising that this involves cryptocurrency
2024-11-26 09:26:09 +0100 <dminuoso> :-)
2024-11-26 09:26:51 +0100 <tomsmeding> "the trust in @OpenAI lost me"
2024-11-26 09:27:38 +0100 <tomsmeding> pretty good scamming mode of operation! Get yourself recommended by an AI service, then watch the credits roll in
2024-11-26 09:28:27 +0100 <tomsmeding> automatic pre-selection of people who are less likely to double-check what they're doing. :)
2024-11-26 09:28:55 +0100APic(apic@apic.name) (Ping timeout: 264 seconds)
2024-11-26 09:29:25 +0100 <tomsmeding> is this the new form of SEO? "AIO"?
2024-11-26 09:29:47 +0100 <dminuoso> Do you know of the great filter theory as a resolution to the fermi paradox?
2024-11-26 09:30:04 +0100 <tomsmeding> I know neither that theory _nor_ the fermi paradox
2024-11-26 09:30:34 +0100tomsmedingreads wikipedia
2024-11-26 09:30:34 +0100 <dminuoso> Oh, so the fermi paradox is that with the sheer number of stars and planets in our galaxy, why haven't we see any indication of extra terrestial life.
2024-11-26 09:32:04 +0100 <tomsmeding> what's the relation to cryptocurrency scamming? :P
2024-11-26 09:32:09 +0100 <dminuoso> And the great filter hypothesizes that evolution has many difficult requirements that are hard to fulfill, and each barrier sort of "filters out" viable candidatres.
2024-11-26 09:32:49 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 260 seconds)
2024-11-26 09:33:38 +0100 <dminuoso> Assuming we have a suitable star and planet, will it produce reproduction, will that form into cells, will cells become multi-cellular, will that develop sexual reproduction, will those life forms develop fine motor skills, etc. etc.
2024-11-26 09:34:28 +0100 <dminuoso> Sometimes I wonder whether one of the great filters is avoiding technology that will lead to self destruction.
2024-11-26 09:34:29 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Ping timeout: 255 seconds)
2024-11-26 09:34:53 +0100 <tomsmeding> makes me think of Dune
2024-11-26 09:35:05 +0100 <tomsmeding> (but perhaps that's because I recently re-read the series)
2024-11-26 09:35:06 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 09:35:20 +0100 <dminuoso> Have not read and not watched, yet.
2024-11-26 09:35:27 +0100 <tomsmeding> I can recommend the books, at least
2024-11-26 09:35:46 +0100 <dminuoso> Ill have ChatGPT give me a summary. >:)
2024-11-26 09:36:10 +0100 <tomsmeding> the genre changes quite a bit from book 1 to books 2&3, and then from that again a bit to books 4-8
2024-11-26 09:37:18 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 09:37:21 +0100 <tomsmeding> the relevant bit (which is not a spoiler) is that an important part of (fictional) historical background in the story is the Butlerian Jihad: mankind had created an intelligent machine that was taking over humanity, and humanity revolted
2024-11-26 09:37:40 +0100 <tomsmeding> and agreed to never again "make a machine in the image of the human mind", or some similar phrase
2024-11-26 09:38:28 +0100 <tomsmeding> I'm not going to say more than that because commenting more on this is a bit of a spoiler for the closing novel :p
2024-11-26 09:39:56 +0100 <merijn> tomsmeding: And then his son ruined that by completely misunderstanding the meaning and turning it into some vague matrixy machine uprising >.>
2024-11-26 09:40:35 +0100 <tomsmeding> merijn: I'm not sure what to think of the last two books (by {his ,Ander}son)
2024-11-26 09:40:38 +0100 <merijn> Whereas obviously "Butlerian Jihad == 70s IBM slide" :p
2024-11-26 09:40:59 +0100 <tomsmeding> I started on them thinking "whatever, I got this far, let's see"
2024-11-26 09:41:26 +0100 <tomsmeding> (my previous read was just books 1-3; this time I read till the end)
2024-11-26 09:41:44 +0100 <merijn> tomsmeding: (this slide specifically: https://miro.medium.com/v2/resize:fit:720/format:webp/1*zutKwuoRph8ucPWNR7rWbw.jpeg)
2024-11-26 09:42:00 +0100 <tomsmeding> heh
2024-11-26 09:42:25 +0100 <merijn> tomsmeding: I just don't understand why his own son so completely whiffed his (imo fairly obvious) intentions
2024-11-26 09:42:34 +0100 <dminuoso> merijn: Hold on, that reasoning is completely flawed. If something cannot be held accountable, that seems just *perfect* for management decisions.
2024-11-26 09:43:05 +0100 <merijn> dminuoso: Well, you go and Google "toeslagenaffaire" in the Netherlands and discover why that's completely fucking wrong :)
2024-11-26 09:43:06 +0100 <tomsmeding> the accountability just shifts to the implementers of the system
2024-11-26 09:43:12 +0100 <tomsmeding> also ^
2024-11-26 09:43:20 +0100 <merijn> dminuoso: It's "just following orders" for bureaucracy
2024-11-26 09:43:54 +0100 <merijn> dminuoso: Something that has the power to ruin people's lives should ALWAYS have a mechanism for holding decision makers accountable
2024-11-26 09:44:24 +0100 <haskellbridge> <maerwald> seems we're in agreement that we must destroy AI at all costs
2024-11-26 09:44:41 +0100 <merijn> No one ever seems to stop and wonder "why did Frank Herbert write a sci-fi novel with a feudal government?"
2024-11-26 09:44:42 +0100 <tomsmeding> merijn: do we have info on how much of "Dune 7" is from the mind of Herbert Jr., and how much is from Herbert Sr.'s notes?
2024-11-26 09:45:20 +0100 <merijn> imo the feudal government and Butlerian Jihad are directly linked. It's the polar opposite of abdicating personal responsibility
2024-11-26 09:48:00 +0100 <dminuoso> merijn: You folks are beginners. Here we had the biggest tax fraud (twisting the legal system such that get higher tax returns than you owed..) in the billions, and the central figures got away by being forgetful "I do not remember anything".
2024-11-26 09:48:31 +0100 <tomsmeding> '"I do not remember anything"' is suspiciously similar to what our prime minister said
2024-11-26 09:48:32 +0100 <dminuoso> Look up CumEx! :-)
2024-11-26 09:48:50 +0100 <tomsmeding> "I have no active memory of that" was the catchphrase
2024-11-26 09:49:14 +0100 <dminuoso> (While several european countries were involved, we really showed how to do it)
2024-11-26 09:50:27 +0100k_hachig_(~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com) k_hachig
2024-11-26 09:51:00 +0100 <mauke> wait, wasn't that Olaf Scholz?
2024-11-26 09:51:12 +0100 <dminuoso> I cannot recall.
2024-11-26 09:51:19 +0100 <mauke> haha
2024-11-26 09:53:04 +0100 <monochrom> Ugh haha what happened, Dune 7 and tax evasion?
2024-11-26 09:54:27 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
2024-11-26 09:54:35 +0100 <tomsmeding> monochrom: generative AI -> schools -> cryptocurrency scams -> a resolution to the Fermi paradox (perhaps most life avoids self-destruction tech) -> Dune -> accountability of government -> tax evasion
2024-11-26 09:54:39 +0100 <tomsmeding> does it make more sense now? :)
2024-11-26 09:55:17 +0100 <mauke> {-# LANGUAGE IncoherentRambling #-}
2024-11-26 09:55:44 +0100 <tomsmeding> semantics: passes your code through ChatGPT before compiling
2024-11-26 09:56:31 +0100 <mauke> I'm dealing with the effects of yesterday's Corvid vaccination
2024-11-26 09:56:49 +0100k_hachig_(~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
2024-11-26 09:56:51 +0100 <tomsmeding> bird flu?
2024-11-26 09:57:20 +0100 <dminuoso> tomsmeding: Oh that's simply a simplifier pass, isn't it?
2024-11-26 09:57:20 +0100 <mauke> caw
2024-11-26 09:57:41 +0100 <tomsmeding> dminuoso: if it is then why aren't we using it?
2024-11-26 09:57:48 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-26 09:58:07 +0100 <dminuoso> Personally I would have IncoherentRambling rather have generative AI generate diagnostics.
2024-11-26 09:58:15 +0100 <dminuoso> Such that GHC rambles incoherently.
2024-11-26 09:59:20 +0100 <dminuoso> By default we only have {-# LANGUAGE RambleIncomprehensible #-} which is a built-in feature.
2024-11-26 09:59:33 +0100 <dminuoso> IncomprehensibleRambling
2024-11-26 10:00:42 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2024-11-26 10:01:57 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 10:02:27 +0100 <merijn> dminuoso: I mean, did that result in double digit (triple digit?) parents losing custody of their children and ripping families apart?
2024-11-26 10:03:01 +0100 <merijn> Althought that's more for -offtopic :p
2024-11-26 10:03:25 +0100 <tomsmeding> (this whole discussion has been -offtopic)
2024-11-26 10:04:29 +0100gorignak(~gorignak@user/gorignak) (Ping timeout: 260 seconds)
2024-11-26 10:07:25 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-11-26 10:07:57 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-11-26 10:11:28 +0100subjective51(~SN51@user/subjective51) subjective51
2024-11-26 10:11:42 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-26 10:17:00 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-26 10:18:35 +0100CiaoSen(~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds)
2024-11-26 10:21:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-26 10:22:19 +0100tabemann(~tabemann@2600:1700:7990:24e0:f270:15d3:9241:b0a1) (Remote host closed the connection)
2024-11-26 10:23:28 +0100tabemann(~tabemann@2600:1700:7990:24e0:994a:79ad:26a3:286b)
2024-11-26 10:28:01 +0100internatetional(~nate@2001:448a:20a3:c2e5:9ba2:a48e:b934:7d97) internatetional
2024-11-26 10:28:14 +0100zero(~z@user/zero) (Ping timeout: 272 seconds)
2024-11-26 10:37:48 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-26 10:46:18 +0100chele(~chele@user/chele) chele
2024-11-26 10:46:54 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2024-11-26 10:47:38 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 10:49:41 +0100MrMickerbocker(~MrMickerb@user/MrMickerbocker) MrMickerbocker
2024-11-26 10:49:46 +0100MrMickerbocker(~MrMickerb@user/MrMickerbocker) ()
2024-11-26 10:52:03 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2024-11-26 10:52:35 +0100 <kqr> If I have an infinite list of IO actions, I imagined I would be able to sequenceA xs >>= \and_this_would_be_a_lazy_list but that seems to not be the case. What am I missing?
2024-11-26 10:52:41 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 10:52:57 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-26 10:53:34 +0100 <dminuoso> % sequenceA (repeat (putChar 'a'))3
2024-11-26 10:53:34 +0100 <yahb2> Oops, something went wrong
2024-11-26 10:53:36 +0100 <dminuoso> % sequenceA (repeat (putChar 'a'))3
2024-11-26 10:53:36 +0100 <yahb2> <interactive>:5:1: error: [GHC-83865] ; • Couldn't match expected type: t0 -> t ; with actual type: IO [()] ; • The function ‘sequenceA’ is applied to two visible argument...
2024-11-26 10:53:42 +0100 <dminuoso> Err..
2024-11-26 10:53:44 +0100 <dminuoso> % sequenceA (repeat (putChar 'a'))
2024-11-26 10:53:44 +0100 <yahb2> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
2024-11-26 10:53:46 +0100 <int-e> kqr: IO effectd are ordered
2024-11-26 10:53:52 +0100 <int-e> *effects
2024-11-26 10:53:56 +0100 <dminuoso> kqr: seems to work fine?
2024-11-26 10:54:09 +0100 <int-e> all effects from the sequenceA will happen before the next action gets to run
2024-11-26 10:54:12 +0100 <dminuoso> Oh you want that lazy list.
2024-11-26 10:54:29 +0100 <dminuoso> kqr: You want to look at streaming solutions.
2024-11-26 10:54:48 +0100 <tomsmeding> kqr: imagine if one of the actions in `xs` did stuff to a file, then surely you'd want that to be done once you get your list of results
2024-11-26 10:54:53 +0100 <int-e> There's unsafeInterleaveIO if you're feeling adventerous.
2024-11-26 10:54:55 +0100 <tomsmeding> (this is why IO is ordered)
2024-11-26 10:55:24 +0100 <int-e> (used for lazy IO, which is known for being convenient on the one hand and full of pitfalls on the other hand)
2024-11-26 10:55:49 +0100 <dminuoso> If you think you want lazy IO, you really want something like conduit or some other streaming library. :-)
2024-11-26 10:55:55 +0100 <dminuoso> You just dont know it yet.
2024-11-26 10:56:40 +0100 <int-e> <3 `interact foo`
2024-11-26 10:57:36 +0100 <kqr> I see. I don't /really/ want lazy IO. This is not for production code but an article I'm thinking of writing to showcase `for` from traversable. It would have been neat to be able to show it working on an infinite stream. It might still be possible to do that by switching to a less... impactful monad, but that might also be more effort than it's worth for a quick demo.
2024-11-26 10:57:52 +0100 <dminuoso> Well, it does work on infinite streams..
2024-11-26 10:58:23 +0100 <kqr> Yeah, but I was using IO to generate the infinite stream, and on IO it does not work!
2024-11-26 10:58:27 +0100 <dminuoso> For demonstration you could spool up two threads, and that infinite `for_` pushes into a TQueue?
2024-11-26 10:58:36 +0100 <dminuoso> Of course it does work.
2024-11-26 10:58:44 +0100 <dminuoso> Just not in a single thread with sequenceA.
2024-11-26 10:58:46 +0100 <kqr> Well, it works but not the sequenceA that I used to sequence the IO into a list with.
2024-11-26 10:59:16 +0100 <dibblego> yeah it works
2024-11-26 10:59:18 +0100 <dminuoso> Well, even that sequenceA does work on infinite streams..
2024-11-26 10:59:20 +0100 <int-e> it's working as intended
2024-11-26 10:59:39 +0100 <dminuoso> It's just that it does not do lazy IO.
2024-11-26 10:59:59 +0100 <dminuoso> So if you want to show incremental results, add stm to the mix.
2024-11-26 10:59:59 +0100 <int-e> It can't be magically lazy in a monad that whose effects are strict by design.
2024-11-26 11:00:24 +0100CrunchyFlakes(~CrunchyFl@31.19.233.78) (Ping timeout: 252 seconds)
2024-11-26 11:00:34 +0100CiaoSen(~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da) CiaoSen
2024-11-26 11:00:50 +0100CrunchyFlakes(~CrunchyFl@31.19.233.78)
2024-11-26 11:00:53 +0100 <kqr> I'm not faulting IO or sequenceA or for here, to be clear! I'm just looking for an easy artificial example that is not too artificial or complicated. I want it to be somewhat readable even to someone who does not otherwise use Haskell.
2024-11-26 11:01:06 +0100 <dminuoso> Well, you want sequenceA to show something its not.
2024-11-26 11:01:14 +0100 <dminuoso> So it's abit unclear what to recommend.
2024-11-26 11:01:29 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-11-26 11:02:02 +0100 <int-e> forM_ [1..] print will work
2024-11-26 11:02:25 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 11:02:26 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) k_hachig
2024-11-26 11:02:41 +0100 <dminuoso> % for_ [1..] print
2024-11-26 11:02:41 +0100 <yahb2> Oops, something went wrong
2024-11-26 11:02:46 +0100 <dminuoso> Yeah something did.
2024-11-26 11:02:48 +0100 <dminuoso> % for_ [1..] print
2024-11-26 11:02:48 +0100 <yahb2> <interactive>:5:1: error: [GHC-88464] ; Variable not in scope: for_ :: [a0] -> (a1 -> IO ()) -> t
2024-11-26 11:02:54 +0100 <dminuoso> % import Data.Foldable
2024-11-26 11:02:54 +0100 <yahb2> <no output>
2024-11-26 11:02:56 +0100 <dminuoso> % for_ [1..] print
2024-11-26 11:02:56 +0100 <yahb2> 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; 10 ; 11 ; 12 ; 13 ; 14 ; 15 ; 16 ; 17 ; 18 ; 19 ; 20 ; 21 ; 22 ; 23 ; 24 ; 25 ; 26 ; 27 ; 28 ; 29 ; 30 ; 31 ; 32 ; 33 ; 34 ; 35 ; 36 ; 37 ; 38 ; 39 ; 40 ; 41 ; 4...
2024-11-26 11:03:48 +0100 <hellwolf> % :quit
2024-11-26 11:03:48 +0100 <yahb2> <bye>
2024-11-26 11:03:53 +0100 <kqr> Actually you gave me an idea! I was stuck thinking of using IO to generate the infinite stream, but I don't actually need that! randomRs does it without the IO.
2024-11-26 11:04:56 +0100APic(apic@apic.name) APic
2024-11-26 11:05:13 +0100 <int-e> > runWriter (for_ [1..] (tell . (:[])) >> pure 42)
2024-11-26 11:05:14 +0100 <lambdabot> (42,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27...
2024-11-26 11:07:17 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 248 seconds)
2024-11-26 11:07:54 +0100 <int-e> (Writer is lazy enough to do that kind of thing. That includes producing intermediate results lazily, even though I haven't used that in the example.)
2024-11-26 11:09:13 +0100 <int-e> The lazy state monad also gives you lazy intermediate results, but when using the state you incur a data dependency on all actions passed to `sequence`. It's subtle.
2024-11-26 11:09:38 +0100 <int-e> :t mfix
2024-11-26 11:09:39 +0100 <lambdabot> MonadFix m => (a -> m a) -> m a
2024-11-26 11:13:08 +0100 <kqr> int-e, That sounds like it could be relevant in this case. I was going to use a State expression to illustrate what can be done inside the "loop body" of for. But I'm not sure I understand what it means to incur a data dependency.
2024-11-26 11:14:07 +0100califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-26 11:14:33 +0100califax(~califax@user/califx) califx
2024-11-26 11:14:54 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds)
2024-11-26 11:15:45 +0100 <int-e> > let loop = forever (pure ()) in (execState (loop >> put 23) 42, execState (loop >> modify (subtract 19)) 42)
2024-11-26 11:15:52 +0100 <lambdabot> mueval-core: Time limit exceeded
2024-11-26 11:16:04 +0100 <int-e> > let loop = forever (pure ()) in (execState (loop >> put 23) 42)
2024-11-26 11:16:06 +0100 <lambdabot> 23
2024-11-26 11:17:59 +0100 <tomsmeding> % let loop = putChar 'a' >> loop in loop
2024-11-26 11:17:59 +0100 <yahb2> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
2024-11-26 11:18:01 +0100 <tomsmeding> % 1 + 1
2024-11-26 11:18:01 +0100 <yahb2> Oops, something went wrong
2024-11-26 11:18:03 +0100 <tomsmeding> % 1 + 1
2024-11-26 11:18:03 +0100 <yahb2> 2
2024-11-26 11:18:15 +0100 <tomsmeding> okay yeah yahb2 breaks when you produce infinite IO :>
2024-11-26 11:18:29 +0100 <tomsmeding> (it can't find the next prompt, for obvious reasons)
2024-11-26 11:26:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-26 11:27:30 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-26 11:31:59 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2024-11-26 11:32:41 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 11:34:08 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2024-11-26 11:37:19 +0100ent-_ent
2024-11-26 11:38:20 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2024-11-26 11:38:22 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-11-26 11:38:30 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-11-26 11:38:49 +0100califax(~califax@user/califx) califx
2024-11-26 11:40:12 +0100tzh_(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-11-26 11:47:40 +0100subjective51(~SN51@user/subjective51) (Remote host closed the connection)
2024-11-26 11:48:04 +0100subjective51(~SN51@user/subjective51) subjective51
2024-11-26 11:57:12 +0100mange(~user@user/mange) (Quit: Zzz...)
2024-11-26 12:04:44 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) k_hachig
2024-11-26 12:10:43 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 265 seconds)
2024-11-26 12:10:50 +0100euleritian(~euleritia@dynamic-176-007-197-227.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 12:11:07 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 12:11:49 +0100xff0x(~xff0x@2405:6580:b080:900:4b74:4f5a:a562:d6)
2024-11-26 12:14:24 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2024-11-26 12:21:34 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
2024-11-26 12:25:04 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-11-26 12:26:46 +0100euleritian(~euleritia@dynamic-176-004-005-158.176.4.pool.telefonica.de)
2024-11-26 12:28:23 +0100 <kqr> Okay but now I am very confused. In this first example, it gathers up all the 50 results first, and then prints them all at once: https://entropicthoughts.com/pastes/forill_nonlazy-57ed31.hs.html
2024-11-26 12:28:35 +0100 <kqr> In this second example, it prints each result lazily: https://entropicthoughts.com/pastes/forill_lazy-f65616.hs.html
2024-11-26 12:28:46 +0100 <kqr> The only difference are the last few lines of the factorise function!
2024-11-26 12:31:19 +0100zero(~z@user/zero) zero
2024-11-26 12:32:09 +0100internatetional(~nate@2001:448a:20a3:c2e5:9ba2:a48e:b934:7d97) (Ping timeout: 276 seconds)
2024-11-26 12:33:41 +0100euleritian(~euleritia@dynamic-176-004-005-158.176.4.pool.telefonica.de) (Ping timeout: 248 seconds)
2024-11-26 12:34:00 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 12:36:41 +0100comerijn(~merijn@77.242.116.146) merijn
2024-11-26 12:37:17 +0100 <int-e> kqr: the difference is when the entries of the `cache` map are evaluated. The difference disappears if you use Data.Map.Strict
2024-11-26 12:39:12 +0100 <int-e> (well I'
2024-11-26 12:39:58 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 272 seconds)
2024-11-26 12:40:00 +0100 <int-e> I'm not sure whether it completely disappears, but I can no longer see the incremental printing effect)
2024-11-26 12:41:36 +0100mceresa(~mceresa@user/mceresa) (Ping timeout: 252 seconds)
2024-11-26 12:42:40 +0100 <kqr> Oh this seems really subtle. I'll have to think about it for a bit.
2024-11-26 12:42:41 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-26 12:42:55 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 12:42:57 +0100 <kqr> What I don't get is why it can't even return the list spine without forcing all computations in the first case.
2024-11-26 12:44:31 +0100 <int-e> the comparison forces `factor`
2024-11-26 12:47:14 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-26 12:48:20 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-11-26 12:48:20 +0100 <int-e> and the comparison determines the next IO action after the `maybe (compute_cached cache n) pure cached` one
2024-11-26 12:48:56 +0100 <int-e> Whereas in thge "lazy" version, the comparison is inside the returned value, not part of the chain of IO actions.
2024-11-26 12:51:13 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2024-11-26 12:54:08 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-26 12:56:24 +0100euleritian(~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de)
2024-11-26 12:56:38 +0100acidjnk_new3(~acidjnk@p200300d6e7283f15c18c09329fdf1ca2.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2024-11-26 12:57:27 +0100mceresa(~mceresa@user/mceresa) mceresa
2024-11-26 12:59:00 +0100euleritian(~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 13:00:08 +0100acidjnk_new3(~acidjnk@p200300d6e7283f15c18c09329fdf1ca2.dip0.t-ipconnect.de) acidjnk
2024-11-26 13:00:09 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 13:00:09 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-26 13:02:14 +0100caconym(~caconym@user/caconym) caconym
2024-11-26 13:03:17 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds)
2024-11-26 13:04:26 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) k_hachig
2024-11-26 13:05:01 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-26 13:06:31 +0100Guest83(~Guest83@ip-109-193-039-146.um39.pools.vodafone-ip.de)
2024-11-26 13:07:30 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 246 seconds)
2024-11-26 13:08:32 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-11-26 13:08:32 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-26 13:08:39 +0100euleritian(~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de)
2024-11-26 13:08:47 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 13:09:02 +0100euleritian(~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 13:09:20 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 13:09:22 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 248 seconds)
2024-11-26 13:13:41 +0100mari-estel(~mari-este@user/mari-estel) ()
2024-11-26 13:13:52 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-26 13:21:59 +0100Square2(~Square4@user/square) Square
2024-11-26 13:22:50 +0100weary-traveler(~user@user/user363627) user363627
2024-11-26 13:23:19 +0100vanishingideal(~vanishing@user/vanishingideal) (Quit: burn)
2024-11-26 13:23:26 +0100pavonia(~user@user/siracusa) siracusa
2024-11-26 13:24:18 +0100notzmv(~umar@user/notzmv) (Ping timeout: 248 seconds)
2024-11-26 13:37:03 +0100housemate(~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au) (Quit: Nothing to see here. I wasn't there.)
2024-11-26 13:37:20 +0100Guest83(~Guest83@ip-109-193-039-146.um39.pools.vodafone-ip.de) (Quit: Client closed)
2024-11-26 13:40:02 +0100__monty__(~toonn@user/toonn) toonn
2024-11-26 13:40:09 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 260 seconds)
2024-11-26 13:43:36 +0100ethantwardy(user@user/ethantwardy) (Quit: WeeChat 4.3.2)
2024-11-26 13:44:29 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate
2024-11-26 13:45:02 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-26 13:46:20 +0100ph88(~ph88@2a02:8109:9e26:c800:5d5d:d40:d2d2:7cc7)
2024-11-26 13:57:16 +0100dibblego(~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
2024-11-26 13:57:30 +0100dibblego(~dibblego@116-255-1-119.ip4.superloop.au)
2024-11-26 13:57:30 +0100dibblego(~dibblego@116-255-1-119.ip4.superloop.au) (Changing host)
2024-11-26 13:57:30 +0100dibblego(~dibblego@haskell/developer/dibblego) dibblego
2024-11-26 14:04:49 +0100alp_(~alp@2001:861:8ca0:4940:c3d3:ea8c:4ef4:3945) (Ping timeout: 248 seconds)
2024-11-26 14:05:05 +0100 <bailsman> OK, great. My code is nice and polymorphic and looks beautiful to me. As you have warned, I'm having some difficulty interpreting the error messages I get now. Is there anything I can do about this? Or is this, you made your bed, now sleep in it.
2024-11-26 14:05:48 +0100 <tomsmeding> bailsman: example of such an error message?
2024-11-26 14:05:49 +0100 <hellwolf> any example?
2024-11-26 14:06:10 +0100 <dminuoso> 10:18:29 tomsmeding │ (it can't find the next prompt, for obvious reasons)
2024-11-26 14:06:24 +0100 <dminuoso> Dunno about obvious reasons, but a timeout is... not exactly rocket science.
2024-11-26 14:07:20 +0100 <tomsmeding> dminuoso: I mean, what it does is it searches for the next prompt with a timeout, and if either the timeout fires, or the next prompt isn't found within the first N characters, it declares "oops" and restarts ghci
2024-11-26 14:08:17 +0100 <tomsmeding> actually if it goes over the length limit, it should terminate ghci then already, and never error
2024-11-26 14:08:41 +0100 <int-e> % putStrLn "ghci> "
2024-11-26 14:08:41 +0100 <yahb2> ghci>
2024-11-26 14:08:45 +0100 <bailsman> I mean the "couldn't match expected type foo with actual type bar" followed by 40 lines of code
2024-11-26 14:08:49 +0100 <tomsmeding> int-e: it generates a random prompt ;)
2024-11-26 14:09:02 +0100 <int-e> tomsmeding: good thinking
2024-11-26 14:09:10 +0100 <dminuoso> tomsmeding: The timeout could occur on the initial action...
2024-11-26 14:09:13 +0100 <dminuoso> Or should, even.
2024-11-26 14:09:16 +0100 <geekosaur> @v
2024-11-26 14:09:16 +0100 <lambdabot> "\"#$%&'()*+,\""
2024-11-26 14:09:24 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2024-11-26 14:09:48 +0100 <tomsmeding> bailsman: we can't say anything about how to potentially fix that without details about the specific type error :p
2024-11-26 14:09:56 +0100 <tomsmeding> because "couldn't match type" is essentially "there was a type error"
2024-11-26 14:10:05 +0100 <geekosaur> bailsman, that is one of the prices of going polymorphic, yes
2024-11-26 14:10:06 +0100 <dminuoso> tomsmeding: I mean at some point the bot decides that the response is finished, when it prints `...` - arguably it should clean-up right then.
2024-11-26 14:10:16 +0100 <tomsmeding> it should! the code tries to
2024-11-26 14:10:19 +0100 <tomsmeding> I'm not sure why it doesn't work
2024-11-26 14:10:48 +0100 <tomsmeding> it terminates ghci then, and it should detect a terminated ghci later and spawn a new one
2024-11-26 14:11:05 +0100 <bailsman> I'm not using a language server currently - should I? I guess I want to debug this not by staring at the stack trace but by double checking my mental model of what the inferred type is of various bits and pieces of code.
2024-11-26 14:11:32 +0100 <bailsman> Is there a 'printf debugging' version of types?
2024-11-26 14:11:53 +0100 <geekosaur> drop `_` in place of a type?
2024-11-26 14:11:57 +0100 <tomsmeding> you can add `:: ()` on something; if it's indeed a unit, that will go through, and if it isn't, the type error will say what it was instead
2024-11-26 14:11:58 +0100 <dminuoso> bailsman: "should I" is difficult to answer.
2024-11-26 14:12:07 +0100 <dminuoso> I can see arguments in both directions.
2024-11-26 14:12:12 +0100 <tomsmeding> geekosaur: no type-level holes
2024-11-26 14:12:40 +0100 <tomsmeding> ... there are type-level holes?
2024-11-26 14:12:44 +0100 <tomsmeding> there are type-level holes!
2024-11-26 14:12:50 +0100 <haskellbridge> <matti palli> There are!
2024-11-26 14:12:57 +0100 <tomsmeding> bailsman: do `:: _` on an expression, the error will tell you what the type is
2024-11-26 14:13:09 +0100 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/partial_type_signatures.html
2024-11-26 14:13:11 +0100 <dminuoso> Did you just discover this, tomsmeding?
2024-11-26 14:13:16 +0100 <dminuoso> o_O
2024-11-26 14:13:30 +0100 <tomsmeding> I can get a type of an expression with one button press with HLS
2024-11-26 14:13:34 +0100 <geekosaur> and yes, this has been around for some time
2024-11-26 14:13:49 +0100 <dminuoso> I'm old school, I tossed out HLS a long time ago.
2024-11-26 14:13:54 +0100 <dminuoso> Since then I can develop on less than 32GiB again.
2024-11-26 14:13:59 +0100 <tomsmeding> I have even seen this before, because I use _ for partial type signatures in places and even explicitly go -XPartialTypeSignatures -Wno-partial-type-signatures
2024-11-26 14:14:02 +0100 <dminuoso> Of memory I mean.
2024-11-26 14:14:20 +0100 <tomsmeding> apparently my code is small enough :)
2024-11-26 14:14:31 +0100 <dminuoso> Well I use type-level tricks.
2024-11-26 14:14:33 +0100 <dminuoso> :-P
2024-11-26 14:14:45 +0100 <tomsmeding> my code is one gigantic GADT
2024-11-26 14:14:52 +0100 <bailsman> Thanks, that made it a lot easier.
2024-11-26 14:14:53 +0100 <tomsmeding> type-level everything
2024-11-26 14:15:09 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2024-11-26 14:15:20 +0100 <tomsmeding> though I guess the type-level structures are not _large_.
2024-11-26 14:15:29 +0100 <dminuoso> But seriously, I forced myself for years to just do type inference in my head, which for the most part works.
2024-11-26 14:15:51 +0100 <geekosaur> likewise
2024-11-26 14:15:53 +0100 <bailsman> dminuoso: yeah but that's like saying to a beginner tennis player "just hit the ball in the right place" :P
2024-11-26 14:15:54 +0100 <tomsmeding> it does, but one gets lazy
2024-11-26 14:16:04 +0100 <geekosaur> I'd actually advise that for beginners just to learn how it all works
2024-11-26 14:16:10 +0100 <tomsmeding> yes
2024-11-26 14:16:16 +0100 <dminuoso> This sort of brings us back to the previous generative AI discussion. If you no longer practice this, you will not develop that skill.
2024-11-26 14:16:22 +0100 <tomsmeding> unrelated, why do I get a longer _profiling_ stack trace if I add more HasCallStack constraints
2024-11-26 14:17:06 +0100 <dminuoso> Don't HasCallStack constraints impose barriers for the simplifier?
2024-11-26 14:17:33 +0100 <dminuoso> After all, if you demand visibility of some bit it cant inline and optimize away no?
2024-11-26 14:17:39 +0100 <tomsmeding> hm, perhaps
2024-11-26 14:20:44 +0100tok(da65c7b04b@user/tok) ()
2024-11-26 14:24:38 +0100rvalue-(~rvalue@user/rvalue) rvalue
2024-11-26 14:25:14 +0100CiaoSen(~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2024-11-26 14:25:39 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 252 seconds)
2024-11-26 14:25:59 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 14:27:43 +0100gentauro(~gentauro@user/gentauro) (Ping timeout: 264 seconds)
2024-11-26 14:27:58 +0100gentauro(~gentauro@user/gentauro) gentauro
2024-11-26 14:28:40 +0100 <Leary> dminuoso: Just BTW, there's also static-ls if you do want a cheaper language server than hls. Though personally I've never bothered to try either---I guess I'm old school too.
2024-11-26 14:30:44 +0100rvalue-rvalue
2024-11-26 14:32:34 +0100alp_(~alp@2001:861:8ca0:4940:54e9:1fe6:6d30:3b0d)
2024-11-26 14:41:49 +0100internatetional(~nate@36.75.0.95) internatetional
2024-11-26 14:43:49 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) (Ping timeout: 248 seconds)
2024-11-26 14:48:49 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-11-26 14:49:42 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate
2024-11-26 14:50:15 +0100sympt(sympt@user/sympt) (Quit: Ping timeout (120 seconds))
2024-11-26 14:50:19 +0100ell(~ellie@user/ellie) ellie
2024-11-26 14:51:13 +0100sympt(~sympt@user/sympt) sympt
2024-11-26 14:52:29 +0100ell2(~ellie@user/ellie) (Ping timeout: 260 seconds)
2024-11-26 14:52:32 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-26 14:56:34 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 15:10:02 +0100ethantwardy(user@user/ethantwardy) ethantwardy
2024-11-26 15:11:59 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 255 seconds)
2024-11-26 15:21:20 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-26 15:25:42 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds)
2024-11-26 15:26:58 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 15:34:09 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 276 seconds)
2024-11-26 15:41:45 +0100k_hachig_(~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 15:55:02 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
2024-11-26 15:56:13 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2024-11-26 15:56:45 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate
2024-11-26 16:06:11 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 16:08:44 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-26 16:09:02 +0100tabemann(~tabemann@2600:1700:7990:24e0:994a:79ad:26a3:286b) (Remote host closed the connection)
2024-11-26 16:09:08 +0100RedFlamingos(~RedFlamin@user/RedFlamingos) (Ping timeout: 255 seconds)
2024-11-26 16:09:19 +0100tabemann(~tabemann@2600:1700:7990:24e0:994a:79ad:26a3:286b)
2024-11-26 16:09:35 +0100internatetional(~nate@36.75.0.95) (Quit: WeeChat 4.4.3)
2024-11-26 16:30:04 +0100alp_(~alp@2001:861:8ca0:4940:54e9:1fe6:6d30:3b0d) (Ping timeout: 260 seconds)
2024-11-26 16:32:59 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-26 16:44:04 +0100k_hachig_(~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca) (Ping timeout: 260 seconds)
2024-11-26 16:48:01 +0100mud(~mud@user/kadoban) (Ping timeout: 248 seconds)
2024-11-26 16:55:27 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-26 16:55:28 +0100k_hachig_(~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 16:56:23 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-11-26 16:59:10 +0100euleritian(~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de)
2024-11-26 17:01:55 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
2024-11-26 17:02:19 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate
2024-11-26 17:02:40 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-11-26 17:04:29 +0100k_hachig_(~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca) (Ping timeout: 255 seconds)
2024-11-26 17:06:04 +0100euleritian(~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de) (Ping timeout: 260 seconds)
2024-11-26 17:08:21 +0100chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
2024-11-26 17:09:46 +0100euleritian(~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de)
2024-11-26 17:10:27 +0100chiselfuse(~chiselfus@user/chiselfuse) chiselfuse
2024-11-26 17:13:57 +0100euleritian(~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-11-26 17:14:55 +0100euleritian(~euleritia@dynamic-176-006-128-209.176.6.pool.telefonica.de)
2024-11-26 17:15:42 +0100k_hachig_(~k_hachig@138-51-67-173-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 17:20:15 +0100k_hachig_(~k_hachig@138-51-67-173-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
2024-11-26 17:24:53 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2024-11-26 17:27:53 +0100LearnHaskell(~LearnHask@88.197.70.58)
2024-11-26 17:31:19 +0100k_hachig_(~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 17:31:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-26 17:34:51 +0100euleritian(~euleritia@dynamic-176-006-128-209.176.6.pool.telefonica.de) (Ping timeout: 252 seconds)
2024-11-26 17:35:56 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) ubert
2024-11-26 17:36:29 +0100k_hachig_(~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) (Ping timeout: 265 seconds)
2024-11-26 17:40:04 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-26 17:41:25 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
2024-11-26 17:44:10 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 17:44:52 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 17:47:08 +0100k_hachig_(~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 17:50:15 +0100mari-estel(~mari-este@user/mari-estel) (Ping timeout: 252 seconds)
2024-11-26 17:50:34 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-26 17:51:22 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
2024-11-26 17:51:38 +0100k_hachig_(~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) (Ping timeout: 245 seconds)
2024-11-26 17:51:44 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 17:52:00 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 17:56:00 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-11-26 18:02:19 +0100k_hachig_(~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 18:04:21 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds)
2024-11-26 18:05:58 +0100alp_(~alp@2001:861:8ca0:4940:ff64:6760:9b85:ec74)
2024-11-26 18:06:04 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-11-26 18:09:16 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2024-11-26 18:10:03 +0100k_hachig_(~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
2024-11-26 18:10:47 +0100LearnHaskell(~LearnHask@88.197.70.58) (Ping timeout: 256 seconds)
2024-11-26 18:11:14 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-11-26 18:11:42 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-26 18:11:55 +0100mxs(~mxs@user/mxs) mxs
2024-11-26 18:13:11 +0100 <bailsman> Is my trying to `instance HasField "foo" r Foo => HasFoo r` a sign I've gone off the deep end somewhere? (This does not compile.) I was trying to reduce boilerplate by saying anything that has a field of type Foo named foo can automatically produce a Foo. I suppose I could just replace HasFoo with that, but I didn't want to rule out the possibility of producing a Foo some other way.
2024-11-26 18:13:57 +0100k_hachig_(~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 18:17:13 +0100 <kuribas> bailsman: Don't code for the future, code for now.
2024-11-26 18:17:14 +0100sprotte24(~sprotte24@p200300d16f2c240070a0b46ff834a68c.dip0.t-ipconnect.de)
2024-11-26 18:17:18 +0100 <ski> could you use a type class synonym `type HasFoo r = HasField "foo" r Foo' ?
2024-11-26 18:17:42 +0100 <bailsman> ski: right. But then you can no longer produce a Foo any other way
2024-11-26 18:17:49 +0100 <ski> mm, right
2024-11-26 18:18:13 +0100 <kuribas> bailsman: maybe not, but you could easily refactor it, no?
2024-11-26 18:18:14 +0100 <ski> but `instance ..r.. => HasFoo r' already overlaps with every other instance of `HasFoo', anyway
2024-11-26 18:18:34 +0100 <bailsman> Yes I think I've misunderstood how the type system works in some important way
2024-11-26 18:18:46 +0100 <ski> (the context on instances are not taking into account when selecting which instance to use)
2024-11-26 18:19:00 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 18:20:14 +0100 <bailsman> Is there a way that I can write deriving HasFoo or something where it applies a strategy of noticing you've got a foo field? Presumably yes, but, more trouble than it's ever worth?
2024-11-26 18:20:18 +0100 <ski> (and you probably do not want to enable `OverlappingInstances' (or the `OVERLAPPING',`OVERLAPPABLE',`OVERLAPS' pragmas) or `IncoherentInstances', anyway)
2024-11-26 18:22:42 +0100 <kuribas> Ah, the joy of haskell type class programming...
2024-11-26 18:23:03 +0100 <bailsman> Is that not what you're supposed to do?
2024-11-26 18:23:09 +0100 <bailsman> I thought I learned something but maybe I haven't
2024-11-26 18:23:24 +0100 <bailsman> ski: I'm not sure I fully understand what you mean by overlap. If you've already got a foo field, you wouldn't need to make an extra instance. And if you don't, there wouldn't be overlapping instances, right?
2024-11-26 18:23:40 +0100 <ski> if you write
2024-11-26 18:23:57 +0100 <ski> instance Frob a => Foo a where ...
2024-11-26 18:24:10 +0100 <ski> instance Barf a Bar => Foo a where ...
2024-11-26 18:24:19 +0100 <ski> then those two instances are overlapping : trouble
2024-11-26 18:24:32 +0100 <ski> because the heads `Foo a' are overlapping
2024-11-26 18:24:57 +0100 <bailsman> This seems to imply you can never make two objects that instance the same typeclass?
2024-11-26 18:24:58 +0100 <kuribas> bailsman: The left side of => is not a test, basically haskell always dispatches on the right side. The left side if just an extra constraint, it always has to match if the right side matches.
2024-11-26 18:25:01 +0100 <ski> it does not matter whether it might be that `Frob a' and `Barf a Bar' never happens at the same time (so are disjoint)
2024-11-26 18:25:23 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
2024-11-26 18:25:32 +0100 <ski> Haskell decides which instance to pick (and committs to that choice !), *before* considering the context to the left of `=>', in instance resolution
2024-11-26 18:26:36 +0100 <bailsman> It's perfectly valid to write "instance Eq a => Foo a" right? what's different?
2024-11-26 18:26:43 +0100 <bailsman> I'm close to getting it but I don't quite get it yet
2024-11-26 18:26:56 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate
2024-11-26 18:27:01 +0100 <ski> writing that instance precludes writing any other instance whatsoever, for `Foo'
2024-11-26 18:27:27 +0100 <ski> (unless you go down the `OverlappingInstances' or `IncoherentInstances' route .. but this is generally regarded as being a mistake)
2024-11-26 18:28:14 +0100 <bailsman> The moment you write "forall a. instance Foo a" that's the instance you've got. Whatever constraints you put on a, don't matter. OK. I think what I wanted to do is more like automatic deriving then
2024-11-26 18:29:34 +0100k_hachig_(~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
2024-11-26 18:29:56 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-26 18:30:49 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
2024-11-26 18:31:28 +0100k_hachig_(~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 18:32:42 +0100willscripted(~willscrip@user/willscripted) (Quit: willscripted)
2024-11-26 18:33:18 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2024-11-26 18:34:24 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 18:35:42 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
2024-11-26 18:37:53 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-11-26 18:38:12 +0100 <hellwolf> This comes up a lot. Sometimes, it could be avoided since there can be better way of achieving the goal. But sometimes, it seems necessary. I wonder if anyone has a better and more instructive take for this scenario...
2024-11-26 18:38:49 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-26 18:38:59 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2024-11-26 18:39:50 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-26 18:40:13 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) szkl
2024-11-26 18:40:38 +0100motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2024-11-26 18:40:55 +0100 <JuanDaugherty> dont use a static lang?
2024-11-26 18:41:33 +0100 <bailsman> I think it's something like duck typing what you're trying to do there
2024-11-26 18:41:38 +0100 <JuanDaugherty> (joke, sorta)
2024-11-26 18:42:36 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-11-26 18:42:41 +0100euleritian(~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-26 18:42:56 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-26 18:47:32 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-26 18:48:11 +0100motherfsck(~motherfsc@user/motherfsck) motherfsck
2024-11-26 18:48:18 +0100xdminsy(~xdminsy@117.147.71.197) (Ping timeout: 245 seconds)
2024-11-26 18:52:02 +0100k_hachig_(~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) (Ping timeout: 255 seconds)
2024-11-26 18:53:53 +0100smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-26 18:55:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 18:57:15 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) myxokephale
2024-11-26 19:02:50 +0100xdminsy(~xdminsy@117.147.71.112) xdminsy
2024-11-26 19:03:32 +0100k_hachig_(~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 19:07:04 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-11-26 19:09:53 +0100k_hachig_(~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
2024-11-26 19:10:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 19:15:49 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) ft
2024-11-26 19:17:16 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
2024-11-26 19:17:51 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-11-26 19:18:14 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-26 19:21:22 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-11-26 19:21:34 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 19:22:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 19:26:14 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 255 seconds)
2024-11-26 19:27:35 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-11-26 19:31:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 19:33:47 +0100 <sprotte24> Hi
2024-11-26 19:34:39 +0100 <sprotte24> I´m just reading the book: "LEARN YOU A HASKELL FOR GREAT GOOD!"
2024-11-26 19:35:18 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-11-26 19:35:49 +0100 <sprotte24> There I read: NOTE If you ever get really stuck, the IRC channel #haskell on the freenode network is a
2024-11-26 19:35:50 +0100 <sprotte24> great place to ask questions. The people there tend to be nice, patient, and understanding.
2024-11-26 19:35:50 +0100 <sprotte24> They’re a great resource for Haskell newbies.
2024-11-26 19:35:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 19:37:06 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 260 seconds)
2024-11-26 19:37:11 +0100 <geekosaur> (you can tell how old it is 🙂 )
2024-11-26 19:37:21 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 19:37:30 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-26 19:37:41 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2024-11-26 19:39:41 +0100 <sprotte24> Printed 2ß11
2024-11-26 19:40:02 +0100 <geekosaur> yep
2024-11-26 19:40:11 +0100 <geekosaur> and the author promptl vanished
2024-11-26 19:40:26 +0100 <geekosaur> I think there's an attempt at an updated version somewhere
2024-11-26 19:40:30 +0100 <geekosaur> @where lyah
2024-11-26 19:40:30 +0100 <lambdabot> http://www.learnyouahaskell.com/ or the slightly updated fork https://learnyouahaskell.github.io/
2024-11-26 19:40:47 +0100 <geekosaur> not actually very updated, though
2024-11-26 19:41:57 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 246 seconds)
2024-11-26 19:41:58 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-11-26 19:41:58 +0100 <sprotte24> I like the book
2024-11-26 19:46:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 19:48:49 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-26 19:51:46 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
2024-11-26 19:51:49 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Remote host closed the connection)
2024-11-26 19:52:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-26 19:52:58 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 19:57:25 +0100 <sprotte24> Before I learned Haskell, I learned Scheme with DrRacket
2024-11-26 19:57:37 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-11-26 19:57:51 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
2024-11-26 20:00:27 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 20:02:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 20:05:00 +0100k_hachig_(~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
2024-11-26 20:07:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 20:09:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 20:14:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 20:16:13 +0100k_hachig_(~k_hachig@138-51-66-245-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 20:20:40 +0100k_hachig_(~k_hachig@138-51-66-245-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
2024-11-26 20:20:55 +0100Alleria_(~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-11-26 20:22:56 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-26 20:24:04 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate
2024-11-26 20:24:12 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds)
2024-11-26 20:25:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 20:31:14 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
2024-11-26 20:31:43 +0100k_hachig_(~k_hachig@138-51-68-25-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 20:32:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-26 20:33:17 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) housemate
2024-11-26 20:36:13 +0100k_hachig_(~k_hachig@138-51-68-25-lsn-2.nat.utoronto.ca) (Ping timeout: 245 seconds)
2024-11-26 20:37:42 +0100haetsal(~quassel@221.138.168.192) (Ping timeout: 276 seconds)
2024-11-26 20:38:03 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-26 20:39:39 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-26 20:39:58 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-11-26 20:40:04 +0100weary-traveler(~user@user/user363627) user363627
2024-11-26 20:40:24 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-26 20:42:27 +0100haetsal(~quassel@221.138.168.192)
2024-11-26 20:43:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 20:47:29 +0100k_hachig_(~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 20:48:35 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-11-26 20:49:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-11-26 20:52:12 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-26 20:53:42 +0100k_hachig_(~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca) (Ping timeout: 246 seconds)
2024-11-26 21:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-26 21:00:31 +0100k_hachig_(~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 21:00:41 +0100caconym(~caconym@user/caconym) caconym
2024-11-26 21:04:59 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-26 21:06:48 +0100 <[exa]> sprotte24: I learned from LYAH too, people have reservations towards it for the lack of exercises and the fact it aged without update, but IMO it's still all pretty much ok
2024-11-26 21:07:05 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-11-26 21:07:09 +0100 <[exa]> esp if you already know scheme then you can just redo your fav scheme exercises
2024-11-26 21:07:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 21:08:15 +0100k_hachig_(~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca) (Ping timeout: 276 seconds)
2024-11-26 21:10:51 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2024-11-26 21:10:51 +0100ljdarj1ljdarj
2024-11-26 21:12:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-11-26 21:13:59 +0100notzmv(~umar@user/notzmv) (Ping timeout: 265 seconds)
2024-11-26 21:23:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 21:28:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 21:31:21 +0100weary-traveler(~user@user/user363627) user363627
2024-11-26 21:31:58 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-11-26 21:34:20 +0100 <bailsman> I added microlens-th to my project - is there anything I can do about the compilation speed? Feels like it has dectupled. (Does anyone actually write lenses manually instead to compile faster?)
2024-11-26 21:38:55 +0100 <haskellbridge> <sm> Yes, I think some people do. Capturing the ones generated by th, I’d think.
2024-11-26 21:39:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 21:44:29 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-26 21:45:33 +0100 <bailsman> Hmm, google says there are now also such a things as generic-optics and OverloadedRecordDot
2024-11-26 21:45:54 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-11-26 21:49:09 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-26 21:54:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 21:55:19 +0100 <geekosaur> there used to be tools to expand TH beforehand, which is especially useful for lenses as they tend to be write-once
2024-11-26 21:56:42 +0100 <geekosaur> mm, zeroth is ancient
2024-11-26 22:00:02 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 22:03:55 +0100mud(~mud@user/kadoban) kadoban
2024-11-26 22:05:54 +0100k_hachig_(~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 22:09:18 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-26 22:10:41 +0100k_hachig_(~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca) (Ping timeout: 248 seconds)
2024-11-26 22:10:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 22:17:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-11-26 22:18:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 22:20:55 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-26 22:20:58 +0100k_hachig_(~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca) k_hachig
2024-11-26 22:23:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 22:26:13 +0100k_hachig_(~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca) (Ping timeout: 248 seconds)
2024-11-26 22:26:32 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) ubert
2024-11-26 22:28:16 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-26 22:29:59 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-26 22:32:10 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
2024-11-26 22:32:33 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-11-26 22:34:27 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 22:35:19 +0100k_hachig_(~k_hachig@70.29.50.156) k_hachig
2024-11-26 22:36:07 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-26 22:39:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-11-26 22:39:17 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-26 22:39:54 +0100k_hachig_(~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
2024-11-26 22:45:20 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-11-26 22:48:29 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2024-11-26 22:48:48 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 252 seconds)
2024-11-26 22:49:39 +0100mari-estel(~mari-este@user/mari-estel) (Ping timeout: 260 seconds)
2024-11-26 22:50:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 22:55:09 +0100 <ShannonB> How does GHC determine type variable labels?
2024-11-26 22:55:12 +0100 <ShannonB> :t (.)$(.)
2024-11-26 22:55:12 +0100 <lambdabot> (a1 -> b -> c) -> a1 -> (a2 -> b) -> a2 -> c
2024-11-26 22:55:16 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) tessier
2024-11-26 22:55:24 +0100 <ShannonB> and not
2024-11-26 22:55:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-11-26 22:55:34 +0100 <ShannonB> (a-> b -> c) -> a -> (d -> b) -> d -> c
2024-11-26 22:56:03 +0100 <geekosaur> it's up to whatever the typechecker decides to do, and that can change with every ghc release
2024-11-26 22:56:46 +0100 <ShannonB> so its mostly arbitrary whether it decided to use numbers and letter vs letters alone?
2024-11-26 22:57:11 +0100 <geekosaur> it's complicated by there being a vague attempt to use the tyvars from definitions of functions/operators, which is difficult when they overlap or are repeated so numbers get tacked on
2024-11-26 22:58:19 +0100michalz(~michalz@185.246.207.201) (Remote host closed the connection)
2024-11-26 23:04:15 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 246 seconds)
2024-11-26 23:05:08 +0100mange(~user@user/mange) mange
2024-11-26 23:06:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 23:09:38 +0100ephemient(uid407513@user/ephemient) (Quit: Connection closed for inactivity)
2024-11-26 23:11:24 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-11-26 23:21:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 23:22:26 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-11-26 23:22:42 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-11-26 23:25:56 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit)
2024-11-26 23:26:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-26 23:27:16 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-26 23:33:58 +0100xff0x_(~xff0x@2405:6580:b080:900:7888:564d:32b6:f964)
2024-11-26 23:35:53 +0100Everything(~Everythin@46-133-48-209.mobile.vf-ua.net) Everything
2024-11-26 23:36:29 +0100xff0x(~xff0x@2405:6580:b080:900:4b74:4f5a:a562:d6) (Ping timeout: 260 seconds)
2024-11-26 23:37:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 23:42:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-26 23:42:44 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-11-26 23:46:09 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-26 23:47:19 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-11-26 23:50:40 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds)
2024-11-26 23:50:40 +0100ljdarj1ljdarj
2024-11-26 23:54:27 +0100ph88(~ph88@2a02:8109:9e26:c800:5d5d:d40:d2d2:7cc7) (Ping timeout: 265 seconds)
2024-11-26 23:54:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-26 23:57:31 +0100housemate(~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)