Logs: liberachat/#haskell
| 2021-08-14 19:50:38 | <maerwald[m]> | Also, trying to figure out how cabal invokes GHC is impossible, or know linking order etc etc |
| 2021-08-14 19:50:52 | <sclv> | the linking order should be in the build plan |
| 2021-08-14 19:50:58 | <sclv> | and the invocations are all printed with -v3 |
| 2021-08-14 19:51:18 | <sclv> | i agree that pkgconf story needs some tlc and a good design |
| 2021-08-14 19:52:28 | <maerwald[m]> | sclv: https://gitlab.haskell.org/ghc/ghc/-/issues/19945 |
| 2021-08-14 19:53:14 | <maerwald[m]> | That's one instance where include dir order was totally random and impossible to control |
| 2021-08-14 19:53:41 | <maerwald[m]> | Took more than an hour to debug |
| 2021-08-14 19:53:58 | <sclv> | yeah that's a good issue -- not just a cabal problem though, relates to ghc design as well right? |
| 2021-08-14 19:54:13 | <maerwald[m]> | The abstraction is thick, you get little to no access to the underlying details |
| 2021-08-14 19:54:42 | <maerwald[m]> | I'm not sure if you had the same problem if you used shake or make with ghc |
| 2021-08-14 19:56:09 | × | machined1od quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds) |
| 2021-08-14 19:57:02 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 2021-08-14 19:57:16 | × | lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer) |
| 2021-08-14 19:58:09 | → | alx741 joins (~alx741@186.178.108.32) |
| 2021-08-14 19:58:13 | × | peterhil_ quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Quit: Must not waste too much time here...) |
| 2021-08-14 19:58:30 | <maerwald[m]> | Here's some background about the oddities of cabals pkg-config story https://github.com/haskell/cabal/issues/6771 |
| 2021-08-14 19:59:56 | <maerwald[m]> | And it turned out there's no one left who understands what is going on :) |
| 2021-08-14 20:00:26 | <sclv> | oh the solver's not that scary. and we do have the solver experts around to consult with, oleg was exaggerating |
| 2021-08-14 20:00:42 | <dminuoso> | What knowledge does cabal solver use from pkgconfig exactly |
| 2021-08-14 20:01:04 | <sclv> | i was just looking at related stuff the other day -- i didn't dig into that precise vein of stuff, but it looked straightforward |
| 2021-08-14 20:01:06 | <sclv> | sec |
| 2021-08-14 20:01:22 | → | acidjnk joins (~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de) |
| 2021-08-14 20:01:33 | × | Shaeto quits (~Shaeto@94.25.234.248) (Quit: WeeChat 3.1) |
| 2021-08-14 20:01:34 | <maerwald[m]> | Which packages exist and it may switch flags depending on it |
| 2021-08-14 20:01:38 | → | peterhil joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) |
| 2021-08-14 20:02:19 | <maerwald[m]> | But it doesn't seem clear how it works |
| 2021-08-14 20:04:41 | <maerwald[m]> | From an implementation perspective, stack code is easier to understand than cabal-install imo. That, imo, also explains the lack of maintainers |
| 2021-08-14 20:05:00 | <sclv> | this is really the full interaction: https://github.com/haskell/cabal/blob/00a2351789a460700a2567eb5ecc42cca0af913f/cabal-install/cabal-install-solver/src/Distribution/Solver/Modular/Validate.hs#L410 |
| 2021-08-14 20:05:13 | <sclv> | its blindingly clear |
| 2021-08-14 20:05:43 | <sclv> | if you're in a branch of the search tree that requires a package be available in pkgconfig and that fails, then fail the branch and backtrack |
| 2021-08-14 20:05:54 | <sclv> | that's it |
| 2021-08-14 20:06:01 | × | juhp quits (~juhp@128.106.188.220) (Ping timeout: 268 seconds) |
| 2021-08-14 20:06:12 | <sclv> | everything else is just plumbing |
| 2021-08-14 20:06:31 | <sclv> | also what happened is cabal had some core maintainers step away, is all |
| 2021-08-14 20:06:42 | <sclv> | at the moment it has some enthusiastic new ones, and there's plenty of contributing volunteers |
| 2021-08-14 20:06:58 | <sclv> | this "x code is harder than y code to understand" stuff is usually bogus in my experience |
| 2021-08-14 20:07:05 | <sclv> | the harder code to understand is the code you've worked with less |
| 2021-08-14 20:07:39 | → | juhp joins (~juhp@128.106.188.220) |
| 2021-08-14 20:07:44 | <maerwald[m]> | I hacked on both and that's my experience |
| 2021-08-14 20:08:20 | <maerwald[m]> | Definitely didn't work more on stack :) |
| 2021-08-14 20:08:22 | <sclv> | in my experience, a few things in cabal are hard, like the flag/config passing is overcomplicated |
| 2021-08-14 20:08:31 | <sclv> | plenty of other things are pretty modular and easy |
| 2021-08-14 20:08:52 | <sclv> | the solver took a minute to get used to, but once i got it, i thought it was very well engineered |
| 2021-08-14 20:09:47 | <sclv> | the general stuff with what level options act at and how they get threaded thru to different programs is as a whole a Big hard problem thats not fully there, and v2 made it even harder, because there's so many different variants |
| 2021-08-14 20:10:04 | <sclv> | since at different parts of the plan, you can potentially have different options being used for the same package, etc |
| 2021-08-14 20:10:54 | × | derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2) |
| 2021-08-14 20:10:55 | <dsal> | Is 'protofunctor' an actual thing? I'm looking and I find profunctor descriptions and what looks like might be typos or Mandela effects or something. |
| 2021-08-14 20:11:30 | <maerwald[m]> | You seem to agree with my original statement that cabal is not simple :p |
| 2021-08-14 20:11:34 | amesgen[m] | is now known as amesgen |
| 2021-08-14 20:11:40 | <sclv> | Cabal the library is simple |
| 2021-08-14 20:11:46 | <sclv> | cabal-install is not much harder than it needs to be, imho |
| 2021-08-14 20:11:55 | <maerwald[m]> | Yes |
| 2021-08-14 20:11:57 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2021-08-14 20:12:05 | <maerwald[m]> | Well, I think it is |
| 2021-08-14 20:12:09 | <sclv> | with the exception of the args parsing, which is not so much complex, as just "stupidly verbose" |
| 2021-08-14 20:13:05 | <maerwald[m]> | But I'm glad people are working on it |
| 2021-08-14 20:13:10 | <sclv> | dsal: a protofunctor should be a morphism between protocategories |
| 2021-08-14 20:13:15 | <sclv> | https://ncatlab.org/nlab/show/protocategory |
| 2021-08-14 20:13:28 | <sclv> | but i think that's going to be obscure and almost never what someone means |
| 2021-08-14 20:15:27 | <dsal> | That might be too deep in category theory for me. I'm going to assume people generally mean profunctor but want more syllables. |
| 2021-08-14 20:15:28 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-08-14 20:15:41 | <monochrom> | :) |
| 2021-08-14 20:16:03 | amesgen | is now known as amesgen[m] |
| 2021-08-14 20:18:16 | → | wonko joins (~wjc@62.115.229.50) |
| 2021-08-14 20:18:37 | <sm> | supersubprotofunctorialoid |
| 2021-08-14 20:21:12 | <hpc> | zygohistomorphic prepromorphism? |
| 2021-08-14 20:23:18 | <dsal> | Now that one's just made up. |
| 2021-08-14 20:23:46 | × | dcompoze quits (~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: WeeChat 3.2) |
| 2021-08-14 20:25:35 | <hpc> | https://wiki.haskell.org/Zygohistomorphic_prepromorphisms |
| 2021-08-14 20:25:55 | <aarchi> | tomsmeding: Good to know that ghcup has GHC 7. I've modified the Whitespace interpreter to build on latest GHC and that's been my testing version so far, but I want to test the version as intended by the Whitespace authors using the same GHC version |
| 2021-08-14 20:27:16 | <int-e> | . o O ( "Most readers get as far as the zygohistomorphic prepromorphism giving up, and in fact in later editions of the book all the pages beyond this point have been left blank to save on printing costs." ) |
| 2021-08-14 20:27:26 | <int-e> | +before |
| 2021-08-14 20:27:34 | <hololeap> | to be fair, I think edwardk made that up as a joke |
| 2021-08-14 20:28:13 | → | derelict joins (~derelict@user/derelict) |
| 2021-08-14 20:28:59 | <int-e> | I've got to hand it to Douglas Adams though, "Future Semi-Conditionally Modified Subinverted Plagal Past Subjunctive Intentional" sounds more impressive than "zygohistomorphic prepromorphism". |
| 2021-08-14 20:29:54 | <hpc> | it's definitely better than physics' "let's name it after me" |
| 2021-08-14 20:30:27 | <aarchi> | Do any of you know when UTF-8 support was added to readFile, getLine, getChar, putChar, and putStr from System.IO? |
| 2021-08-14 20:30:52 | <Hecate> | aarchi: no idea |
| 2021-08-14 20:31:36 | <hololeap> | aarchi: are you trying to set a minimum bound on a "base" dependency? |
| 2021-08-14 20:32:06 | → | jgeerds joins (~jgeerds@55d45555.access.ecotel.net) |
| 2021-08-14 20:32:06 | → | burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-08-14 20:32:45 | <aarchi> | No, I'm writing a spec for the Whitespace programming language, based on the reference interpreter that was written in Haskell in 2004. I want a scope for how different GHC 5.02 is from current GHC |
| 2021-08-14 20:33:56 | <Hecate> | aarchi: utterly differenct |
| 2021-08-14 20:33:56 | <geekosaur> | late 6.x but I couldn't tell you exactly when |
| 2021-08-14 20:33:59 | <Hecate> | *-c |
| 2021-08-14 20:34:00 | <hololeap> | my uneducated guess is that it will run just as well on modern GHC as it did back in 2004 |
| 2021-08-14 20:34:49 | <int-e> | https://downloads.haskell.org/~ghc/6.12.1/docs/html/users_guide/release-6-12-1.html " Handle IO now supports automatic character set encoding and newline translation. For more information, see the "Unicode encoding/decoding" and "Newline conversion" sections in the System.IO haddock docs." |
| 2021-08-14 20:36:08 | <aarchi> | int-e: thanks |
| 2021-08-14 20:36:10 | × | burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 2021-08-14 20:36:38 | <aarchi> | Before 6.12.1, IO would only accept ASCII? |
| 2021-08-14 20:36:44 | → | burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-08-14 20:36:55 | <geekosaur> | iso8859-1 |
| 2021-08-14 20:37:00 | <int-e> | it was byte-based (so basically ISO-8859-1) |
| 2021-08-14 20:37:32 | × | fendor quits (~fendor@178.165.196.92.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-08-14 20:37:35 | <int-e> | good times ;-) |
| 2021-08-14 20:37:36 | <aarchi> | I presume that nothing would have caused encoding errors then |
| 2021-08-14 20:37:53 | <int-e> | (not really, but the transition period was pretty nasty) |
| 2021-08-14 20:38:07 | <int-e> | aarchi: right |
| 2021-08-14 20:38:33 | <int-e> | not even on writing, IIRC; codepoints would just be truncated to their least significant 8 bits |
| 2021-08-14 20:39:23 | <sm> | ah! happy error-free days! |
All times are in UTC.