Type equivalency 2
Thu, 6 Jun 2002 03:52:01 -0700
At 2002-06-06 03:38, Cagdas Ozgenc wrote:
>Then either -> is not a type constructor,
(->) is a type constructor.
>or the concept of type
>constructors has to be divided into two : consuming type constructors, and
>producing type constructors.
Type constructors can do anything they like with their arguments. Here
are some of kind (* -> *):
newtype Holds a = MkHolds a
data Ignores a = MkIgnores
newtype Wants a = MkWants (a -> Bool)
data List a = MkPairList a (List a) | MkEmptyList
data Maybe a = Just a | Nothing
I don't think you can divide them up into two categories...
Ashley Yakeley, Seattle WA