Hardcore Functional Programming in JavaScript, v2

# Partial Application vs Currying

## Brian Lonsdorf

Salesforce

### Check out a free preview of the full Hardcore Functional Programming in JavaScript, v2 course

The "Partial Application vs Currying" Lesson is part of the full, Hardcore Functional Programming in JavaScript, v2 course featured in this preview video. Here's what you'd learn in this lesson:

Brian explains that partial application and curried functions are dual functions. Partial application only uses one of its arguments, a curried function uses one argument at a time. The two functions have the same effect, but are written differently.

Preview
Close

### Transcript from the "Partial Application vs Currying" Lesson

[00:00:00]
>> The other thing is, I should mention there's a slight difference between what we call a partial application, which is giving a function some of its arguments versus a curried function which expects one argument at a time. And those lines kind of blur. So in a way they're kind of dual of each other, where I say filter, I've defined as a curried function that will take one argument at a time.

[00:00:25]
If I never defined it up front as a curried function, there's a way to call filter inline with this thing called partial. And then you can give it some of its arguments and it'll kind of allow you to call uncurried functions at the time with a partial application.

[00:00:43]
We're not gonna get too into the details of that. We're just gonna stick with currying through and through. But partial application has the same effect. It's just the different, it's at the caller not the definition. Okay, I'm throwing a lot at you right now. As we go through the class, you'll be using currying a little bit more and you'll get more comfortable with it.

[00:01:03]
I'm not gonna talk about partial application or flip or pairs or isomorphism. So I just wanted to kind of lead up to why this is mathematical and why it's practical. And hopefully you can gather why it's practical with things like these functions. So this is the code pen.

[00:01:19]
Let me know if you have any issues getting to it.

### Learn Straight from the Experts Who Shape the Modern Web

• In-depth Courses