From 71124334693edc2ba2741280ad2ab8dd5af3b8fc Mon Sep 17 00:00:00 2001 From: "alexandr.pavletsov" Date: Fri, 6 Dec 2019 08:53:06 +0500 Subject: [PATCH 1/4] Lab 1 done --- Exercises/1-seq.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Exercises/1-seq.js b/Exercises/1-seq.js index bdf0fe8..90116cb 100644 --- a/Exercises/1-seq.js +++ b/Exercises/1-seq.js @@ -1,5 +1,5 @@ 'use strict'; -const seq = f => g => x => 0; +const seq = f => g => x => ((!isNaN(x)) ? f(g(x)) : seq(i => f(g(i)))(x)); module.exports = { seq }; From 02c94857522dec716b56ee5dab63c0a0e25c18f8 Mon Sep 17 00:00:00 2001 From: "alexandr.pavletsov" Date: Fri, 6 Dec 2019 09:17:56 +0500 Subject: [PATCH 2/4] Spied right ... according to exercise --- Exercises/1-seq.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Exercises/1-seq.js b/Exercises/1-seq.js index 90116cb..2319d96 100644 --- a/Exercises/1-seq.js +++ b/Exercises/1-seq.js @@ -1,5 +1,7 @@ 'use strict'; -const seq = f => g => x => ((!isNaN(x)) ? f(g(x)) : seq(i => f(g(i)))(x)); +const seq = (...f) => a => (!isNaN(a) ? + f.reduce((v, fn) => fn(v), a) : + seq(a, ...f)); module.exports = { seq }; From 7b08e23ebe62a16d8010a8dd238ee52ab3e7477f Mon Sep 17 00:00:00 2001 From: "alexandr.pavletsov" Date: Mon, 9 Dec 2019 16:55:39 +0500 Subject: [PATCH 3/4] use typeof and recursion --- Exercises/1-seq.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Exercises/1-seq.js b/Exercises/1-seq.js index 2319d96..f29e743 100644 --- a/Exercises/1-seq.js +++ b/Exercises/1-seq.js @@ -1,7 +1,7 @@ 'use strict'; -const seq = (...f) => a => (!isNaN(a) ? - f.reduce((v, fn) => fn(v), a) : - seq(a, ...f)); +const seq = f => g => x => ((typeof x === 'number') ? + f(g(x)) : + seq(i => f(g(i)))(x)); module.exports = { seq }; From 4d2e1d07ec9e0397a785d8c8d3d8c9a4803abffd Mon Sep 17 00:00:00 2001 From: "alexandr.pavletsov" Date: Tue, 10 Dec 2019 22:43:53 +0500 Subject: [PATCH 4/4] one line --- Exercises/1-seq.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Exercises/1-seq.js b/Exercises/1-seq.js index f29e743..24de101 100644 --- a/Exercises/1-seq.js +++ b/Exercises/1-seq.js @@ -1,7 +1,5 @@ 'use strict'; -const seq = f => g => x => ((typeof x === 'number') ? - f(g(x)) : - seq(i => f(g(i)))(x)); +const seq = f => g => x => (typeof x === 'number' ? f(g(x)) : seq(i => f(g(i)))(x)); module.exports = { seq };