Code Monkey home page Code Monkey logo

Comments (10)

davidchambers avatar davidchambers commented on June 3, 2024

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.

Ne4to777 avatar Ne4to777 commented on June 3, 2024

The diagram in the readme indicates the dependencies that exist between algebra in the specification

No, it is not.

  1. А Functor does not exist on its own. It can only be covariant or contravariant. Therefore, the Functor and Contravariant are entities of different order.
  2. Profunctor must implements both Covariant and Contravariant at the same time

from fantasy-land.

CrossEye avatar CrossEye commented on June 3, 2024

@Ne4to777:

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.

puffnfresh avatar puffnfresh commented on June 3, 2024

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.

davidchambers avatar davidchambers commented on June 3, 2024

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.

Ne4to777 avatar Ne4to777 commented on June 3, 2024

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.

Ne4to777 avatar Ne4to777 commented on June 3, 2024

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 avatar Ne4to777 commented on June 3, 2024

@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:

  1. nothing prevents derivatives (like Chain or Monad) from being used together with a contravariant functor
  2. The profunctor implements a contravariant functor as its second argument

from fantasy-land.

davidchambers avatar davidchambers commented on June 3, 2024

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.

Ne4to777 avatar Ne4to777 commented on June 3, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.