summaryrefslogtreecommitdiff
path: root/grammars/numerals/Nat.hs
diff options
context:
space:
mode:
authorbjorn <bjorn@bringert.net>2008-08-14 07:58:04 +0000
committerbjorn <bjorn@bringert.net>2008-08-14 07:58:04 +0000
commit77270a010a0b453e9a84c3e62db7cfd22e49d55d (patch)
treed17682a545d6ac1e68ff49b8c20964182794baf7 /grammars/numerals/Nat.hs
parent0bbb906141711767678f82b15a7b43e65e0b5bd6 (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.hs46
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]