From a7d7542dc646a5fd124ef71e71ce260889f1701b Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 2 Feb 2016 19:24:50 +0100 Subject: Moved to 1415 directory --- 1415/files/practicum/TupleOverloading.icl | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 1415/files/practicum/TupleOverloading.icl (limited to '1415/files/practicum/TupleOverloading.icl') diff --git a/1415/files/practicum/TupleOverloading.icl b/1415/files/practicum/TupleOverloading.icl new file mode 100644 index 0000000..2d34276 --- /dev/null +++ b/1415/files/practicum/TupleOverloading.icl @@ -0,0 +1,35 @@ +implementation module TupleOverloading + +import StdEnv + +instance + (a,b) | + a & + b where +instance + (a,b,c) | + a & + b & + c where + + +instance - (a,b) | - a & - b where +instance - (a,b,c) | - a & - b & - c where + +instance * (a,b) | * a & * b where +instance * (a,b,c) | * a & * b & * c where + +instance / (a,b) | / a & / b where +instance / (a,b,c) | / a & / b & / c where + +instance zero (a,b) | zero a & zero b where +instance zero (a,b,c) | zero a & zero b & zero c where + +instance one (a,b) | one a & one b where +instance one (a,b,c) | one a & one b & one c where + +instance ~ (a,b) | ~ a & ~ b where +instance ~ (a,b,c) | ~ a & ~ b & ~ c where + +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 + ) -- cgit v1.2.3