Changes between Version 8 and Version 9 of ExplicitTypeApplication


Ignore:
Timestamp:
Dec 15, 2011 10:25:52 AM (4 years ago)
Author:
dreixel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ExplicitTypeApplication

    v8 v9  
    8383}}}
    8484Since now it is not clear from the context anymore if we are expecting a kind
    85 or a type (since we use |@| both for kind and type application), we need to be
     85or a type (since we want to use `@` both for kind and type application), we need to be
    8686able to disambiguate between datatypes and their corresponding promoted kinds.
    8787At the moment this ambiguity does not arise, so we do not allow prefixing
     
    9191== More examples ==
    9292=== Impredicative instantiation ===
    93 `Cons @(forall a. a -> a)` should mean the constructor of type
     93This extension also allows for clear impredicative instantiation. For instance,
     94the application of the list constructor `(:) @(forall a. a -> a)` means
     95the constructor of type
    9496`(forall a. a -> a) -> [forall a. a -> a] -> [forall a. a -> a]`.
    9597
    9698=== Type/kind instantiation in classes ===
    9799With the new kind-polymorphic `Typeable` class, we can recover the old
    98 kind-specific classes by saying, for instance:
     100kind-specific classes by writing, for example:
    99101{{{
    100102type Typeable1 = Typeable @(* -> *)