Changes between Version 8 and Version 9 of ExplicitTypeApplication


Ignore:
Timestamp:
Dec 15, 2011 10:25:52 AM (3 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 @(* -> *)