From d8ac952dd86c1e890d8815226e846e5ec2e4fab1 Mon Sep 17 00:00:00 2001 From: rjmk Date: Sun, 21 Aug 2016 18:02:37 +0100 Subject: [PATCH 01/10] adds contravariant functor to spec --- README.md | 23 ++++++++++++++++++++++- index.js | 1 + laws/contravariant.js | 29 +++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 laws/contravariant.js diff --git a/README.md b/README.md index c6a55c8..cdae9d3 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,27 @@ method takes one argument: 2. `map` must return a value of the same Functor +### Contravariant Functor + +1. `u.contramap(a => a)` is equivalent to `u` (identity) +2. `u.contramap(x => f(g(x)))` is equivalent to `u.contramap(f).contramap(g)` +(composition) + +#### `contramap` method + +A value which has a Contravariant Functor must provide a `contramap` method. The +`contramap` method takes one argument: + + u.contramap(f) + +1. `f` must be a function, + + 1. If `f` is not a function, the behaviour of `contramap` is + unspecified. + 2. `f` can return any value. + +2. `contramap` must return a value of the same Functor + ### Apply A value that implements the Apply specification must also @@ -380,7 +401,7 @@ method takes two arguments: ### Profunctor A value that implements the Profunctor specification must also implement -the Functor specification. +the Functor and Contravariant Functor specifications. 1. `p.promap(a => a, b => b)` is equivalent to `p` (identity) 2. `p.promap(a => f(g(a)), b => h(i(b)))` is equivalent to `p.promap(f, i).promap(g, h)` (composition) diff --git a/index.js b/index.js index 1a2c90d..967bc6a 100644 --- a/index.js +++ b/index.js @@ -3,6 +3,7 @@ module.exports = { concat: 'concat', empty: 'empty', map: 'map', + contramap: 'contramap', ap: 'ap', of: 'of', reduce: 'reduce', diff --git a/laws/contravariant.js b/laws/contravariant.js new file mode 100644 index 0000000..ed71ec6 --- /dev/null +++ b/laws/contravariant.js @@ -0,0 +1,29 @@ +'use strict'; + +const {identity, compose} = require('fantasy-combinators'); +const {contramap} = require('..'); + +/* + +### Contravariant Functor + +1. `u.contramap(a => a)` is equivalent to `u` (identity) +2. `u.contramap(x => f(g(x)))` is equivalent to `u.contramap(f).contramap(g)` (composition) + +*/ + +const identityʹ = t => eq => x => { + const a = t(x)[contramap](identity); + const b = t(x); + return eq(a, b); +}; + +const composition = t => eq => x => { + const a = t(x)[contramap](compose(identity)(identity)); + const b = t(x)[contramap](identity)[contramap](identity); + return eq(a, b); +}; + +module.exports = { identity: identityʹ + , composition + }; From 7ba1e0c419402bf8b0ede39c921507104a887928 Mon Sep 17 00:00:00 2001 From: rjmk Date: Sun, 21 Aug 2016 18:29:58 +0100 Subject: [PATCH 02/10] adds to list of structures --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cdae9d3..96a6c30 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ structures: * [Semigroup](#semigroup) * [Monoid](#monoid) * [Functor](#functor) +* [Contravariant Functor](#contravariant-functor) * [Apply](#apply) * [Applicative](#applicative) * [Foldable](#foldable) From c796a4e2baa81f6a388ea558cd1fd98b60ccf84d Mon Sep 17 00:00:00 2001 From: rjmk Date: Tue, 6 Sep 2016 09:18:09 +0100 Subject: [PATCH 03/10] Adds type signature; removes contravariant dependency in profunctor --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a1373ee..23f9503 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,10 @@ method takes one argument: #### `contramap` method +```hs +contramap :: Contravariant f => f a ~> (b -> a) -> f b +``` + A value which has a Contravariant Functor must provide a `contramap` method. The `contramap` method takes one argument: @@ -481,7 +485,7 @@ method takes two arguments: ### Profunctor A value that implements the Profunctor specification must also implement -the Functor and Contravariant Functor specifications. +the Functor specification. 1. `p.promap(a => a, b => b)` is equivalent to `p` (identity) 2. `p.promap(a => f(g(a)), b => h(i(b)))` is equivalent to `p.promap(f, i).promap(g, h)` (composition) From 35f03efc833a04ac29101a95d39e72f6e0d89f54 Mon Sep 17 00:00:00 2001 From: rjmk Date: Sat, 12 Nov 2016 12:58:12 +0000 Subject: [PATCH 04/10] Fix linting errors --- laws/contravariant.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/laws/contravariant.js b/laws/contravariant.js index ed71ec6..ffcfb1a 100644 --- a/laws/contravariant.js +++ b/laws/contravariant.js @@ -13,17 +13,15 @@ const {contramap} = require('..'); */ const identityʹ = t => eq => x => { - const a = t(x)[contramap](identity); - const b = t(x); - return eq(a, b); + const a = t(x)[contramap](identity); + const b = t(x); + return eq(a, b); }; const composition = t => eq => x => { - const a = t(x)[contramap](compose(identity)(identity)); - const b = t(x)[contramap](identity)[contramap](identity); - return eq(a, b); + const a = t(x)[contramap](compose(identity)(identity)); + const b = t(x)[contramap](identity)[contramap](identity); + return eq(a, b); }; -module.exports = { identity: identityʹ - , composition - }; +module.exports = {identity: identityʹ, composition}; From d3dc80d7f777ce8f9bfe1a9128631e698e220024 Mon Sep 17 00:00:00 2001 From: rjmk Date: Mon, 14 Nov 2016 22:50:44 +0000 Subject: [PATCH 05/10] Update figures --- figures/dependencies.dot | 1 + figures/dependencies.png | Bin 36370 -> 36693 bytes 2 files changed, 1 insertion(+) diff --git a/figures/dependencies.dot b/figures/dependencies.dot index 6388d00..010194c 100644 --- a/figures/dependencies.dot +++ b/figures/dependencies.dot @@ -13,6 +13,7 @@ digraph { Extend; Foldable; Functor; + "Contravariant Functor"; Monad; Monoid; Plus; diff --git a/figures/dependencies.png b/figures/dependencies.png index 68f372f31b6f8294570609294faaf69a1f0d90ae..281ee3b8943bb69f0b792c4b8afea20ae12dbf69 100644 GIT binary patch literal 36693 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 literal 36370 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�wAKZD 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 E3mXOz`2YX_ From 2537d2851addc43069e4f6d0015d9481667e13d8 Mon Sep 17 00:00:00 2001 From: Rafe Date: Mon, 5 Dec 2016 23:29:42 +0000 Subject: [PATCH 06/10] Update height of img in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 324f6a1..c7f0cfc 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ (aka "Algebraic JavaScript Specification") - + This project specifies interoperability of common algebraic structures: From 162f45bc033d3b173bdd00004543b7895e2b67ae Mon Sep 17 00:00:00 2001 From: Rafe Date: Mon, 19 Dec 2016 13:33:42 +0000 Subject: [PATCH 07/10] Remove 'functor' from 'Contravariant' section name --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c7f0cfc..8388fb4 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ structures: * [Semigroup](#semigroup) * [Monoid](#monoid) * [Functor](#functor) -* [Contravariant Functor](#contravariant-functor) +* [Contravariant](#contravariant) * [Apply](#apply) * [Applicative](#applicative) * [Alt](#alt) @@ -187,7 +187,7 @@ method takes one argument: 2. `map` must return a value of the same Functor -### Contravariant Functor +### Contravariant 1. `u.contramap(a => a)` is equivalent to `u` (identity) 2. `u.contramap(x => f(g(x)))` is equivalent to `u.contramap(f).contramap(g)` @@ -199,7 +199,7 @@ method takes one argument: contramap :: Contravariant f => f a ~> (b -> a) -> f b ``` -A value which has a Contravariant Functor must provide a `contramap` method. The +A value which has a Contravariant must provide a `contramap` method. The `contramap` method takes one argument: u.contramap(f) From 0f39bb8da0c94d15282dabf1e23a12c7f6f93cce Mon Sep 17 00:00:00 2001 From: Rafe Date: Tue, 20 Dec 2016 12:49:20 +0000 Subject: [PATCH 08/10] Update algebra name in dependencies graph --- figures/dependencies.dot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/figures/dependencies.dot b/figures/dependencies.dot index 010194c..bd426a3 100644 --- a/figures/dependencies.dot +++ b/figures/dependencies.dot @@ -13,7 +13,7 @@ digraph { Extend; Foldable; Functor; - "Contravariant Functor"; + Contravariant; Monad; Monoid; Plus; From fed119fe6f843ee51decb7f37be8785e6a55f145 Mon Sep 17 00:00:00 2001 From: joneshf Date: Sun, 29 Jan 2017 09:23:29 -0800 Subject: [PATCH 09/10] Should be the last few fixes necessary for merge --- README.md | 4 ++-- figures/dependencies.png | Bin 36693 -> 39088 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8388fb4..ae4826c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ (aka "Algebraic JavaScript Specification") - + This project specifies interoperability of common algebraic structures: @@ -29,7 +29,7 @@ structures: * [Bifunctor](#bifunctor) * [Profunctor](#profunctor) - + ## General diff --git a/figures/dependencies.png b/figures/dependencies.png index 281ee3b8943bb69f0b792c4b8afea20ae12dbf69..8f9dbfe39613928cc212d3fe73d3bf35f32a32c7 100644 GIT binary patch literal 39088 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 literal 36693 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 From 738a8a3691750e9c6fa9f27bd6366c17e25a3da8 Mon Sep 17 00:00:00 2001 From: Rafe Date: Mon, 30 Jan 2017 12:49:46 +0000 Subject: [PATCH 10/10] Update contramap laws --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f8c7cf..c4c74a2 100644 --- a/README.md +++ b/README.md @@ -209,8 +209,9 @@ A value which has a Contravariant must provide a `contramap` method. The 1. If `f` is not a function, the behaviour of `contramap` is unspecified. 2. `f` can return any value. + 3. No parts of `f`'s return value should be checked. -2. `contramap` must return a value of the same Functor +2. `contramap` must return a value of the same Contravariant ### Apply