Changes between Version 17 and Version 18 of PolymorphicComponents


Ignore:
Timestamp:
Apr 4, 2007 8:31:26 PM (8 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