diff options
-rw-r--r-- | stdlib.slip | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/stdlib.slip b/stdlib.slip index f3c1d47..dcedafc 100644 --- a/stdlib.slip +++ b/stdlib.slip @@ -65,3 +65,23 @@ ) ) )) + + +(let left-or + (fn (sum def) ((Sum L R) L) L + (case sum + ((inl x) x) + (_ def)) + ) +) + + +(let right-or + (fn (sum def) ((Sum L R) R) R + (case sum + ((inr x) x) + (_ def)) + ) +) + + |