Hoed-0.1.0.0: examples/GDM-hello.hs
{-# LANGUAGE DeriveGeneric #-}
import Debug.Hoed.Observe
data T = Hello | World deriving Generic
instance Observable T
f :: T -> T
f Hello = World
f World = Hello
p :: T -> String
p Hello = "Hello"
p World = "world"
main = runO . putStrLn $ (p . f') Hello
where f' = gdmobserve "f" f