Changes between Initial Version and Version 1 of Ticket #29

Show
Ignore:
Timestamp:
06/07/09 14:42:40 (5 years ago)
Author:
nibro
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #29 – description

    initial v1  
    11Currently the parser treats all the forall-enabling extensions as equivalent. As long as one of them is on, to allow the forall keyword, then all uses of that keyword are allowed. We need checks on where they are allowed. 
    22 
    3 First we have the data constructor uses. 
    4 * ExistentialQuantification: Allow forall-quantified data constructors. 
     3First we have the data constructor uses.[[BR]] 
     4* ExistentialQuantification: Allow forall-quantified data constructors.[[BR]] 
    55* PolymorphicComponents: Allow data constructor declarations to have forall-quantified arguments. 
    66 
    7 Second we have the actual type uses: 
    8 * LiberalTypeSynonyms: Allow forall-quantified types in type synonym declarations, as well as applying type synonyms to forall-quantified types. 
    9 * Rank2Types: Allow forall-quantified types as arguments to functions, i.e. on the left of a function arrow. 
    10 * RankNTypes: Allow forall-quantified types anywhere in actual types, except as arguments to type synonyms (requires LiberalTypeSynonyms). 
     7Second we have the actual type uses:[[BR]] 
     8* LiberalTypeSynonyms: Allow forall-quantified types in type synonym declarations, as well as applying type synonyms to forall-quantified types.[[BR]] 
     9* Rank2Types: Allow forall-quantified types as arguments to functions, i.e. on the left of a function arrow.[[BR]] 
     10* RankNTypes: Allow forall-quantified types anywhere in actual types, except as arguments to type synonyms (requires LiberalTypeSynonyms).[[BR]] 
    1111* ImpredicativeTypes: Allow forall-quantified types as arguments to type constructors. 
    1212