summaryrefslogtreecommitdiff
path: root/test/lhs-test.rst+lhs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2017-02-04 12:56:30 +0100
committerJohn MacFarlane <jgm@berkeley.edu>2017-02-04 12:56:30 +0100
commit18ab8642692caca2716fd9b5a0e6dbfd3d9cf9cc (patch)
tree05f4e9024093e233c131b3494e71265062ffd94a /test/lhs-test.rst+lhs
parent8418c1a7d7e5312dfddbc011adb257552b2a864b (diff)
Moved tests/ -> test/.
Diffstat (limited to 'test/lhs-test.rst+lhs')
-rw-r--r--test/lhs-test.rst+lhs21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/lhs-test.rst+lhs b/test/lhs-test.rst+lhs
new file mode 100644
index 000000000..eec79c546
--- /dev/null
+++ b/test/lhs-test.rst+lhs
@@ -0,0 +1,21 @@
+lhs test
+========
+
+``unsplit`` is an arrow that takes a pair of values and combines them to
+return a single value:
+
+> unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
+> unsplit = arr . uncurry
+> -- arr (\op (x,y) -> x `op` y)
+
+``(***)`` combines two arrows into a new arrow by running the two arrows on a
+pair of values (one arrow on the first item of the pair and one arrow on the
+second item of the pair).
+
+::
+
+ f *** g = first f >>> second g
+
+Block quote:
+
+ foo bar