PlainTypes.hascasl.output revision 96646aed2ae087b942ae23f15bbe729a8f7c43d3
class a, b, c, d < Type
type r : a; s : a; s : b; t : c
type [__], {__} : a -> b
var u : [ r ]; v : { s }
type tuple3 : a -> b -> c -> d
var x : tuple3 r s t
var y : tuple3 r s
type tuple1 : b -> a
type m : (a -> b) -> c
type List : a -> b
var w : m List
var o1 : m
var o2 : m tuple1
var o3 : m tuple3
var nt : a -> (b -> c) -> c -> d
var o4 : nt r List s
type s1, r1, t1 < t
type s2 = r2 = t2
type s3 = {x : t . (fun __=__[t] :
forall a : Type . a * a ->? Unit)
(((var x : t), (var x : t)))}
%% Classes ---------------------------------------------------------------
a < Type
b < Type
c < Type
d < Type
%% Type Constructors -----------------------------------------------------
? : +Type -> Type
List : a -> b
Logical : Type := ? Unit
Pred : -Type -> Type := \ a : -Type . a ->? Unit
Unit : Type
[__] : a -> b
__*__ : +Type -> +Type -> Type
__*__*__ : +Type -> +Type -> +Type -> Type
__*__*__*__ : +Type -> +Type -> +Type -> +Type -> Type
__*__*__*__*__ : +Type -> +Type -> +Type -> +Type -> +Type -> Type
__-->__ : -Type -> +Type -> Type < (__-->?__, __->__)
__-->?__ : -Type -> +Type -> Type < __->?__
__->__ : -Type -> +Type -> Type < __->?__
__->?__ : -Type -> +Type -> Type
m : (a -> b) -> c
r : a
r1 : c < t
r2 : Type < s2
s : (b, a)
s1 : c < t
s2 : Type
s3 : Type < t
t : c
t1 : c < t
t2 : Type < (r2, s2)
tuple1 : b -> a
tuple3 : a -> b -> c -> d
{__} : a -> b
%% Type Variables --------------------------------------------------------
nt : a -> (b -> c) -> c -> d %(var_1)%
%% Assumptions -----------------------------------------------------------
__/\__ : ? Unit * ? Unit ->? Unit %(fun)%
__<=>__ : ? Unit * ? Unit ->? Unit %(fun)%
__=__ : forall a : Type . a * a ->? Unit %(fun)%
__=>__ : ? Unit * ? Unit ->? Unit %(fun)%
__=e=__ : forall a : Type . a * a ->? Unit %(fun)%
__\/__ : ? Unit * ? Unit ->? Unit %(fun)%
__if__ : ? Unit * ? Unit ->? Unit %(fun)%
__when__else__ : forall a : Type . a * ? Unit * a ->? a %(fun)%
bottom : forall a : Type . a %(fun)%
def__ : forall a : Type . a ->? Unit %(fun)%
false : Unit %(fun)%
not__ : ? Unit ->? Unit %(fun)%
true : Unit %(fun)%
�__ : ? Unit ->? Unit %(fun)%
%% Variables -------------------------------------------------------------
o1 : m
o2 : m tuple1
o3 : m tuple3
o4 : nt r List s
u : [ r ]
v : { s }
w : m List
x : tuple3 r s t
y : tuple3 r s
%% Diagnostics -----------------------------------------------------------
*** Hint 7.6, not a kind '[r]'
*** Hint 7.14, not a kind '{s}'
*** Hint 11.7, not a kind 'tuple3 r s t'
*** Hint 12.7, not a kind 'tuple3 r s'
*** Error 12.9-12.18, no kind found for 'tuple3 r s'
expected: Type
found: c -> d
*** Hint 18.7, not a kind 'm [__]'
*** Error 18.12, unexpected place '__'
*** Hint 22.7, not a kind 'm List'
*** Hint 24.8, not a class 'm'
*** Error 24.10, no kind found for 'm'
expected: Type
found: (a -> b) -> c
*** Hint 26.8, not a kind 'm tuple1'
*** Hint 26.10-26.12, no kind found for 'tuple1'
expected: a -> b
found: b -> a
*** Error 26.10-26.12, no kind found for 'm tuple1'
*** Hint 28.8, not a kind 'm tuple3'
*** Hint 28.10-28.12, no kind found for 'tuple3'
expected: a -> b
found: a -> b -> c -> d
*** Error 28.10-28.12, no kind found for 'm tuple3'
*** Hint 30.5, is type variable 'nt'
*** Hint 32.8, not a kind 'nt r List s'
*** Hint 32.10-32.20, no kind found for 'List'
expected: b -> c
found: a -> b
*** Error 32.10-32.20, no kind found for 'nt r List s'
*** Error 36.9, subtyping cycle via 's2' and 'r2'
*** Error 36.12, subtyping cycle via 's2' and 't2'
*** Error 36.12, subtyping cycle via 'r2' and 't2'
*** Hint 38.12, rebound variable 'x'