diff options
Diffstat (limited to 'examples/types-concept.lisp')
| -rw-r--r-- | examples/types-concept.lisp | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/examples/types-concept.lisp b/examples/types-concept.lisp deleted file mode 100644 index 8359c6b..0000000 --- a/examples/types-concept.lisp +++ /dev/null @@ -1,34 +0,0 @@ -; lowercase types: polymorphic -; everything else: monomorphic - -(type compose (\[ - (\[b] c) ; f - (\[a] b)] ; g - (\[a] c))) -(let! - compose (\[f g] (\[x] (f (g x))))) - -((compose (+ 1) (+ 2)) 3) - -(type id (\[a] a)) -(let! id (\[a] a)) - -(type mod (\[Int Int] Int)) -(let! mod (\[n k] - (- n (* k (/ n k))))) - -(type not (\[Bool] Bool)) -(let! not (\[b] - (match b - true false - false true))) - -(type is-even (\[Int] Bool)) -(let! is-even (\[n] - (match (mod n 2) - 0 true - 1 false))) - -; match cannot be type annotated because its variadic -; but the match above is inferred as this: -(type match (\[a a b a b] b)) |
