summaryrefslogtreecommitdiff
path: root/files/practicum/StdRoman.dcl
blob: a9756c921291b8e0346e3d66bfa5a33262c12c0b (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
definition module StdRoman

import RomeinsGetal
import StdOverloaded

instance +				Roman

instance -  			Roman

instance zero			Roman

instance *  			Roman

instance /				Roman
instance one			Roman


instance ^				Roman
instance abs			Roman
instance sign			Roman
instance ~				Roman

instance ==				Roman
instance <  			Roman
instance isEven 		Roman	// True if arg1 is an even number
instance isOdd			Roman	// True if arg1 is an odd  number

class toRoman a :: !a -> Roman
instance toRoman		Char
instance toRoman		Int
instance toRoman		Real
instance toRoman		{#Char}

class fromRoman a :: !Roman -> a
instance fromRoman		Int
instance fromRoman		Char
instance fromRoman		Real
instance fromRoman		{#Char}

instance rem Roman
instance gcd Roman
instance lcm Roman