Changes between Version 1 and Version 2 of RelaxedDependencyAnalysis


Ignore:
Timestamp:
Dec 1, 2005 3:47:10 AM (9 years ago)
Author:
john@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RelaxedDependencyAnalysis

    v1 v2  
    1616As with many operations on non-regular (or nested) types, `zig` and `zag` need to be polymorphic in the element type. In Haskell 98, the bindings of the two functions are interdependent, and thus constitute a single binding group. When type inference is performed on this group, `zig` may be used at different types, because it has a user-supplied polymorphic signature. However, `zag` may not, and the example is rejected, unless we add an explicit type signature for `zag`. 
    1717 
    18 However GHC, Hugs and Nhc98 follow the suggestion of Mark Jones in [http://www.cse.ogi.edu/~mpj/thih/ Typing Haskell in Haskell], that the dependency analysis should ignore references to variables that have an explicit type signature. Hence `zag` does not depend on `zig`, and we can infer the type 
     18However GHC, Hugs, Nhc98, and jhc follow the suggestion of Mark Jones in [http://www.cse.ogi.edu/~mpj/thih/ Typing Haskell in Haskell], that the dependency analysis should ignore references to variables that have an explicit type signature. Hence `zag` does not depend on `zig`, and we can infer the type 
    1919{{{ 
    2020zag :: BalancedTree a -> a