purescript / purescript-typelevel-prelude

Types and kinds for basic type-level programming
BSD 3-Clause "New" or "Revised" License
63 stars 21 forks source link

make Homogeneous spelling consistent #27

Closed matthewleon closed 6 years ago

matthewleon commented 6 years ago

This is very picky, but I feel like it should probably be done now, while this is less than a week old, than sit until it becomes entrenched.

matthewleon commented 6 years ago

fwiw: http://grammarist.com/usage/homogenous-homogeneous/

hdgarrood commented 6 years ago

:+1: but since this is a breaking change, possibly best to wait until we're doing the next big round of breaking changes? Do we know how much stuff depends on this library?

matthewleon commented 6 years ago

My suspicion is that there is very little out there that is using the new Homogeneous stuff. In any case, if you increment the major version number to mark the breaking change, shouldn't the conventional bower format ensure that the dependent libs don't break?

hdgarrood commented 6 years ago

True, I guess we could release this as a breaking change and then update any dependent libraries to loosen the upper bounds. According to https://github.com/purescript/package-sets/blob/c375ba150ee53c4646b869804e2494ca26679dde/packages.json that's quickcheck, quickserve, simple-json, typelevel, and variant.

matthewleon commented 6 years ago

I see... Seems like either option here is unpleasant in some way or another. :(

hdgarrood commented 6 years ago

Only one of those is a core library though, and 5 downstream libraries is not very many, so that's actually not a bad option imo. What do other maintainers think?

kritzcreek commented 6 years ago

I'd say make a breaking release and bump deps in the other libraries. package-sets are a great tool to figure out what to bump. I think this might also be a good chance to see if we can build a bit of tooling around this?

hdgarrood commented 6 years ago

Around loosening upper bounds for downstream libraries, you mean?

kritzcreek commented 6 years ago

Also figuring out a linear order in which to bump versions and maybe even automatically make PRs which bump dependencies. If we have CI on these repos we can then just merge or intervene if compilation fails.

hdgarrood commented 6 years ago

Ah right, yeah, that would be nice. Also what kind of version bump do you think we should use for downstream libraries if they don't use the Homogeneous stuff, i.e. these changes don't actually mean anything for downstream libraries?

hdgarrood commented 6 years ago

Normally I'd just say 'patch' but the fact that you can implicitly depend on stuff transitively is perhaps a bit of a problem..?

kritzcreek commented 6 years ago

It needs to be major, since bumping the minor version on the downstream library would pull in the breaking change.

Edited.

paulyoung commented 6 years ago

I feel pretty bad about this 😕

I think I copied and pasted the suggestion to rename this from FieldOf and didn't realize that the spelling was different.

hdgarrood commented 6 years ago

@kRITZCREEK yeah, I suppose you're right. I'd really like to change this state of affairs, I think it makes this type of change much more difficult than it really needs to be.

matthewleon commented 6 years ago

Updated the instance spellings.

@paulyoung I don't think there's anything to feel too bad about. This kind of thing happens: https://en.wikipedia.org/wiki/HTTP_referer

matthewleon commented 6 years ago

Since there is a 0.12 branch where breaking things are being merged, does this perhaps belong in there?