Вы можете потребовать, чтобы t
был экземпляром Show
, как в объявлении экземпляра, так и в следующем объявлении типа:
instance Show t => Show (Tree t)
func :: Show t => Tree t -> String
Чтобы использовать это, ваш обход предварительного заказа долженЗвоните show
.
func (Node t a b) = show t ++ func a ++ func b