doc-src/IsarAdvanced/Codegen/Thy/examples/Codegen.hs
author haftmann
Thu, 04 Jan 2007 17:17:48 +0100
changeset 21994 dfa5133dbe73
parent 21993 4b802a9e0738
child 22015 12b94d7f7e1f
permissions -rw-r--r--
updated manual

module Codegen where
import qualified Nat

class Null a where
  nulla :: a

heada :: (Codegen.Null a) => ([a] -> a)
heada (y : xs) = y
heada [] = Codegen.nulla

null_option :: Maybe b
null_option = Nothing

instance Codegen.Null (Maybe b) where
  null = Codegen.null_option

dummy :: Maybe Nat.Nat
dummy = Codegen.heada [Just (Nat.Suc Nat.Zero_nat), Nothing]