Giter Site home page Giter Site logo

Function currying about amd-utils HOT 4 CLOSED

jeffrose avatar jeffrose commented on June 20, 2024
Function currying

from amd-utils.

Comments (4)

millermedeiros avatar millermedeiros commented on June 20, 2024

function/bind can be used for currying, the only difference is that it allows setting the context (this value). addTen = bind(add, this, 10). Do you think we should add a new method?

from amd-utils.

jeffrose avatar jeffrose commented on June 20, 2024

I saw bind but completely overlooked the fact it passed in arguments. That being the case, adding curry is more about convenience and syntax than adding real functionality. In fact I assume it would end up being implemented using bind.

There might be an argument that adding curry falls under the "be clear" goal since it could be argued that...

var addTen = curry( add, 10 );

... is more clear than...

var addTen = bind( add, this, 10 );

... but I don't feel that strongly about it because I think it is also reasonable to keep the API concise.

from amd-utils.

millermedeiros avatar millermedeiros commented on June 20, 2024

uhm, I think we should add it. specially since with curry we would be able to change the context (this) during invocation (with bind that isn't possible).

from amd-utils.

jeffrose avatar jeffrose commented on June 20, 2024

I had not thought of that. I think that's a much better argument for adding it than simply being clear.

from amd-utils.

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.