summaryrefslogtreecommitdiff
path: root/fp1/week2/camil/TupleOverloading.icl
diff options
context:
space:
mode:
authorCamil Staps2016-02-02 19:24:50 +0100
committerCamil Staps2016-02-02 19:24:50 +0100
commita7d7542dc646a5fd124ef71e71ce260889f1701b (patch)
tree04ed89503bbb3cc9933273a1326a53ca724c3492 /fp1/week2/camil/TupleOverloading.icl
parentweek6 camil: working positioning of lines by putting empties at left and righ... (diff)
Moved to 1415 directoryHEADmaster
Diffstat (limited to 'fp1/week2/camil/TupleOverloading.icl')
-rw-r--r--fp1/week2/camil/TupleOverloading.icl53
1 files changed, 0 insertions, 53 deletions
diff --git a/fp1/week2/camil/TupleOverloading.icl b/fp1/week2/camil/TupleOverloading.icl
deleted file mode 100644
index 0ea437d..0000000
--- a/fp1/week2/camil/TupleOverloading.icl
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Mart Lubbers, s4109503
- * Camil Staps, s4498062
- */
-
-implementation module TupleOverloading
-
-import StdEnv
-
-instance + (a,b) | + a & + b where
- + (a,b) (c,d) = (a+c,b+d)
-instance + (a,b,c) | + a & + b & + c where
- + (a,b,c) (d,e,f) = (a+d,b+e,c+f)
-
-instance - (a,b) | - a & - b where
- - (a,b) (c,d) = (a-c,b-d)
-instance - (a,b,c) | - a & - b & - c where
- - (a,b,c) (d,e,f) = (a-d,b-e,c-f)
-
-instance * (a,b) | * a & * b where
- * (a,b) (c,d) = (a*c,b*d)
-instance * (a,b,c) | * a & * b & * c where
- * (a,b,c) (d,e,f) = (a*d,b*e,c*f)
-
-instance / (a,b) | / a & / b where
- / (a,b) (c,d) = (a/c,b/d)
-instance / (a,b,c) | / a & / b & / c where
- / (a,b,c) (d,e,f) = (a/d,b/e,c/f)
-
-instance zero (a,b) | zero a & zero b where
- zero = (zero, zero)
-instance zero (a,b,c) | zero a & zero b & zero c where
- zero = (zero, zero, zero)
-
-instance one (a,b) | one a & one b where
- one = (one, one)
-instance one (a,b,c) | one a & one b & one c where
- one = (one, one, one)
-
-instance ~ (a,b) | ~ a & ~ b where
- ~ (a,b) = (~ a, ~ b)
-instance ~ (a,b,c) | ~ a & ~ b & ~ c where
- ~ (a,b,c) = (~ a, ~ b, ~ c)
-
-Start = (test (1,2), test (1,2,3))
-
-test a = ( zero + a == a && a == a + zero
- , a - zero == a && a == ~ (zero - a)
- , one * a == a && a == a * one
- , zero * a == zero && zero == a * zero
- , a / one == a
- , ~ (~ a) == a
- )