From 2a94dceb7ba9ca57d00d1713271a42c7fa0b6c4a Mon Sep 17 00:00:00 2001 From: Hardy Jones Date: Sun, 23 Oct 2016 07:34:53 -0700 Subject: [PATCH] Another go at updating dependencies (#192) * Convert from mp to dot * Use the svg only * Committed wrong url... * Also remove png creation from script * Use GitHub's link color * Use sha * Don't use hrefs * Update dependency svg sha * Just use png instead of svg * Update width and height --- README.md | 4 +- figures/dependencies.dot | 35 ++++++++++ figures/dependencies.mp | 67 ------------------ figures/dependencies.png | Bin 13023 -> 29995 bytes figures/dependencies.sh | 3 + figures/dependencies.svg | 147 --------------------------------------- 6 files changed, 40 insertions(+), 216 deletions(-) create mode 100644 figures/dependencies.dot delete mode 100644 figures/dependencies.mp create mode 100755 figures/dependencies.sh delete mode 100644 figures/dependencies.svg diff --git a/README.md b/README.md index 165f14c..e5989bf 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ structures: * [Bifunctor](#bifunctor) * [Profunctor](#profunctor) - + ## General @@ -210,7 +210,7 @@ method takes one argument: 3. `ap` must apply the function in Apply `b` to the value in Apply `a` - + 1. No parts of return value of that function should be checked. ### Applicative diff --git a/figures/dependencies.dot b/figures/dependencies.dot new file mode 100644 index 0000000..9bbd0b6 --- /dev/null +++ b/figures/dependencies.dot @@ -0,0 +1,35 @@ +digraph { + node [shape=plaintext] + + # Algebras + Applicative; + Apply; + Bifunctor; + Chain; + ChainRec; + Comonad; + Extend; + Foldable; + Functor; + Monad; + Monoid; + Profunctor; + Semigroup; + Setoid; + Traversable; + + # Dependencies + Applicative -> Monad; + Apply -> Applicative; + Apply -> Chain; + Chain -> ChainRec; + Chain -> Monad; + Extend -> Comonad; + Foldable -> Traversable; + Functor -> Apply; + Functor -> Bifunctor; + Functor -> Extend; + Functor -> Profunctor; + Functor -> Traversable; + Semigroup -> Monoid; +} diff --git a/figures/dependencies.mp b/figures/dependencies.mp deleted file mode 100644 index 1b8709a..0000000 --- a/figures/dependencies.mp +++ /dev/null @@ -1,67 +0,0 @@ -prologues := 3; -outputtemplate := "%j.svg"; -outputformat := "svg"; - -dimX=2.5cm; -dimY=-1.5cm; - -vardef clippath(expr p, a, b) = - save q, s, t, r; - - numeric s; - path q[]; - numeric t; - path r; - - q1 = bbox(a); - q2 = bbox(b); - - (whatever, t1) = q1 intersectiontimes p; - (whatever, t2) = q2 intersectiontimes (reverse p); - - subpath (t1, length(p) - t2) of p -enddef; - -def midpoint(expr p) = point 0.5 of p enddef; - -beginfig(1); -picture q[]; - -z1=(0dimX, 0dimY); -z2=(0dimX, 1dimY); - -z3=(1dimX, 0dimY); -z4=(1dimX, 1dimY); -z5=(2dimX, 1dimY); - -z6=(1dimX, 2dimY); -z7=(2dimX, 2dimY); - -% domain labels -q1 = thelabel("Semigroup", z1); -q2 = thelabel("Monoid", z2); - -q3 = thelabel("Functor", z3); - -q4 = thelabel("Apply", z4); -q5 = thelabel("Applicative", z5); - -q6 = thelabel("Chain", z6); -q7 = thelabel("Monad", z7); - -for i=1 upto 7: - draw q[i]; -endfor - -% arrows - -drawarrow clippath(z1..z2, q1, q2); % Semigroup -> Monoid - -drawarrow clippath(z3..z4, q3, q4); % Functor -> Apply -drawarrow clippath(z4..z5, q4, q5); % Apply -> Applicative -drawarrow clippath(z4..z6, q4, q6); % Apply -> Chain -drawarrow clippath(z5..z7, q5, q7); % Applicative -> Monad -drawarrow clippath(z6..z7, q6, q7); % Chain -> Monad - -endfig; -end diff --git a/figures/dependencies.png b/figures/dependencies.png index 9a1b997059b7dc44c994c470bd7258ea6a888e55..81e02a9bab895530ab3e53d4bbd7d64d1757c9cb 100644 GIT binary patch literal 29995 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 diff --git a/figures/dependencies.sh b/figures/dependencies.sh new file mode 100755 index 0000000..ca8ce47 --- /dev/null +++ b/figures/dependencies.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +dot -Tpng -odependencies.png dependencies.dot diff --git a/figures/dependencies.svg b/figures/dependencies.svg deleted file mode 100644 index 6e50663..0000000 --- a/figures/dependencies.svg +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -