From 4002b8988c799a904ef1f359d4267ef4ad80cba3 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 5 Dec 2022 14:19:12 +0200 Subject: Rename project to Milch --- examples/types-concept.lisp | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 examples/types-concept.lisp (limited to 'examples/types-concept.lisp') 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)) -- cgit v1.3