{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
module IHaskell.Display.Display () where
import IHaskell.Display
import Text.Printf
instance Show a => IHaskellDisplay (Maybe a) where
display just = return $ Display [stringDisplay, htmlDisplay]
where
stringDisplay = plain (show just)
htmlDisplay = html str
str = case just of
Nothing -> "Nothing"
Just x -> printf "Just%s" (show x)