Logs: liberachat/#haskell
| 2021-07-09 20:56:59 | <davean> | (base being tied to GHC is a GHC-ism specificly) |
| 2021-07-09 20:57:08 | <ghais> | davean, i was trying to relay my experience as a new comer, and why it is not trivial to connect all the pieces together without a little bit of abuse |
| 2021-07-09 20:57:40 | → | acidjnk_new joins (~acidjnk@p200300d0c72b9550509afe7c5cdd8ef5.dip0.t-ipconnect.de) |
| 2021-07-09 20:57:45 | <davean> | ghais: right, and I'm trying to figure out what you're saying specificly |
| 2021-07-09 20:58:00 | <ghais> | davean, yeah this is clear to me and makes sense. What i didnt realize is that stack on the other hand created a config for me that had more base versions than the one the resolver supported. |
| 2021-07-09 20:58:06 | <davean> | I think part of the confusion is "the way things are" vs "the way things can be" |
| 2021-07-09 20:58:12 | <sm> | I think the general point is obviously correct |
| 2021-07-09 20:58:15 | <sm> | ghais it's a well known problem. It's hard to change, and hard (costly) even to document |
| 2021-07-09 20:58:16 | <davean> | Ah, yes, I see |
| 2021-07-09 20:58:36 | <sclv> | so the command here for doc creation/upload is incorrect? https://hackage.haskell.org/upload |
| 2021-07-09 20:58:41 | <davean> | ghais: I didn't realize it would create an open base bound - do you happen to have which bound it used? |
| 2021-07-09 20:59:03 | <ghais> | sclv, gzip didn't work for me |
| 2021-07-09 20:59:23 | <sclv> | or ah we don’t show the command on the doc upload pge? |
| 2021-07-09 20:59:26 | <sclv> | hrm |
| 2021-07-09 20:59:44 | <ghais> | on the doc upload page there are no instructions |
| 2021-07-09 21:00:00 | <sclv> | right so we should put those there, assuming they work! |
| 2021-07-09 21:00:10 | <ghais> | stack sdist, produces a package that can be immediately uploaded (it is a tar.gz) |
| 2021-07-09 21:00:19 | <ghais> | however the documentation upload cannot be gzipped it seems |
| 2021-07-09 21:01:14 | <ghais> | also since i use stack, the command example at the end of the page doesn't work, because my locally installed GHC version is different than the one i needed to build |
| 2021-07-09 21:01:24 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds) |
| 2021-07-09 21:01:57 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 2021-07-09 21:02:12 | <davean> | Use stack's ghc then with cabal |
| 2021-07-09 21:02:28 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-09 21:03:13 | <ghais> | right, so stack haddock produced a folder. That i had to tar --format=ustar |
| 2021-07-09 21:03:21 | <ghais> | otherwise i cannot upload the documentation |
| 2021-07-09 21:04:29 | <ghais> | Sorry if it comes like i am complaining, truth is I am not |
| 2021-07-09 21:04:41 | <ghais> | just relaying my experience and I am happy to help improve things in any way i can |
| 2021-07-09 21:04:47 | <davean> | ghais: you can use "-w" to specify which ghc to use with cabal |
| 2021-07-09 21:04:52 | <davean> | BTW |
| 2021-07-09 21:05:02 | <ghais> | davean, i didn't know that. I appreciate that |
| 2021-07-09 21:05:38 | <davean> | I'd still be curious what base bound you ended up with |
| 2021-07-09 21:06:06 | <ghais> | base >= 4.11.0 && < 5 |
| 2021-07-09 21:06:17 | <davean> | wow, really? |
| 2021-07-09 21:06:35 | <davean> | I have no idea the logic behind that |
| 2021-07-09 21:06:54 | <davean> | I see people do the < 5 thing occasionally, I guess now I know where it comes from! |
| 2021-07-09 21:07:17 | <monochrom> | dons used "< 10". :) |
| 2021-07-09 21:07:37 | <davean> | (base often changes with breaking changes in the second digit, as would align with the PVP) |
| 2021-07-09 21:07:48 | <davean> | (so < 5 is clearly an insane choice) |
| 2021-07-09 21:07:56 | <ghais> | this comes from stack |
| 2021-07-09 21:08:06 | <davean> | ghais: sure |
| 2021-07-09 21:08:11 | <ghais> | if you do a "stack new X" you get: |
| 2021-07-09 21:08:12 | <ghais> | build-depends: |
| 2021-07-09 21:08:12 | <ghais> | base >=4.7 && <5 |
| 2021-07-09 21:08:17 | <davean> | I think I directly ackowleged it came from stack? |
| 2021-07-09 21:08:26 | <davean> | "21:06:53 davean I see people do the < 5 thing occasionally, I guess now I know where it comes from!" |
| 2021-07-09 21:08:55 | <ghais> | davean, i am not very good with implicit hints |
| 2021-07-09 21:08:58 | <ghais> | :D |
| 2021-07-09 21:09:11 | <monochrom> | "< 5" is or is not insane depending on how much of base you actually use. |
| 2021-07-09 21:09:20 | <sm> | it predates stack for sure |
| 2021-07-09 21:09:25 | <davean> | monochrom: I mean, prelude has broken that a lot |
| 2021-07-09 21:09:38 | <davean> | monochrom: You'd have to use almost no part of base for that to not have broken you in the last few years |
| 2021-07-09 21:09:53 | <sm> | it's an idiom that looks familiar and is simple, so it has stuck |
| 2021-07-09 21:10:15 | → | yauhsien joins (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
| 2021-07-09 21:10:35 | <davean> | sm: Hum, wouldn't it be more sensible to but no upper bound? |
| 2021-07-09 21:10:37 | <monochrom> | base is so large that you can use only 0.1% of it, and if you do, the probability that a difference between 4.11 and 4.12 actually affects you is 0.1%. At this rate one wouldn't care. |
| 2021-07-09 21:10:57 | <sm> | perhaps back then base made larger version number jumps |
| 2021-07-09 21:11:08 | <davean> | monochrom: I mean the core type classes change - what you say is correct, but people reliably use the same 0.1% and thats where changes happen |
| 2021-07-09 21:11:43 | <davean> | (Probably because people use them?) |
| 2021-07-09 21:12:02 | <davean> | sm: hum, it predates stack? Interesting |
| 2021-07-09 21:12:17 | <sclv> | hackage requires a base upper bound to upload |
| 2021-07-09 21:12:34 | × | nschoe quits (~quassel@2a01:e0a:8e:a190:af88:6c9:cc87:d82a) (Ping timeout: 240 seconds) |
| 2021-07-09 21:12:57 | <sclv> | stack devs don’t like bounds, so they put in a useless bound to check the box, sigh |
| 2021-07-09 21:13:09 | <davean> | It seems better to have no bound than a clearly wrong bound |
| 2021-07-09 21:13:16 | <sm> | I'm sure you are being uncharitable there |
| 2021-07-09 21:13:18 | <davean> | Is there a hacakge ticket about this? |
| 2021-07-09 21:13:29 | <davean> | sm: which part? |
| 2021-07-09 21:13:35 | <sm> | (sclv) |
| 2021-07-09 21:13:57 | <monochrom> | A natural tug war may actually cancel out "it gets used more therefore it gets improved more" with "it gets used more therefore it dares not break backward compatibility". |
| 2021-07-09 21:14:16 | <davean> | monochrom: I mean look at the change log |
| 2021-07-09 21:15:08 | × | yauhsien quits (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 265 seconds) |
| 2021-07-09 21:15:57 | <davean> | monochrom: "Ix" stands out as being a bit unusual. I've wanted to use it but its got problems. So I'm unsure about its use rate |
| 2021-07-09 21:16:58 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving) |
| 2021-07-09 21:17:08 | <davean> | sm: I know there were first step bumps for some historic major rearrangements |
| 2021-07-09 21:17:40 | <monochrom> | Right, 3.x existed. |
| 2021-07-09 21:18:38 | <monochrom> | But 3.x may be before PVP, I forgot. |
| 2021-07-09 21:19:08 | <davean> | 4.0 was Nov 2008 |
| 2021-07-09 21:20:38 | <davean> | So well after PVP |
| 2021-07-09 21:22:23 | × | cuz quits (~user@38.140.58.234) (Ping timeout: 255 seconds) |
| 2021-07-09 21:24:18 | → | yauhsien joins (~yauhsien@118-167-64-241.dynamic-ip.hinet.net) |
| 2021-07-09 21:25:47 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2021-07-09 21:26:02 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2021-07-09 21:26:35 | <davean> | sclv: why does hackage have that base requirement? |
| 2021-07-09 21:27:06 | <davean> | Its unique vs. other packages |
| 2021-07-09 21:27:14 | → | MQ-17J joins (~MQ-17J@8.21.10.15) |
| 2021-07-09 21:27:29 | <sclv> | because base induced breakages were the most frequent iirc |
| 2021-07-09 21:27:59 | <monochrom> | Yikes, that contradicts my theory, heh. |
| 2021-07-09 21:28:18 | <davean> | It matches my experience updating packages I depend on |
| 2021-07-09 21:28:33 | <davean> | but, it doesn't make sense to make a more complicated, asymetric system because of that! |
| 2021-07-09 21:28:54 | × | yauhsien quits (~yauhsien@118-167-64-241.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 2021-07-09 21:29:09 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-07-09 21:29:12 | <maerwald> | it violates PVP |
| 2021-07-09 21:29:25 | <monochrom> | But I have now taken a look at the 4.15.0.0 changelog and the 4.14.0.0 changelog. For me, they don't break my code. Perhaps they are even strictly improvements to my code too, without needing me to change my code. |
| 2021-07-09 21:29:26 | <davean> | maerwald: base does? |
| 2021-07-09 21:29:26 | <maerwald> | PVP doesn't demand an upper bound |
| 2021-07-09 21:29:39 | <davean> | maerwald: yes |
| 2021-07-09 21:29:46 | <maerwald> | from a spec perspective, it's arbitrary |
| 2021-07-09 21:29:56 | <ghais> | what is PVP? |
| 2021-07-09 21:29:58 | <davean> | So who made the decision to enforce it on hackage and why? |
| 2021-07-09 21:30:10 | <davean> | ghais: Package Version Policy - its what definates the meaning of the parts of the version field |
| 2021-07-09 21:30:17 | <davean> | https://pvp.haskell.org/ |
All times are in UTC.