Changes between Version 17 and Version 18 of RelaxedDependencyAnalysis


Ignore:
Timestamp:
Jul 11, 2009 8:52:28 AM (5 years ago)
Author:
ross@…
Comment:

formatting

Legend:

Unmodified
Added
Removed
Modified
  • RelaxedDependencyAnalysis

    v17 v18  
    5656{{{ 
    5757#!html 
    58 <div style="background: #ffdddd"> 
     58<div style="background: #fdd; border-color: #c00; border-style: solid; border-width: 1px"> 
    5959}}} 
    6060  In general the static semantics are given by the normal Hindley-Milner inference rules. A ''dependency analysis transformation'' is first performed to increase polymorphism. Two variables bound by value declarations are in the same ''declaration group'' if either 
     
    7979{{{ 
    8080#!html 
    81 <div style="background: #ddffdd"> 
     81<div style="background: #dfd; border-color: #0c0; border-style: solid; border-width: 1px"> 
    8282}}} 
    8383  In general the static semantics are given by applying the normal Hindley-Milner inference rules.  In order to increase polymorphism, these rules are applied to groups of bindings identified by a ''dependency analysis''. 
     
    103103{{{ 
    104104#!html 
    105 <div style="background: #ffdddd"> 
     105<div style="background: #fdd; border-color: #c00; border-style: solid; border-width: 1px"> 
    106106}}} 
    107107  The Hindley-Milner type system assigns types to a {{{let}}}-expression in two stages. First, the right-hand side of the declaration is typed, giving a type with no universal quantification. Second, all type variables that occur in this type are universally quantified unless they are associated with bound variables in the type environment; this is called ''generalization''. Finally, the body of the {{{let}}}-expression is typed. 
     
    115115{{{ 
    116116#!html 
    117 <div style="background: #ddffdd"> 
     117<div style="background: #dfd; border-color: #0c0; border-style: solid; border-width: 1px"> 
    118118}}} 
    119119  The Hindley-Milner type system assigns types to a {{{let}}}-expression in two stages: