{"action":"created","issue":{"url":"https://api.github.com/repos/ramda/ramda/issues/732","labels_url":"https://api.github.com/repos/ramda/ramda/issues/732/labels{/name}","comments_url":"https://api.github.com/repos/ramda/ramda/issues/732/comments","events_url":"https://api.github.com/repos/ramda/ramda/issues/732/events","html_url":"https://github.com/ramda/ramda/issues/732","id":54652248,"number":732,"title":"Switch to the correct implementation of the `curry` function.","user":{"login":"aaditmshah","id":813511,"avatar_url":"https://avatars.githubusercontent.com/u/813511?v=3","gravatar_id":"","url":"https://api.github.com/users/aaditmshah","html_url":"https://github.com/aaditmshah","followers_url":"https://api.github.com/users/aaditmshah/followers","following_url":"https://api.github.com/users/aaditmshah/following{/other_user}","gists_url":"https://api.github.com/users/aaditmshah/gists{/gist_id}","starred_url":"https://api.github.com/users/aaditmshah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaditmshah/subscriptions","organizations_url":"https://api.github.com/users/aaditmshah/orgs","repos_url":"https://api.github.com/users/aaditmshah/repos","events_url":"https://api.github.com/users/aaditmshah/events{/privacy}","received_events_url":"https://api.github.com/users/aaditmshah/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2015-01-17T06:09:59Z","updated_at":"2015-01-18T17:01:45Z","closed_at":null,"body":"I recently wrote a question and an answer on StackOverflow illustrating how the current implementations of the `curry` function are wrong:\r\n\r\n[How to correctly curry a function in JavaScript?](http://stackoverflow.com/q/27996544/783743)\r\n\r\nPlease switch to the correct implementation of the `curry` function."},"comment":{"url":"https://api.github.com/repos/ramda/ramda/issues/comments/70415923","html_url":"https://github.com/ramda/ramda/issues/732#issuecomment-70415923","issue_url":"https://api.github.com/repos/ramda/ramda/issues/732","id":70415923,"user":{"login":"CrossEye","id":151263,"avatar_url":"https://avatars.githubusercontent.com/u/151263?v=3","gravatar_id":"","url":"https://api.github.com/users/CrossEye","html_url":"https://github.com/CrossEye","followers_url":"https://api.github.com/users/CrossEye/followers","following_url":"https://api.github.com/users/CrossEye/following{/other_user}","gists_url":"https://api.github.com/users/CrossEye/gists{/gist_id}","starred_url":"https://api.github.com/users/CrossEye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CrossEye/subscriptions","organizations_url":"https://api.github.com/users/CrossEye/orgs","repos_url":"https://api.github.com/users/CrossEye/repos","events_url":"https://api.github.com/users/CrossEye/events{/privacy}","received_events_url":"https://api.github.com/users/CrossEye/received_events","type":"User","site_admin":false},"created_at":"2015-01-18T17:01:45Z","updated_at":"2015-01-18T17:01:45Z","body":"In my previous comment, I said that it was a problem that `compose(length, filter)` wasn't automatically curried.  But sleeping on this made me realize that I wasn't so sure.  It's easy enough to do if the functions to compose are not variadic, but when they are, we run into issues.  I looked at the logs and realized I'd argued the other side of this in #485.\r\n\r\nI think we are still best off if we simply return a simple function here and let the user call `curry` on it if desired:\r\n\r\n    var countWhere = curry(compose(length, filter));\r\n\r\n@aaditmshah: You're presenting arguments that seem to be based on users working in the style you prefer (no variadic functions, for instance.)  How do you reconcile this with what is supposed to be a general-purpose library, opinionated to be sure, but not one meant to be prescriptive?  Should the library only support users supplying fixed-arity functions?"}}