summaryrefslogtreecommitdiff
path: root/fp1/week2/mart/TupleOverloading.dcl
blob: 6831948c613898d87682b60deb7f790760f5db9d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
definition module TupleOverloading

import StdEnv

instance +    (a,b)   | + a & + b
instance +    (a,b,c) | + a & + b & + c


instance -    (a,b)   | - a & - b
instance -    (a,b,c) | - a & - b & - c

instance *    (a,b)   | * a & * b
instance *    (a,b,c) | * a & * b & * c

instance /    (a,b)   | / a & / b
instance /    (a,b,c) | / a & / b & / c

instance zero (a,b)   | zero a & zero b
instance zero (a,b,c) | zero a & zero b & zero c

instance one  (a,b)   | one a & one b
instance one  (a,b,c) | one a & one b & one c

instance ~    (a,b)   | ~ a & ~ b
instance ~    (a,b,c) | ~ a & ~ b & ~ c