22015
|
1 |
module Codegen where {
|
|
2 |
|
|
3 |
import qualified Nat;
|
21147
|
4 |
|
22015
|
5 |
class Null a where {
|
|
6 |
nulla :: a;
|
|
7 |
};
|
|
8 |
|
25731
|
9 |
heada :: forall a. (Codegen.Null a) => [a] -> a;
|
22751
|
10 |
heada (x : xs) = x;
|
22015
|
11 |
heada [] = Codegen.nulla;
|
21147
|
12 |
|
25731
|
13 |
null_option :: forall a. Maybe a;
|
25056
|
14 |
null_option = Nothing;
|
|
15 |
|
24628
|
16 |
instance Codegen.Null (Maybe a) where {
|
25056
|
17 |
nulla = Codegen.null_option;
|
22015
|
18 |
};
|
21147
|
19 |
|
22015
|
20 |
dummy :: Maybe Nat.Nat;
|
|
21 |
dummy = Codegen.heada [Just (Nat.Suc Nat.Zero_nat), Nothing];
|
21147
|
22 |
|
22015
|
23 |
}
|