added practicum files, updated gitignore
[fp1415.git] / files / practicum / StdRoman.dcl
1 definition module StdRoman
2
3 import RomeinsGetal
4 import StdOverloaded
5
6 instance + Roman
7
8 instance - Roman
9
10 instance zero Roman
11
12 instance * Roman
13
14 instance / Roman
15 instance one Roman
16
17
18 instance ^ Roman
19 instance abs Roman
20 instance sign Roman
21 instance ~ Roman
22
23 instance == Roman
24 instance < Roman
25 instance isEven Roman // True if arg1 is an even number
26 instance isOdd Roman // True if arg1 is an odd number
27
28 class toRoman a :: !a -> Roman
29 instance toRoman Char
30 instance toRoman Int
31 instance toRoman Real
32 instance toRoman {#Char}
33
34 class fromRoman a :: !Roman -> a
35 instance fromRoman Int
36 instance fromRoman Char
37 instance fromRoman Real
38 instance fromRoman {#Char}
39
40 instance rem Roman
41 instance gcd Roman
42 instance lcm Roman