briancavalier / creed

Sophisticated and functionally-minded async with advanced features: coroutines, promises, ES2015 iterables, fantasy-land
https://briancavalier.github.io/creed
MIT License
273 stars 20 forks source link

Update ap to Fantasy Land 1.0 #85

Closed briancavalier closed 7 years ago

briancavalier commented 7 years ago

⚠️ BREAKING CHANGE ⚠️

This reverses the "argument" order for ap to be compliant with the same reversal in Fantasy Land 1.0. This will force a 2.0.0 release.

coveralls commented 7 years ago

Coverage Status

Coverage remained the same at 100.0% when pulling 99912a4a913a98bae3a906f20971cee365c8b222 on update-ap-fl-1.0 into a006e6e1fcaedfd92bb853c6b29d0d05bbfd74cf on master.

bergus commented 7 years ago

I have to admit that I liked ap much better the way it was before. Maybe we update to FL2.0 right away, and offer only the prefixed method with the inverted parameter order?

briancavalier commented 7 years ago

I have to admit that I liked ap much better the way it was before.

Same here :+1:

Maybe we update to FL2.0 right away, and offer only the prefixed method with the inverted parameter order?

Ah, that's an interesting possibility! Can you think of any potential repercussions on usability, like users assuming the non-prefixed ap will work like the FL spec?

evilsoft commented 7 years ago

Just a heads up about dem prefixes.

They were required in FL1.0, when the change to ap ( 😢 ) was introduced. This will become important in the community if PRs like this one happen in all other FL interop libs

Notice that it will not call the none prefixed version. This will create havoc for anyone that is using Ramda for point-free madness on any algebra in creed (or any other FL lib for that matter).

And according to the comments on that PR, looks like all but one are in favor of cutting the cord.

evilsoft commented 7 years ago

I have to admit that I liked ap much better the way it was before.

Amen to that!!! 👍

briancavalier commented 7 years ago

Hey @evilsoft. Thanks for the additional info.

Based on all of that, I'm feeling very much in favor of @bergus' idea of keeping .ap as it was before this PR, and simply adding all of the namespaced FL 2.0 methods that creed supports (they can simply delegate to the non-namespaces versions). That could be released as a minor version bump. If the .ap vs ['fantasy-land/ap'] difference ends up being confusing for people, we can discuss how to handle it at that point.

How does that sound?

briancavalier commented 7 years ago

Closing in favor of #86