summaryrefslogtreecommitdiff
path: root/transfer/examples/overload.tr
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2005-11-28 21:45:22 +0000
committerbringert <bringert@cs.chalmers.se>2005-11-28 21:45:22 +0000
commit02c23401a7a3e54d48084fc2796a485de36383f1 (patch)
tree03574e9f1c862f2b5685741c6c9d8ee8029aea21 /transfer/examples/overload.tr
parent5a82068ddc0e75ee2f2280ffb5da9cda3e53bac3 (diff)
Changed all example programs to use layout syntax.
Diffstat (limited to 'transfer/examples/overload.tr')
-rw-r--r--transfer/examples/overload.tr16
1 files changed, 16 insertions, 0 deletions
diff --git a/transfer/examples/overload.tr b/transfer/examples/overload.tr
new file mode 100644
index 000000000..58ef1b7ce
--- /dev/null
+++ b/transfer/examples/overload.tr
@@ -0,0 +1,16 @@
+Additive : Type -> Type
+Additive A = { zero : A; plus : A -> A -> A }
+
+additive_Integer : Additive Integer
+additive_Integer = { zero = 0; plus = prim_add_Int }
+
+sum : (A:Type) -> Additive A -> List A -> A
+sum _ d (Nil _) = d.zero
+sum A d (Cons _ x xs) = d.plus x (sum A d xs)
+
+Showable : Type -> Type
+Showable A = { show : A -> String }
+
+
+--Compositional : Type -> Type
+--Compositional A = { composOp : } \ No newline at end of file