Changes between Version 10 and Version 11 of FunctionalDependencies


Ignore:
Timestamp:
Feb 7, 2006 2:37:57 PM (9 years ago)
Author:
ross@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FunctionalDependencies

    v10 v11  
    3434== Details ==
    3535
    36 === Restrictions on classes and instances ===
     36=== Restrictions on instances ===
    3737
    3838The original paper imposed two restrictions on instances (sect. 6.1), stated here for the class `C` declared above:
     
    4949    then any substitution unifying Ta and Sa must also unify Tb and Sb.
    5050
    51 Haskell 98 requires that contexts of class and instance declarations may only use type variables that appear in the head.
    52 It was originally thought that this could be relaxed, to variables determined by those in the head, but this can lead to non-termination (CHR paper, ex. 15).
     51Haskell 98 requires that the context of an instance declaration use only type variables that appear in the head.
     52It was originally thought that this could be relaxed (original paper, sect. 6.3), to variables determined by those in the head, but this can lead to non-termination (CHR paper, ex. 15).
    5353With FlexibleInstances and no OverlappingInstances, these restrictions yield a coherent and decidable system (CHR paper, corr. 1).
    5454
     
    6565
    6666Again the implemented system is more powerful (and useful) than the specified one, e.g. the example in sect. 7 of the original paper.
     67The CHR version is closer.