doc-src/Codegen/Thy/examples/Codegen.hs
changeset 30209 2f4684e2ea95
parent 25731 b3e415b0cf5c
equal deleted inserted replaced
30202:2775062fd3a9 30209:2f4684e2ea95
       
     1 module Codegen where {
       
     2 
       
     3 import qualified Nat;
       
     4 
       
     5 class Null a where {
       
     6   nulla :: a;
       
     7 };
       
     8 
       
     9 heada :: forall a. (Codegen.Null a) => [a] -> a;
       
    10 heada (x : xs) = x;
       
    11 heada [] = Codegen.nulla;
       
    12 
       
    13 null_option :: forall a. Maybe a;
       
    14 null_option = Nothing;
       
    15 
       
    16 instance Codegen.Null (Maybe a) where {
       
    17   nulla = Codegen.null_option;
       
    18 };
       
    19 
       
    20 dummy :: Maybe Nat.Nat;
       
    21 dummy = Codegen.heada [Just (Nat.Suc Nat.Zero_nat), Nothing];
       
    22 
       
    23 }