StdCompare.dcl 523 Bytes
Newer Older
Ronny Wichers Schreur's avatar
Ronny Wichers Schreur committed
1
2
3
4
5
6
7
8
9
10
11
definition module StdCompare

import syntax, compare_constructor

::	CompareValue :== Int
Smaller :== -1
Greater	:== 1
Equal	:== 0

class (=<) infix 4 a :: !a !a -> CompareValue

12
instance =< Int, Expression, {# Char}, Ident, [a] | =< a, BasicType //, (Global a) | =< a
Ronny Wichers Schreur's avatar
Ronny Wichers Schreur committed
13

14
instance =< Type, SymbIdent
Ronny Wichers Schreur's avatar
Ronny Wichers Schreur committed
15

16
instance == BasicType, TypeVar, TypeSymbIdent, DefinedSymbol, TypeContext , BasicValue,
17
			FunKind, (Global a) | == a, Priority, Assoc, Type, ConsVariable
Ronny Wichers Schreur's avatar
Ronny Wichers Schreur committed
18
19
20

instance < MemberDef

21
smallerOrEqual :: !Type !Type -> CompareValue