Changes between Version 3 and Version 4 of LanguageQualities


Ignore:
Timestamp:
Dec 6, 2005 12:40:45 AM (8 years ago)
Author:
john@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LanguageQualities

    v3 v4  
    55 * import-safe - importing a new module can never silently change the behavior of a program, but it may cause a compile-time error. two programs that are identical except one has a superset of the imports of the other will either behave identically or at least one will fail to compile. (defaulting  and OverlappingInstances break this) 
    66 
    7  * admits an efficient implementation. features that require large amounts of run-time support or non-trivial restrictions on the implementation method should be avoided. 
     7 * admits an efficient implementation. features that require large amounts of run-time support or non-trivial restrictions on the implementation method should be avoided. (this is a tradeoff and the design space of haskell implementations has not fully been explored so we should be conservative when we can) 
    88 
    99 * transformation safe. the language will not have features that cause common optimizations and transformations to become non-meaning-preserving. All lambda calculus transformations should apply. (this is broken by the MonomorphismRestriction (eta-reduction/expansion) and ImplicitParams (beta-reduction))