aboutsummaryrefslogtreecommitdiff
path: root/frontend/StdCompare.dcl
blob: 7e1ac0c5e0983ba3b8ed4d5ee9fd757a59a584f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
definition module StdCompare

import syntax, compare_constructor

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

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

instance =< Int, Expression, {# Char}, Ident, [a] | =< a, BasicType //, (Global a) | =< a

instance =< Type, SymbIdent

instance == BasicType, TypeVar, AttributeVar, TypeSymbIdent, DefinedSymbol, TypeContext , BasicValue,
			FunKind, (Global a) | == a, Priority, Assoc, Type, ConsVariable, SignClassification

instance < MemberDef

smallerOrEqual :: !Type !Type -> CompareValue