Skip to content

uncurry

uncurry<C>(f): () => C

Defined in: Composition/uncurry.ts:27

Converts a curried function into a multi-argument function. Useful when you want to call a curried function with all arguments at once.

Handles functions with 0, 1, or 2 curried arguments.

C

() => () => C

() => C

// Thunks: () => () => C becomes () => C
const nested = () => () => 42;
uncurry(nested)(); // 42

// Original curried function
Maybe.map((n: number) => n * 2)(Maybe.make.some(5)); // Some(10)

// Uncurried - all arguments at once
const mapUncurried = uncurry(Maybe.map);
mapUncurried((n: number) => n * 2, Maybe.make.some(5)); // Some(10)

// Combined with flip for data-first uncurried
const mapDataFirst = uncurry(flip(Maybe.map));
mapDataFirst(Maybe.make.some(5), (n: number) => n * 2); // Some(10)

flip for reversing curried argument order

uncurry<A, C>(f): (a) => C

Defined in: Composition/uncurry.ts:28

Converts a curried function into a multi-argument function. Useful when you want to call a curried function with all arguments at once.

Handles functions with 0, 1, or 2 curried arguments.

A

C

(a) => () => C

(a) => C

// Thunks: () => () => C becomes () => C
const nested = () => () => 42;
uncurry(nested)(); // 42

// Original curried function
Maybe.map((n: number) => n * 2)(Maybe.make.some(5)); // Some(10)

// Uncurried - all arguments at once
const mapUncurried = uncurry(Maybe.map);
mapUncurried((n: number) => n * 2, Maybe.make.some(5)); // Some(10)

// Combined with flip for data-first uncurried
const mapDataFirst = uncurry(flip(Maybe.map));
mapDataFirst(Maybe.make.some(5), (n: number) => n * 2); // Some(10)

flip for reversing curried argument order

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

Defined in: Composition/uncurry.ts:29

Converts a curried function into a multi-argument function. Useful when you want to call a curried function with all arguments at once.

Handles functions with 0, 1, or 2 curried arguments.

A

B

C

D

E

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

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

// Thunks: () => () => C becomes () => C
const nested = () => () => 42;
uncurry(nested)(); // 42

// Original curried function
Maybe.map((n: number) => n * 2)(Maybe.make.some(5)); // Some(10)

// Uncurried - all arguments at once
const mapUncurried = uncurry(Maybe.map);
mapUncurried((n: number) => n * 2, Maybe.make.some(5)); // Some(10)

// Combined with flip for data-first uncurried
const mapDataFirst = uncurry(flip(Maybe.map));
mapDataFirst(Maybe.make.some(5), (n: number) => n * 2); // Some(10)

flip for reversing curried argument order

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

Defined in: Composition/uncurry.ts:30

Converts a curried function into a multi-argument function. Useful when you want to call a curried function with all arguments at once.

Handles functions with 0, 1, or 2 curried arguments.

A

B

C

D

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

(a, b, c) => D

// Thunks: () => () => C becomes () => C
const nested = () => () => 42;
uncurry(nested)(); // 42

// Original curried function
Maybe.map((n: number) => n * 2)(Maybe.make.some(5)); // Some(10)

// Uncurried - all arguments at once
const mapUncurried = uncurry(Maybe.map);
mapUncurried((n: number) => n * 2, Maybe.make.some(5)); // Some(10)

// Combined with flip for data-first uncurried
const mapDataFirst = uncurry(flip(Maybe.map));
mapDataFirst(Maybe.make.some(5), (n: number) => n * 2); // Some(10)

flip for reversing curried argument order

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

Defined in: Composition/uncurry.ts:31

Converts a curried function into a multi-argument function. Useful when you want to call a curried function with all arguments at once.

Handles functions with 0, 1, or 2 curried arguments.

A

B

C

(a) => (b) => C

(a, b) => C

// Thunks: () => () => C becomes () => C
const nested = () => () => 42;
uncurry(nested)(); // 42

// Original curried function
Maybe.map((n: number) => n * 2)(Maybe.make.some(5)); // Some(10)

// Uncurried - all arguments at once
const mapUncurried = uncurry(Maybe.map);
mapUncurried((n: number) => n * 2, Maybe.make.some(5)); // Some(10)

// Combined with flip for data-first uncurried
const mapDataFirst = uncurry(flip(Maybe.map));
mapDataFirst(Maybe.make.some(5), (n: number) => n * 2); // Some(10)

flip for reversing curried argument order