[Haskell-cafe] Re: Defining show for a function type.
Max Vasin
max.vasin at gmail.com
Tue Jul 11 12:46:56 EDT 2006
>>>>> "Johan" == Johan Grönqvist <johan.gronqvist at gmail.com> writes:
Johan> I am a haskell-beginner and I wish to write a Forth-like
Johan> interpreter. (Only for practice, no usefulness.)
Johan> I would like use a list (as stack) that can contain several
Johan> kinds of values.
Johan> data Element = Int Int | Float Float | Func : Machine ->
Johan> Machine | ...
Johan> Now I would like to have this type be an instance of the class
Johan> Show, so that I can see what the stack contains in ghci.
Johan> "deriving Show" is impossible as Func is not instance of
Johan> Show. Can I make it instance of Show? I just want to define
Johan> something like
Johan> show (Func _) = "Function, cannot show"
err, why not just write
instance Show Element where
...
show (Func _) = "Function, cannot show"
E.g:
data Foo = Bar | Foo (Int -> Int -> Int)
instance Show Foo where
show Bar = "Bar"
show (Foo _) = "Func!"
main = do putStrLn $ show Bar
putStrLn $ show $ Foo (+)
--
WBR,
Max Vasin.
NP: Nothing playing right now
More information about the Haskell-Cafe
mailing list