blob: 5fd159e73a803788a7217326770899d0d88e38c1 (
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
|
definition module Sil.Types
from StdOverloaded import class ==, class toString, class zero
from Data.Error import :: MaybeError
from Data.Maybe import :: Maybe
from Sil.Syntax import :: Expression, :: Function, :: Name, :: Op1, :: Op2
:: Type
= TBool
| TInt
| TVoid
| (-->) infixr Type Type
:: TypeError
= IllegalApplication Type Type
instance == Type
instance toString Type
instance toString TypeError
/**
* Size of an expression on the stack
*/
typeSize :: Type -> Int
:: TypeResolver :== Name -> Maybe (MaybeError TypeError Type)
instance zero TypeResolver
class type a :: TypeResolver a -> Maybe (MaybeError TypeError Type)
instance type Function
instance type Expression
instance type Name
instance type Op1
instance type Op2
|