Wed, 24 Oct 2001 10:36:22 +0200, Hannah Schroeter <[EMAIL PROTECTED]> pisze:
> Why not create a dictionary record while compiling the associated > instance (which may, by the H'98 definition, occur only once in > the program)? Instances with contexts are commonly represented as functions which make dictionaries from other dictionaries. So although the function itself is only one, it may be applied many times to the same argument, and we want to unify results of the application, pretending that there exists only one instance for Eq [[[[Int]]]]. > Yes, of course. It's a similar problem like in Cayenne, where type checking > could take infinite time, too. (And what about current ghc Haskell, > with multiple parameter type classes, overlapping instances, perhaps > even -fallow-undecidable-...?!) The same. module Test where class C a where f :: a instance C a => C a main = print (f :: ()) [qrczak ~]$ ghc -c -fglasgow-exts -fallow-undecidable-instances Test.hs Test.hs:4: Context reduction stack overflow; size = 21 Use -fcontext-stack20 to increase stack size to (e.g.) 20 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `C ()' arising from use of `f' at Test.hs:4 `f at [()]' arising from use of `f' at Test.hs:4 When generalising the type(s) for main -- __("< Marcin Kowalczyk * [EMAIL PROTECTED] http://qrczak.ids.net.pl/ \__/ ^^ SYGNATURA ZASTĘPCZA QRCZAK _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell