Peter Gavin:
> instance ( NaturalT n
> , zero ~ (n :==: D0)
> , zero ~ True )
> => TestIter n True where
> testIter _ _ = ""
I am wondering why you are writing (zero ~ (n :==: D0), zero ~ True)
instead os just (True ~ (n :==: D0)) - after all zero appears nowhere
else.
> instance forall n n' zero zero' .
> ( NaturalT n
> , zero ~ (n :==: D0)
> , zero ~ False
> , n' ~ Pred n
> , zero' ~ (n' :==: D0)
> , TestIter n' zero' )
> => TestIter n False where
> testIter n _ =
> intToDigit (fromIntegerT n) : testIter (_T :: n') (_T ::
zero')
The same here for zero and zero'.
For GHC, both versions are the same. I am just curious why you
flatten out the types.
Manuel
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc