From b40862aacb7c1db6473b4714e8c3657d36c4013b Mon Sep 17 00:00:00 2001 From: Ely De La Cruz <603428+elycruz@users.noreply.github.com> Date: Tue, 9 Aug 2022 10:36:27 -0400 Subject: [PATCH] issue-#57 - Progress on idiomatic curry - converted methods up to 'src/list/scanr1'. --- packages/fjl/src/list/scanl.ts | 5 +++-- packages/fjl/src/list/scanl1.ts | 4 ++-- packages/fjl/src/list/scanr.ts | 4 +++- packages/fjl/src/list/scanr1.ts | 3 ++- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/fjl/src/list/scanl.ts b/packages/fjl/src/list/scanl.ts index cfca43ba..9d1d8840 100644 --- a/packages/fjl/src/list/scanl.ts +++ b/packages/fjl/src/list/scanl.ts @@ -1,4 +1,3 @@ -import {curry} from "../function/curry"; import {length} from "./length"; import {Slice} from "../types"; @@ -32,4 +31,6 @@ export const return out; }, - $scanl = curry(scanl); + $scanl = (fn: ScanlOp) => + (zero: B) => + (xs: Slice): B[] => scanl(fn, zero, xs); diff --git a/packages/fjl/src/list/scanl1.ts b/packages/fjl/src/list/scanl1.ts index c786861a..0deb2c23 100644 --- a/packages/fjl/src/list/scanl1.ts +++ b/packages/fjl/src/list/scanl1.ts @@ -1,4 +1,3 @@ -import {curry} from "../function/curry"; import {scanl, ScanlOp} from "./scanl"; import {head} from "./head"; import {tail} from "./tail"; @@ -17,4 +16,5 @@ export const * `scanl1` is a variant of `scanl` that has no starting value argument: * `shallowCompare(scanl1(fn, [x1, x2, ...]), [x1, fn(x1, x2), ...]) // true` */ - $scanl1 = curry(scanl1); + $scanl1 = (fn: ScanlOp) => + (xs: Slice): T[] => scanl1(fn, xs); diff --git a/packages/fjl/src/list/scanr.ts b/packages/fjl/src/list/scanr.ts index 779d34a3..f5ba2f15 100644 --- a/packages/fjl/src/list/scanr.ts +++ b/packages/fjl/src/list/scanr.ts @@ -27,4 +27,6 @@ export const return out; }, - $scanr = curry(scanr); + $scanr = (fn: ScanrOp) => + (zero: B) => + (xs: Slice): B[] => scanr(fn, zero, xs); diff --git a/packages/fjl/src/list/scanr1.ts b/packages/fjl/src/list/scanr1.ts index 6eaa1235..8108a87d 100644 --- a/packages/fjl/src/list/scanr1.ts +++ b/packages/fjl/src/list/scanr1.ts @@ -16,4 +16,5 @@ export const return scanr(fn, last(xs), init(xs)); }, - $scanr1 = curry(scanr1); + $scanr1 = (fn: ScanrOp) => + (xs: Slice): T[] => scanr1(fn, xs);