Skip to content

curry

curry<A, B, C>(f): (a) => (b) => C

Defined in: Composition/curry.ts:24

Converts a multi-argument function into a curried function. Supports 2, 3, or 4 argument functions. The inverse of uncurry.

A

B

C

(a, b) => C

(a) => (b) => C

const add = (a: number, b: number) => a + b;
const curriedAdd = curry(add);
curriedAdd(1)(2); // 3

// 3-argument function
const add3 = (a: number, b: number, c: number) => a + b + c;
const curriedAdd3 = curry(add3);
curriedAdd3(1)(2)(3); // 6

// Partial application
const addTen = curriedAdd(10);
addTen(5); // 15

uncurry for the inverse operation

curry<A, B, C, D>(f): (a) => (b) => (c) => D

Defined in: Composition/curry.ts:25

Converts a multi-argument function into a curried function. Supports 2, 3, or 4 argument functions. The inverse of uncurry.

A

B

C

D

(a, b, c) => D

(a) => (b) => (c) => D

const add = (a: number, b: number) => a + b;
const curriedAdd = curry(add);
curriedAdd(1)(2); // 3

// 3-argument function
const add3 = (a: number, b: number, c: number) => a + b + c;
const curriedAdd3 = curry(add3);
curriedAdd3(1)(2)(3); // 6

// Partial application
const addTen = curriedAdd(10);
addTen(5); // 15

uncurry for the inverse operation

curry<A, B, C, D, E>(f): (a) => (b) => (c) => (d) => E

Defined in: Composition/curry.ts:26

Converts a multi-argument function into a curried function. Supports 2, 3, or 4 argument functions. The inverse of uncurry.

A

B

C

D

E

(a, b, c, d) => E

(a) => (b) => (c) => (d) => E

const add = (a: number, b: number) => a + b;
const curriedAdd = curry(add);
curriedAdd(1)(2); // 3

// 3-argument function
const add3 = (a: number, b: number, c: number) => a + b + c;
const curriedAdd3 = curry(add3);
curriedAdd3(1)(2)(3); // 6

// Partial application
const addTen = curriedAdd(10);
addTen(5); // 15

uncurry for the inverse operation