Add polymorphic tuple projections and replacements

This commit is contained in:
milner committed 2019-02-22 15:45:12 +00:00
1 parent d996eba971
commit 28d28de6fa
3 files changed
+10

No files matched your search

+3
View File
@@ -9,3 +9,6 @@ let over (get, put) ~f source = put (f (get source)) source
let compose (outer_get, outer_put) (inner_get, inner_put) =
(fun source -> inner_get (outer_get source)),
(fun value source -> outer_put (inner_put value (outer_get source)) source)
let _1 = (fun (left, _) -> left), (fun left (_, right) -> left, right)
let _2 = (fun (_, right) -> right), (fun right (left, _) -> left, right)