Hi,
Suppose a denotes a type variable.
1.Can I then say: Bool is of type a ?
2. I suppose I can say that True is of type Bool. However True is not
itself a type, isn't it?
I suppose that I cannot say that True is of type a, isn't it ? So True is a
"value" but not a "type value" , isn't?
3. Now consider the type of state transformers ST s a :
in the above s is a type variable that ranges over the values(?) of type State .
Since IO a = ST RealWorld a , I deduce
that RealWorld is not a type variable (because the first letter is a capital) but a
very specific type :
i.e. RealWorld is of type State and RealWorld itself contains values but not of
type State ;
shouldn't I then say that s ranges over "type values " of type state
instead of "values" of type State.
4. Consider the type f :: a -> b -> c.
Can I say that f is of type a -> b since b is a more general type than the type
b -> c , and if this is true can I then say
that f is also of type a? And if this is true I suppose that "being of type " is
a transitive relation among types, isn't?
Hoping to get comments
Friendly
Jan Brosius