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

Reply via email to