Comments (10)
The diagram in the readme indicates the dependencies that exist between algebra in the specification. Your diagram suggests we should add new dependencies to the specification. Please explain why this would be beneficial.
from fantasy-land.
The diagram in the readme indicates the dependencies that exist between algebra in the specification
No, it is not.
- А Functor does not exist on its own. It can only be covariant or contravariant. Therefore, the Functor and Contravariant are entities of different order.
- Profunctor must implements both Covariant and Contravariant at the same time
from fantasy-land.
You realize that this is open source, right? You're free to fork it and change your fork as you will, or to create your own. You are also free to create your own specification from scratch. If you feel strongly about it, you can then try to convince all those implementing these specs that your own are better and that they should switch.
While you're at it, you should probably edit the Wikipedia page on Functors to match your definition and convince the maintainers of languages such as Haskell, Scala, and Clojure to change their specifications to match.
Alternatively, you can simply stop trolling.
from fantasy-land.
The Fantasy Land Functor is short for "Covariant Functor"
Profunctor is super useful and I don't think it's specified, that's the only difference to the diagram that I can see.
from fantasy-land.
Profunctor is super useful and I don't think it's specified, that's the only difference to the diagram that I can see.
Actually, Profunctor is specified. 🎉
Profunctor must implements both Covariant and Contravariant at the same time
Profunctor currently requires Functor but not Contravariant.
@Ne4to777, please explain why Profunctor should require Contravariant in addition to Functor. We will certainly consider changing the specification if presented with a compelling reason to do so. :)
from fantasy-land.
Alternatively, you can simply stop trolling.
@CrossEye ,
Who else is trolling?)
- Situation: There are 14 competing standards
- fourteen? Absurd! We need to develop one universal standard for all occasions!
- Situation: There are 15 competing standards
from fantasy-land.
The Fantasy Land Functor is short for "Covariant Functor"
This is the question why the derivatives of a covariant functor cannot be derivatives of a contravariant functor? For example contravariant monads.
Profunctor is super useful and I don't think it's specified, that's the only difference to the diagram that I can see.
and it implements the contravariant functor with the second argument
from fantasy-land.
@Ne4to777, please explain why Profunctor should require Contravariant in addition to Functor. We will certainly consider changing the specification if presented with a compelling reason to do so. :)
because:
- nothing prevents derivatives (like Chain or Monad) from being used together with a contravariant functor
- The profunctor implements a contravariant functor as its second argument
from fantasy-land.
I have updated this issue's title to reflect the change @Ne4to777 is proposing.
@fantasyland/core, what do you think of the proposal?
from fantasy-land.
@davidchambers , aliasing Covariant to Functor is a bad idea too. Especially since we already have an abstract entity - a monad
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
- Fantasy Land specification version number HOT 1
- 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
- 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.