Changes between Version 17 and Version 18 of PolymorphicComponents


Ignore:
Timestamp:
Apr 4, 2007 8:31:26 PM (7 years ago)
Author:
diatchki
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PolymorphicComponents

    v17 v18  
    5959= Report TODO List = 
    6060List of items that need to change in the [http://darcs.haskell.org/haskell-prime-report/report/haskell-prime-draft.html draft report]. 
    61  1. Introduce a new ''special identifier'' '''forall'''.  This identifier has a special interpretation in types and type schemes (i.e., it is ''not'' a type variable). 
     61 1. Introduce a new ''special identifier'', '''forall'''.  This identifier has a special interpretation in types and type schemes (i.e., it is ''not'' a type variable). 
    6262    However, '''forall''' can still be used as an ordinary variable in expressions. 
    63  1. Syntax for writing type schemes 
     63 2. Syntax for writing type schemes 
    6464{{{ 
    65 scheme    = 'forall' tvar_1 .. tyvar_n '.' opt_ctxt type    (n > 0) 
     65scheme   -> 'forall' tvar_1 .. tyvar_n '.' opt_ctxt type    (n > 0) 
    6666          | type 
    6767 
    68 ascheme   = '(' scheme ')' 
     68ascheme  -> '(' scheme ')' 
    6969          | atype 
    7070 
    71 bscheme   = '(' scheme ')' 
     71bscheme  -> '(' scheme ')' 
    7272          | btype 
    7373 
    74 opt_ctxt  = context '=>' 
     74opt_ctxt -> context '=>' 
    7575          | 
     76}}} 
     77 3. Syntax for algebraic datatype (Section 4.2.1) 
     78Change ''type'',''atype'',''btype'' to ''scheme'', ''ascheme'', ''bscheme' respectively. 
     79{{{ 
     80constr   -> con [!] ascheme_1 ... [!] ascheme_k          (arity con = k, k>=0) 
     81          | (bscheme | ! ascheme) conop (bscheme | ! ascheme)   (infix conop) 
     82          | con { fielddecl1 , ... , fielddecln }       (n>=0) 
     83fielddecl-> vars :: (scheme | ! ascheme) 
    7684}}} 
    7785 
    7886 
    79    1. change "atype" or modify specific sections? 
    8087   1. 4.2.1 - syntax in "Algebreic Datatype Declarations", add ''forall'' to various bits. 
    8188   1. 4.2.3 - syntax in "Datatype Renaming" ''newtype'' declarations