2025-07-25 00:01:44 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Quit: Client closed) |
2025-07-25 00:02:27 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 00:02:47 +0200 | <dolio> | Yeah, maybe that's why it hasn't been done yet. It's basically a completely different library. |
2025-07-25 00:03:17 +0200 | <dolio> | But, like, the current library has an expiration date. |
2025-07-25 00:06:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 00:10:54 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 276 seconds) |
2025-07-25 00:12:06 +0200 | xff0x | (~xff0x@2405:6580:b080:900:8e:a5e0:94cb:b64d) |
2025-07-25 00:16:21 +0200 | jespada | (~jespada@2800:a4:2291:9400:bcdf:5144:5f9c:bc05) (Ping timeout: 248 seconds) |
2025-07-25 00:16:53 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-07-25 00:17:08 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-07-25 00:18:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 00:19:04 +0200 | manwithluck | (~manwithlu@2a09:bac1:5bc0:20::39b:8b) (Remote host closed the connection) |
2025-07-25 00:19:29 +0200 | manwithluck | (~manwithlu@2a09:bac1:5bc0:20::39b:8b) manwithluck |
2025-07-25 00:19:43 +0200 | jespada | (~jespada@2800:a4:220f:c200:b95d:d857:9586:6e38) jespada |
2025-07-25 00:21:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2025-07-25 00:21:41 +0200 | myfirstname | (~myfirstna@user/myfirstname) (Remote host closed the connection) |
2025-07-25 00:21:58 +0200 | myfirstname | (~myfirstna@user/myfirstname) myfirstname |
2025-07-25 00:22:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 00:28:12 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 00:30:00 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Quit: ZNC 1.10.1 - https://znc.in) |
2025-07-25 00:33:22 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 00:33:24 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:fa93:4f60:138f:781a) |
2025-07-25 00:33:29 +0200 | xff0x | (~xff0x@2405:6580:b080:900:8e:a5e0:94cb:b64d) (Ping timeout: 260 seconds) |
2025-07-25 00:34:38 +0200 | takuan | (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection) |
2025-07-25 00:37:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-25 00:42:42 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-07-25 00:46:13 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2025-07-25 00:48:47 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 00:50:30 +0200 | zlqrvx | (~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) |
2025-07-25 00:51:04 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-07-25 00:53:44 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-25 00:55:07 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:fa93:4f60:138f:781a) (Quit: xff0x_) |
2025-07-25 00:57:10 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-25 00:59:36 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-25 01:00:02 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
2025-07-25 01:04:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 01:04:48 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
2025-07-25 01:10:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-25 01:12:47 +0200 | Clint | (~Clint@user/clint) (Remote host closed the connection) |
2025-07-25 01:17:02 +0200 | Clint | (~Clint@user/clint) Clint |
2025-07-25 01:17:54 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a4be:8483:4313:1091) |
2025-07-25 01:18:24 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-07-25 01:22:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 01:22:53 +0200 | sprotte24 | (~sprotte24@p200300d16f056400b9509f58729e6016.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2025-07-25 01:25:09 +0200 | myfirstname | (~myfirstna@user/myfirstname) (Remote host closed the connection) |
2025-07-25 01:25:28 +0200 | myfirstname | (~myfirstna@user/myfirstname) myfirstname |
2025-07-25 01:26:45 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-25 01:27:16 +0200 | Leary | (~Leary@user/Leary/x-0910699) (Remote host closed the connection) |
2025-07-25 01:27:31 +0200 | myfirstname | (~myfirstna@user/myfirstname) (Remote host closed the connection) |
2025-07-25 01:28:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 01:32:53 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2025-07-25 01:33:01 +0200 | Fijxu | (~Fijxu@user/fijxu) (Quit: XD!!) |
2025-07-25 01:34:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-25 01:35:39 +0200 | myfirstname | (~myfirstna@user/myfirstname) myfirstname |
2025-07-25 01:36:17 +0200 | Fijxu | (~Fijxu@user/fijxu) fijxu |
2025-07-25 01:36:55 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:b0eb:a928:fdd8:ba52) |
2025-07-25 01:37:21 +0200 | myfirstname | (~myfirstna@user/myfirstname) (Remote host closed the connection) |
2025-07-25 01:39:18 +0200 | acidjnk | (~acidjnk@p200300d6e70b66954da1f7112171ec4f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2025-07-25 01:39:21 +0200 | xff0x | (~xff0x@2405:6580:b080:900:a4be:8483:4313:1091) (Ping timeout: 252 seconds) |
2025-07-25 01:39:27 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
2025-07-25 01:39:58 +0200 | arahael | (~arahael@user/arahael) arahael |
2025-07-25 01:41:57 +0200 | zlqrvx | (~zlqrvx@2001:8003:8c8b:e00:374a:bdcb:457c:d1e3) (Quit: ZNC 1.10.0 - https://znc.in) |
2025-07-25 01:44:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 01:44:56 +0200 | Leary | (~Leary@user/Leary/x-0910699) Leary |
2025-07-25 01:46:45 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-07-25 01:49:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-25 01:50:22 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-25 01:50:38 +0200 | myfirstname | (~myfirstna@178.238.150.193) |
2025-07-25 01:50:48 +0200 | myfirstname | (~myfirstna@178.238.150.193) (Remote host closed the connection) |
2025-07-25 01:52:26 +0200 | myfirstname | (~myfirstna@user/myfirstname) myfirstname |
2025-07-25 01:53:21 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
2025-07-25 01:53:52 +0200 | arandombit | (~arandombi@user/arandombit) (Remote host closed the connection) |
2025-07-25 01:55:35 +0200 | myfirstname | (~myfirstna@user/myfirstname) (Remote host closed the connection) |
2025-07-25 01:55:58 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 240 seconds) |
2025-07-25 01:59:55 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 02:01:28 +0200 | pabs3 | (~pabs3@user/pabs3) (Ping timeout: 272 seconds) |
2025-07-25 02:03:18 +0200 | trickard | (~trickard@cpe-62-98-47-163.wireline.com.au) (Ping timeout: 252 seconds) |
2025-07-25 02:03:34 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) |
2025-07-25 02:03:57 +0200 | Square3 | (~Square4@user/square) Square |
2025-07-25 02:04:21 +0200 | Square2 | (~Square@user/square) (Remote host closed the connection) |
2025-07-25 02:04:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-25 02:06:28 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds) |
2025-07-25 02:06:33 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2025-07-25 02:08:11 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-25 02:10:23 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-25 02:10:50 +0200 | Fijxu | (~Fijxu@user/fijxu) (Quit: XD!!) |
2025-07-25 02:11:28 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 240 seconds) |
2025-07-25 02:12:16 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-07-25 02:13:24 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-07-25 02:13:33 +0200 | <haskellbridge> | <iqubic (she/her)> Does Cabal support GHC2024 yet? |
2025-07-25 02:14:15 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) |
2025-07-25 02:14:26 +0200 | Fijxu | (~Fijxu@user/fijxu) fijxu |
2025-07-25 02:15:19 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 02:15:28 +0200 | pabs3 | (~pabs3@user/pabs3) pabs3 |
2025-07-25 02:19:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-25 02:23:28 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp |
2025-07-25 02:24:51 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Client Quit) |
2025-07-25 02:25:09 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp |
2025-07-25 02:26:45 +0200 | <jackdk> | I don't know. What does the changelog and/or the project issue tracker say? |
2025-07-25 02:27:22 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-25 02:27:35 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) |
2025-07-25 02:29:01 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
2025-07-25 02:29:49 +0200 | <geekosaur> | we added it in cabal 3.12 which corresponds to ghc 9.10.1 which is when GHC2024 was introduced |
2025-07-25 02:30:42 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 02:34:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 02:38:58 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 240 seconds) |
2025-07-25 02:40:17 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-07-25 02:42:22 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp |
2025-07-25 02:43:42 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-25 02:44:52 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
2025-07-25 02:45:47 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-25 02:46:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 02:47:13 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) (Ping timeout: 248 seconds) |
2025-07-25 02:47:25 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
2025-07-25 02:47:49 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) |
2025-07-25 02:48:43 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 245 seconds) |
2025-07-25 02:49:52 +0200 | <asivitz> | I'm wondering if someone familiar with Windows and Haskell could help me. I have a minimal reproduction of a linker error here: https://github.com/asivitz/windows_link_error It has a github action that produces the error, so it shows a build environment in case that might be where the issue stems from. |
2025-07-25 02:52:10 +0200 | <asivitz> | It depends on the dear-imgui library, so it's possible there's a problem with that package. But it seems strange, and involves template haskell. |
2025-07-25 02:52:54 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-25 02:52:57 +0200 | <geekosaur> | you are either missing the imgui DLL or it's the wrong / incompatible version |
2025-07-25 02:53:05 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp |
2025-07-25 02:56:27 +0200 | <asivitz> | My understanding is the haskell lib it builds the imgui lib. The repo has a submodule reference to imgui, and the sources are listed as cxx-sources |
2025-07-25 02:56:29 +0200 | <geekosaur> | hilfy «cabal*validate-actions$» Z$ c++filt _ZN5ImGui15StyleColorsDarkEP10ImGuiStyle |
2025-07-25 02:56:29 +0200 | <geekosaur> | ImGui::StyleColorsDark(ImGuiStyle*) |
2025-07-25 02:58:09 +0200 | <asivitz> | (Also, on mac at least everything works great without installing any extra library) |
2025-07-25 02:59:21 +0200 | <geekosaur> | "could not load object code", that's TH. I wonder if there's some odd interaction there |
2025-07-25 03:00:48 +0200 | <asivitz> | Yea the error only seems to trigger when I have that setup of file 1 uses TH, which imports something from file 2, which has a reference to imgui |
2025-07-25 03:02:45 +0200 | <geekosaur> | this might be more of a ghc question then. but possibly also cabal; you might try it with different cabal versions (3.12, 3.14, 3.16) to see if the behavior changes |
2025-07-25 03:04:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 03:04:24 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 260 seconds) |
2025-07-25 03:04:33 +0200 | <asivitz> | I can't get it to build with cabal < 3.16 b/c of the clean bug on windows. And I've tried a couple ghcs (9.10 and 9.12). I can ask #ghc |
2025-07-25 03:04:38 +0200 | <asivitz> | Thanks for taking a look |
2025-07-25 03:08:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 03:09:39 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:b0eb:a928:fdd8:ba52) (Ping timeout: 260 seconds) |
2025-07-25 03:18:39 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
2025-07-25 03:19:37 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 03:20:12 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-07-25 03:23:04 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
2025-07-25 03:24:36 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-25 03:35:06 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 03:35:12 +0200 | rembo10 | (~rembo10@main.remulis.com) (Quit: ZNC 1.10.0 - https://znc.in) |
2025-07-25 03:36:38 +0200 | rembo10 | (~rembo10@main.remulis.com) rembo10 |
2025-07-25 03:39:28 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 03:55:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 03:59:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-25 04:02:11 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-07-25 04:03:28 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess |
2025-07-25 04:05:01 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-07-25 04:08:19 +0200 | athan | (~athan@syn-047-132-161-157.res.spectrum.com) (Quit: Konversation terminated!) |
2025-07-25 04:10:39 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 04:14:58 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Quit: Client closed) |
2025-07-25 04:15:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-25 04:20:14 +0200 | <Square3> | Haddock isn't totally obvious. Seems easy to break if you insert the wrong space/control at a certain place? |
2025-07-25 04:22:05 +0200 | <geekosaur> | ReST is pretty similar in that respect |
2025-07-25 04:22:21 +0200 | <geekosaur> | markdown, unfortunately, plays pretty badly with source code |
2025-07-25 04:22:50 +0200 | <geekosaur> | (you cannot simultaneously have a .md extension for markdown tools and a source file extension for compilers) |
2025-07-25 04:23:36 +0200 | <geekosaur> | (and neither group is willing to be flexible about extensions) |
2025-07-25 04:25:54 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2025-07-25 04:26:40 +0200 | <Square3> | Gotcha, I guess I just need to figure it out. |
2025-07-25 04:28:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 04:30:56 +0200 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
2025-07-25 04:34:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-25 04:37:08 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-07-25 04:37:50 +0200 | qqe | (~qqq@185.54.23.134) (Quit: Lost terminal) |
2025-07-25 04:39:50 +0200 | Sgeo_ | (~Sgeo@user/sgeo) Sgeo |
2025-07-25 04:41:38 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) (Ping timeout: 245 seconds) |
2025-07-25 04:42:58 +0200 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 240 seconds) |
2025-07-25 04:46:11 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 04:50:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-07-25 05:01:32 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 05:03:06 +0200 | ByronJohnson | (~bairyn@MAIL.DIGITALKINGDOM.ORG) (Remote host closed the connection) |
2025-07-25 05:05:38 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) fp |
2025-07-25 05:05:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 05:09:58 +0200 | fp | (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 240 seconds) |
2025-07-25 05:16:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 05:20:03 +0200 | noctux | (~noctux@user/noctux) (Read error: Connection reset by peer) |
2025-07-25 05:20:12 +0200 | noctux | (~noctux@user/noctux) noctux |
2025-07-25 05:22:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-25 05:32:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 05:33:39 +0200 | aforemny | (~aforemny@i59F4C6A5.versanet.de) aforemny |
2025-07-25 05:33:44 +0200 | aforemny_ | (~aforemny@i59F4C78B.versanet.de) (Ping timeout: 260 seconds) |
2025-07-25 05:36:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-25 05:41:05 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 05:45:48 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-07-25 05:58:57 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 06:03:51 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-25 06:14:20 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 06:18:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 06:21:58 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds) |
2025-07-25 06:22:14 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-07-25 06:25:15 +0200 | califax_ | (~califax@user/califx) califx |
2025-07-25 06:26:49 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2025-07-25 06:26:50 +0200 | califax_ | califax |
2025-07-25 06:29:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 06:34:10 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-25 06:39:12 +0200 | xff0x_ | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-07-25 06:41:59 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds) |
2025-07-25 06:42:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 06:44:29 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 260 seconds) |
2025-07-25 06:46:13 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
2025-07-25 06:46:19 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-07-25 06:49:41 +0200 | <Square3> | When using type families and let users of your library define them (mostly empty constructor types for my use case) I could not come up with a good name. type-key? |
2025-07-25 06:52:44 +0200 | ByronJohnson | (~bairyn@MAIL.DIGITALKINGDOM.ORG) ByronJohnson |
2025-07-25 06:54:38 +0200 | ByronJohnson | (~bairyn@MAIL.DIGITALKINGDOM.ORG) (Remote host closed the connection) |
2025-07-25 06:57:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 07:01:49 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-25 07:06:02 +0200 | ByronJohnson | (~bairyn@MAIL.DIGITALKINGDOM.ORG) ByronJohnson |
2025-07-25 07:11:54 +0200 | rvalue | (~rvalue@about/hackers/rvalue) (Read error: Connection reset by peer) |
2025-07-25 07:12:27 +0200 | rvalue | (~rvalue@about/hackers/rvalue) rvalue |
2025-07-25 07:12:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 07:15:56 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-25 07:16:10 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) |
2025-07-25 07:16:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 07:17:25 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-07-25 07:26:29 +0200 | michalz | (~michalz@185.246.207.221) |
2025-07-25 07:28:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 07:28:12 +0200 | Leary | (~Leary@user/Leary/x-0910699) (Remote host closed the connection) |
2025-07-25 07:28:17 +0200 | takuan | (~takuan@d8D86B9E9.access.telenet.be) |
2025-07-25 07:31:39 +0200 | Leary | (~Leary@user/Leary/x-0910699) Leary |
2025-07-25 07:35:14 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
2025-07-25 07:38:59 +0200 | <Axman6> | Is there an easy way to find reverse dependencies these days? I know stackage has a way to do it, but only for packages in stackage |
2025-07-25 07:43:02 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 07:43:23 +0200 | <probie> | Axman6: https://hackage.haskell.org/packages/reverse |
2025-07-25 07:43:28 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 240 seconds) |
2025-07-25 07:43:43 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
2025-07-25 07:44:48 +0200 | haritz | (~hrtz@user/haritz) (Remote host closed the connection) |
2025-07-25 07:45:51 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-25 07:47:29 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-25 07:48:04 +0200 | <Axman6> | Hmm, well I guess the package I was looking at has no reverse deps |
2025-07-25 07:54:28 +0200 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds) |
2025-07-25 07:55:18 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 252 seconds) |
2025-07-25 07:58:23 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 08:01:58 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-07-25 08:02:47 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-25 08:03:00 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-25 08:03:28 +0200 | biberu | (~biberu@user/biberu) biberu |
2025-07-25 08:03:30 +0200 | <jackdk> | https://packdeps.haskellers.com/reverse/lens, but there's now also a "reverse dependencies" section and a details link on individual package pages |
2025-07-25 08:07:33 +0200 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
2025-07-25 08:13:46 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 08:18:34 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
2025-07-25 08:23:03 +0200 | ft | (~ft@p508db189.dip0.t-ipconnect.de) (Quit: leaving) |
2025-07-25 08:25:24 +0200 | amadaluzia | (~amadaluzi@user/amadaluzia) amadaluzia |
2025-07-25 08:27:43 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
2025-07-25 08:28:11 +0200 | Square2 | (~Square@user/square) Square |
2025-07-25 08:29:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 08:29:58 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds) |
2025-07-25 08:30:35 +0200 | trickard_ | trickard |
2025-07-25 08:31:57 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 244 seconds) |
2025-07-25 08:32:27 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2025-07-25 08:32:59 +0200 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
2025-07-25 08:33:59 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
2025-07-25 08:44:01 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 08:48:18 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-25 08:50:55 +0200 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
2025-07-25 08:59:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 09:00:02 +0200 | caconym74 | (~caconym@user/caconym) (Quit: bye) |
2025-07-25 09:00:44 +0200 | caconym74 | (~caconym@user/caconym) caconym |
2025-07-25 09:01:00 +0200 | jreicher | (~user@user/jreicher) (Quit: In transit) |
2025-07-25 09:02:36 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-07-25 09:02:58 +0200 | Square2 | (~Square@user/square) (Ping timeout: 268 seconds) |
2025-07-25 09:04:08 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-07-25 09:14:56 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 09:17:37 +0200 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2025-07-25 09:20:09 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-07-25 09:21:50 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-07-25 09:28:50 +0200 | acidjnk | (~acidjnk@p200300d6e70b6659e0f4ab876444c8a9.dip0.t-ipconnect.de) acidjnk |
2025-07-25 09:30:20 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 09:34:41 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-07-25 09:36:48 +0200 | tromp | (~textual@2001:1c00:3487:1b00:81ab:f2a8:8ff8:b6bb) |
2025-07-25 09:38:24 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2025-07-25 09:41:21 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 09:41:52 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 09:43:40 +0200 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
2025-07-25 09:46:51 +0200 | poscat | (~poscat@user/poscat) poscat |
2025-07-25 09:48:58 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
2025-07-25 09:50:07 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-07-25 09:50:09 +0200 | lunaGUADECOnline | (~luna@90-227-72-210-no600.tbcn.telia.com) |
2025-07-25 09:50:17 +0200 | <absence> | I'm running into problems similar to this contrived example recently, i.e. constraints on higher-ranked types: https://play.haskell.org/saved/rGQBg9cb Are there better ways to solve them than this? https://play.haskell.org/saved/pG1IGTMm |
2025-07-25 09:52:02 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds) |
2025-07-25 09:53:12 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-25 09:53:40 +0200 | vpan | (~vpan@212.117.1.172) |
2025-07-25 09:54:00 +0200 | vpan | Guest9548 |
2025-07-25 09:54:46 +0200 | Guest9548 | vpan |
2025-07-25 09:56:16 +0200 | lunaGUADECOnline | (~luna@90-227-72-210-no600.tbcn.telia.com) () |
2025-07-25 09:56:39 +0200 | <Leary> | absence: Sure: rename `Combine` `&`. |
2025-07-25 09:56:50 +0200 | <Leary> | Otherwise, it's what I'd do. |
2025-07-25 09:57:33 +0200 | <absence> | Leary: Do you know if it's already defined in a common package? |
2025-07-25 09:57:42 +0200 | <Leary> | Not that I'm aware of. |
2025-07-25 09:59:48 +0200 | <Leary> | You can also avoid writing it out twice if you want: https://play.haskell.org/saved/pG1IGTMm |
2025-07-25 10:00:05 +0200 | <Leary> | Err, forgot to fork it: https://play.haskell.org/saved/8fkdZkKQ |
2025-07-25 10:01:32 +0200 | <absence> | Leary: That's a nice trick, thanks! |
2025-07-25 10:02:42 +0200 | jreicher | (~user@user/jreicher) (Read error: Connection reset by peer) |
2025-07-25 10:04:33 +0200 | xff0x_ | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds) |
2025-07-25 10:04:34 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-07-25 10:04:49 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) fp |
2025-07-25 10:06:42 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 10:08:54 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-07-25 10:09:28 +0200 | <merijn> | oh, you can do that more directly/explicitly |
2025-07-25 10:09:41 +0200 | <merijn> | But I forgot the extension name, I might have an ancient gist of it |
2025-07-25 10:10:58 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Ping timeout: 240 seconds) |
2025-07-25 10:11:39 +0200 | <merijn> | ok, yeah, you want ConstraintKinds and TypeFamilies |
2025-07-25 10:12:53 +0200 | <merijn> | You can simply write a type family combining your constraints straightup |
2025-07-25 10:13:10 +0200 | <Leary> | It needs to be partially applied. |
2025-07-25 10:14:04 +0200 | <merijn> | oh, might not even need TypeFamilies |
2025-07-25 10:15:44 +0200 | jreicher | (~user@user/jreicher) (Read error: Connection reset by peer) |
2025-07-25 10:18:57 +0200 | <lortabac> | can't you apply the constraint tuple directly? |
2025-07-25 10:20:03 +0200 | <lortabac> | oh I see |
2025-07-25 10:20:08 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 10:21:11 +0200 | trickard | (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-25 10:21:15 +0200 | <merijn> | I was trying to make another example, but I don't understand what test is doing |
2025-07-25 10:21:18 +0200 | <merijn> | *test1 |
2025-07-25 10:21:24 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) |
2025-07-25 10:21:37 +0200 | <merijn> | it's basically const? |
2025-07-25 10:22:09 +0200 | <lortabac> | I don't think it matters much what test1 does. IIUC the point of the example is the type application |
2025-07-25 10:22:10 +0200 | jreicher | (~user@user/jreicher) (Read error: Connection reset by peer) |
2025-07-25 10:22:13 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-25 10:22:52 +0200 | <merijn> | Well it matters, because I'm trying to make an example with explicit Constraints and I dunno how to change the type because I don't understand what it's doing |
2025-07-25 10:26:11 +0200 | <merijn> | Ah, I just discovered a fun limitation xD |
2025-07-25 10:26:22 +0200 | <merijn> | Apparently @ application doesn't support Constraint |
2025-07-25 10:26:46 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-25 10:27:40 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-07-25 10:29:50 +0200 | <merijn> | absence: So my idea won't save you if you wanna use TypeApplications, but just in case it happens to give you inspiration: Constraints are just type level families that you can compute with type level functions: https://gist.github.com/merijn/39dc86e345e87276c523 |
2025-07-25 10:30:08 +0200 | chele | (~chele@user/chele) chele |
2025-07-25 10:30:22 +0200 | <merijn> | Similar abuse: https://gist.github.com/merijn/6130082 |
2025-07-25 10:31:45 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-07-25 10:34:23 +0200 | <Leary> | merijn: That technique is more about escaping the unordered, open world of instances for (ordered) closed type families; I don't see how it helps here. Also, you would want to use `Unsatisfiable` for those errors these days. |
2025-07-25 10:34:48 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-07-25 10:34:59 +0200 | <Leary> | Re type applications to constraints, it seems to work fine? https://play.haskell.org/saved/Efh4MP7v |
2025-07-25 10:36:33 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-07-25 10:38:10 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 10:38:44 +0200 | <merijn> | Leary: Yes, I know about Unsatisfiable, that gist was the reason I proposed adding such a thing to GHC :p |
2025-07-25 10:39:39 +0200 | ethereal_ | (~ethereal@user/ethereal-:30935) ethereal_ |
2025-07-25 10:39:52 +0200 | ethereal_ | (~ethereal@user/ethereal-:30935) (Client Quit) |
2025-07-25 10:40:08 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-25 10:40:33 +0200 | ethereal_ | (~ethereal@user/ethereal-:30935) ethereal_ |
2025-07-25 10:50:23 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) (Quit: Client closed) |
2025-07-25 10:57:46 +0200 | dhil | (~dhil@5.151.29.137) dhil |
2025-07-25 11:03:54 +0200 | dhil | (~dhil@5.151.29.137) (Ping timeout: 260 seconds) |
2025-07-25 11:04:13 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-25 11:04:43 +0200 | trickard_ | trickard |
2025-07-25 11:07:00 +0200 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
2025-07-25 11:07:00 +0200 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
2025-07-25 11:07:00 +0200 | haritz | (~hrtz@user/haritz) haritz |
2025-07-25 11:09:15 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2025-07-25 11:11:17 +0200 | <ethereal_> | I'm currently reading through the lyah book and this is one of the examples |
2025-07-25 11:11:21 +0200 | <ethereal_> | findKey key = foldr (\(k,v) acc -> if key == k then Just v else acc) Nothing |
2025-07-25 11:11:59 +0200 | <ethereal_> | for finding the corresponding value to a key and wrapping it in a Maybe v |
2025-07-25 11:12:20 +0200 | <ethereal_> | but I don't get why the author used foldr instead of perhaps foldl in this case |
2025-07-25 11:12:49 +0200 | kuribas | (~user@ptr-17d51em1891au96qoa1.18120a2.ip6.access.telenet.be) kuribas |
2025-07-25 11:13:26 +0200 | <ethereal_> | as far as i understood list are structured 1:2:3:4:[] so it seems to me that it is much more "expensive" to go from right to left instead of the other way around |
2025-07-25 11:20:55 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2025-07-25 11:21:57 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 248 seconds) |
2025-07-25 11:23:04 +0200 | <Leary> | @src foldr |
2025-07-25 11:23:04 +0200 | <lambdabot> | foldr f z [] = z |
2025-07-25 11:23:04 +0200 | <lambdabot> | foldr f z (x:xs) = f x (foldr f z xs) |
2025-07-25 11:23:27 +0200 | <Leary> | ethereal_: Operationally, they both go left-to-right, just with different association. |
2025-07-25 11:29:44 +0200 | <ethereal_> | Leary: oh, so technically it would be irrelevant whether to use foldr or foldl? |
2025-07-25 11:30:43 +0200 | <vpan> | ethereal_: as a fellow beginner I've revisited the question of which fold to use many times. ;) For the short version read the beginning of the Conclusion section - https://wiki.haskell.org/Foldr_Foldl_Foldl%27 . For a more elaborate explanation read the whole wiki page and/or https://github.com/hasura/graphql-engine/pull/2933#discussion_r328821960 . |
2025-07-25 11:32:04 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2025-07-25 11:32:05 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 248 seconds) |
2025-07-25 11:32:06 +0200 | <ethereal_> | vpan: thanks a lot, will read |
2025-07-25 11:33:02 +0200 | <jreicher> | The conclusion is really the most important point. The choice is actually between lazy foldr and strict foldl. A lazy foldl is pointless. |
2025-07-25 11:33:18 +0200 | doyougnu | (~doyougnu@38.175.72.111) (Ping timeout: 244 seconds) |
2025-07-25 11:33:21 +0200 | <ethereal_> | mhmm i see |
2025-07-25 11:33:31 +0200 | <jreicher> | So you can usually figure out if you want lazy or strict, and then the direction is a consequence. |
2025-07-25 11:34:35 +0200 | <ethereal_> | alright, makes sense |
2025-07-25 11:40:12 +0200 | <[exa]> | ethereal_: btw one design decision, foldr can "stream" (i.e. you can have many maps and foldrs and filters connected together and they can work in parallel), foldl can not because it has to process the last element of the list ot be able to give out a value |
2025-07-25 11:40:39 +0200 | <[exa]> | (in turn foldl won't work on infinite lists) |
2025-07-25 11:42:42 +0200 | <ethereal_> | [exa]: i see. I knew about the restriction to finite lists for foldl which makes sense. but i did not know about the stream property |
2025-07-25 11:43:47 +0200 | <jreicher> | Strictness specifies an evaluation order, whereas anything lazy can be "reordered" |
2025-07-25 11:44:09 +0200 | <jreicher> | (Doesn't necessarily mean the reordering will be beneficial though; only that it's possible) |
2025-07-25 11:44:15 +0200 | <[exa]> | ethereal_: it's useful to try implementing `map` and `filter` and `group` with foldr |
2025-07-25 11:45:40 +0200 | <ethereal_> | [exa]: thanks for the tip, i will give it a try |
2025-07-25 11:45:47 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2025-07-25 11:45:49 +0200 | <[exa]> | among other, you might notice that if you have function with the usual list recursion pattern, such as `f [] = something, f (x:xs) = otherthing x xs`, this is essentially the same as `foldr otherthing something` |
2025-07-25 11:46:16 +0200 | <[exa]> | kinda makes foldr a "universal patternmatch" for lists |
2025-07-25 11:46:39 +0200 | <ethereal_> | makes sense |
2025-07-25 11:46:42 +0200 | <[exa]> | (similarly check out `maybe` or `either`) |
2025-07-25 11:46:57 +0200 | <[exa]> | :t maybe |
2025-07-25 11:46:58 +0200 | <lambdabot> | b -> (a -> b) -> Maybe a -> b |
2025-07-25 11:47:21 +0200 | <[exa]> | the 1st and 2nd arguments correspond to handling of the `Nothing` and `Just a` cases, respectively |