summaryrefslogtreecommitdiff
path: root/transfer/examples/overload.tr
diff options
context:
space:
mode:
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