Changes between Version 3 and Version 4 of PatternSynonyms


Ignore:
Timestamp:
Aug 12, 2011 1:58:12 PM (3 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PatternSynonyms

    v3 v4  
    4747 
    4848where ''patexp'' is simply the intersection of the grammars for patterns and expression, i.e., those terms that are valid both as a pattern and as an expressions. 
    49 Each of the variables on the left hand side must occur exactly one on the right hand side, and these are the only variables that can be mention on the right hand side.  The semantics is simply given by expansions of the synonym. 
    50 Pattern synonyms are not allowed to be recursive.  Cf. type synonyms. 
     49 * Each of the variables on the left hand side must occur exactly one on the right hand side, and these are the only variables that can be mention on the right hand side.   
     50 * Pattern synonyms are not allowed to be recursive.  Cf. type synonyms. 
     51 * The semantics is simply given by expansion of the synonym. 
    5152 
    5253Pattern synonyms can be exported and imported by mentioning the ''conid'' in the export/import list.  Note that this suffers from the same constructor vs type confusion that already exists in `hiding` list, i.e., given the mention of a ''conid'' you cannot tell if it refers to a constructor or a type. 
     
    121122   fac (Plus1 n) = Plus1 n * fac n  
    122123}}} 
     124 
     125