mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-16 14:42:50 -06:00
Move transfer into the GF repo.
This commit is contained in:
23
transfer/examples/nat.tr
Normal file
23
transfer/examples/nat.tr
Normal file
@@ -0,0 +1,23 @@
|
||||
data Nat : Type where {
|
||||
Zero : Nat ;
|
||||
Succ : (n:Nat) -> Nat ;
|
||||
} ;
|
||||
|
||||
plus : Nat -> Nat -> Nat ;
|
||||
plus Zero y = y ;
|
||||
plus (Succ x) y = Succ (plus x y) ;
|
||||
|
||||
pred : Nat -> Nat ;
|
||||
pred Zero = Zero ;
|
||||
pred (Succ n) = n ;
|
||||
|
||||
natToInt : Nat -> Int ;
|
||||
natToInt Zero = 0 ;
|
||||
natToInt (Succ n) = 1 + natToInt n ;
|
||||
|
||||
plus : Nat -> Nat -> Nat ;
|
||||
plus Zero y = y ;
|
||||
plus (Succ x) y = Succ (plus x y) ;
|
||||
|
||||
intToNat : Int -> Nat ;
|
||||
intToNat n = if n == 0 then Zero else Succ (intToNat (n-1)) ;
|
||||
Reference in New Issue
Block a user