Enter Your Email Address to Watch This Lesson

Your link to unlock this lesson will be sent to this email address.

Unlock this lesson and all 828 of the free egghead.io lessons, plus get JavaScript content delivered directly to your inbox!



Existing egghead members will not see this. Sign in.

Just one more step!

Check your inbox for an email from us and click link to unlock your lesson.



Applicative Functors for multiple arguments

4:42 JavaScript lesson by

Working our way backwards from solution to problem, we define an applicative functor, then use it to apply a function of multiple arguments.

Get the Code Now
click to level up

egghead.io comment guidelines

Avatar
egghead.io

Working our way backwards from solution to problem, we define an applicative functor, then use it to apply a function of multiple arguments.

Avatar
Bartosz

I've found slightly different signature of lift over the internet here.

The most 'confusing' part is not a signature of lift itself as its only matter of currying here, but the more interesting question comes when looking at the signature of lifted function. Yours comes uncurried and the other one is curried.

I'm struggling with the concept itself and would like to debug this to the atoms (and gonna do this with both approaches), just wondering about your opinion on the matter. I guess the form of those is not really that much relevant as its the idea which matters.

OTOH I see the whole functional programming as the universal contract on the ideas between languages and in that case it matters which one is more 'correct'.

Avatar
Brian Lonsdorf

Good observation for sure. I think currying should be done all or nothing. It's confusing to me without type signatures if some functions are curried and others aren't. Ramda subscribes wholesale which is intuitive. I think we should go all one or the other in a single codebase

In reply to Bartosz
HEY, QUICK QUESTION!
Joel's Head
Why are we asking?