
On Thu, Mar 12, 2015 at 12:25 PM, adam vogt
This combination seems to work:
instance (Show a, Show1 d) => Show (d a) where showsPrec = showsPrec1
deriving instance (Show (d a), Show1 d) => Show (SimpleCatDeque d a)
But it needs overlapping instances. I don't see another way to express
(Show (d a), Show (d (d a)), Show (d (d (d a))), ... )
in a way that ghc will lazily evaluate the ...
Hi Adam and David, Thanks for the tips. This works, but there's another issue now:
:load SimpleCatenableDeque.hs BankersDeque.hs import BankersDeque cons 1 (cons 2 empty ++ (cons 3 (cons 7 (cons 123 empty)))) ++ (cons 4 (cons 5 (empty) ++ (cons 6 (cons (-1) (cons 99 empty) ++ (cons 72 empty))) ++ (cons 44 empty ++ (cons 7 (cons 8 (cons 9 (cons 10 (cons 11 empty))))))) ++ cons 9 (cons 10 (cons 123 (empty :: SimpleCatDeque BankersDeque Int) ++ (cons 83 empty))))
<interactive>:28:1-315: No instance for (Show1 BankersDeque) arising from a use of 'print' In a stmt of an interactive GHCi command: print it What would the necessary instance look like for BankersDeque? Thanks, Mark -- |v\ /\ |\ |< |_ /\ \^| //