Comments (1)
v1.0.0 was released 900 days ago; v4.0.0 was released yesterday. 300 or so days per major release.
v2.0.0 and v3.0.0 both included breaking changes to the specification, making v4.0.0 an anomaly.
When we add a type class to the specification, we also want to update index.js and index.d.ts. Were these files to live in another repository we would need to submit and merge a pull request here, then publish this “package”, then submit and merge a pull request there, then publish that package.
Now that the fantasy-land package comprises only a trivial JavaScript file, a trivial TypeScript file, a licence file, and a readme, I find it hard to imagine another change which would necessitate a major release without any breaking changes to the specification. Can you think of one?
Even if we publish an “unnecessary” major release every few years, library authors can simply update their documentation to refer to the new version. The existence of ADT libraries which are compatible with versions n and n − 1 of the specification simultaneously is less confusing than having two related packages with different version numbers.
Finally, I argue that we shouldn't refer to “Fantasy Land 3” when describing compatibility. Does this mean 3.0, 3.1, 3.2, 3.3, 3.4, or 3.5? We should make this clear. If we do so, major releases are no more disruptive than minor releases as far as the documentation of ADT libraries is concerned.
from fantasy-land.
Related Issues (20)
- Why is the class/constructor required as a parameter for `traverse` (or sequence)? HOT 7
- [Question] Type signature for ap HOT 2
- Adding Folktale to implementations.md
- Equivalent for Serial typeclass? HOT 1
- Is really necessary specify "No parts of <...> value should be checked"? HOT 11
- Add Traversable1 HOT 3
- Help understanding use of identity in Traversable laws HOT 2
- Switch to Symbols HOT 2
- Wrong argument in Traversable HOT 4
- Is monet.js compatible? HOT 1
- Why FL specifies the ChainRec typeclass when there is the trampoline monad? HOT 7
- What does "and" mean? HOT 2
- Can someone explain me how I should understand Semigroup? HOT 5
- Remove all OOP features HOT 21
- Traversable and Foldable use multiple variables as arguments HOT 12
- Profunctor should require Contravariant HOT 10
- Implementation of `Compose` is confusing HOT 3
- should Chain properties depends on fantasy-land/ap (and possibly .map)? HOT 4
- Why putting "fantasy-land/" before everything in readme? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fantasy-land.