diff options
| author | bjorn <bjorn@bringert.net> | 2008-08-14 07:58:04 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-08-14 07:58:04 +0000 |
| commit | 77270a010a0b453e9a84c3e62db7cfd22e49d55d (patch) | |
| tree | d17682a545d6ac1e68ff49b8c20964182794baf7 /grammars/numerals/Nat.hs | |
| parent | 0bbb906141711767678f82b15a7b43e65e0b5bd6 (diff) | |
Remove the grammars directory. It was full of old grammars that don't compile these days. See the old source distributions if you want them.
Diffstat (limited to 'grammars/numerals/Nat.hs')
| -rw-r--r-- | grammars/numerals/Nat.hs | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/grammars/numerals/Nat.hs b/grammars/numerals/Nat.hs deleted file mode 100644 index 73bc406ba..000000000 --- a/grammars/numerals/Nat.hs +++ /dev/null @@ -1,46 +0,0 @@ -module Nat where - --- testing transfer from unary to binary, for Nat.gf. AR 8/10/2003 - -data Nat = One | Succ Nat deriving Show - -data Bin = BOne | BX Bin | BXPlus Bin deriving Show - -succBin:: Bin -> Bin -succBin BOne = BX BOne -succBin (BX b) = BXPlus b -succBin (BXPlus BOne) = BX (BX BOne) -succBin b = succAux b (lastZero b) - -lastZero :: Bin -> Nat -lastZero (BX _) = One -lastZero (BXPlus b) = Succ (lastZero b) - -succAux :: Bin -> Nat -> Bin -succAux (BXPlus b) One = BX (succBin b) -succAux (BXPlus b) (Succ n) = BX (succAux b n) -succAux b _ = succBin b - -int2bin :: Int -> Bin -int2bin 1 = BOne -int2bin n = succBin (int2bin (n-1)) - -bin2nat :: Bin -> Nat -bin2nat BOne = One -bin2nat (BX b) = double (bin2nat b) -bin2nat (BXPlus b) = Succ (double (bin2nat b)) - -double :: Nat -> Nat -double One = Succ One -double (Succ n) = Succ (Succ (double n)) - - --- to test - -prBin :: Bin -> String -prBin BOne = "1" -prBin (BX b) = prBin b ++ "0" -prBin (BXPlus b) = prBin b ++ "1" - -test = map (prBin . int2bin) [1..16] -test2 = map (bin2nat . int2bin) [1..16] |
