Changes between Version 3 and Version 4 of LanguageQualities


Ignore:
Timestamp:
Dec 6, 2005 12:40:45 AM (10 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))