cakyrespa 0.0.10 → 0.0.11
raw patch · 3 files changed
+13/−3 lines, 3 files
Files
- cakyrespa.cabal +1/−1
- src/Language/Lojban/Read.hs +3/−1
- src/cakyrespa.hs +9/−1
cakyrespa.cabal view
@@ -2,7 +2,7 @@ cabal-version: >= 1.6 name: cakyrespa-version: 0.0.10+version: 0.0.11 stability: Alpha license: BSD3 license-file: LICENSE
src/Language/Lojban/Read.hs view
@@ -10,7 +10,7 @@ import Language.Lojban.Parser hiding ( Tag, Sumti, Selbri, KOhA, FA, Brivla, BAI, Number, LI, RelativeClause,- Time, KU, Linkargs, FIhO, NU, NA, LA, ZOI, ME)+ Time, KU, Linkargs, FIhO, NU, NA, LA, ZOI, ME, JOhI) import qualified Language.Lojban.Parser as P import Data.Maybe import Data.Char@@ -54,6 +54,7 @@ data Mex = Number Double+ | JOhI [Mex] | NotImplementedMex String deriving (Show, Eq) @@ -158,6 +159,7 @@ readMex :: Operand -> Mex readMex (P.Number n _ _) = readNumber n+readMex (P.JOhI (_, "jo'i", _) _ ns _ _) = JOhI $ map readMex ns readMex o = NotImplementedMex $ "readMex: " ++ show o readNumber :: [Clause] -> Mex
src/cakyrespa.hs view
@@ -30,6 +30,7 @@ pcmd p = case p of (Vocative "co'o") -> COhO (TenseGI "ba" b c) -> Commands (pcmd b) (pcmd c)+ b@(Bridi (Brivla "klama") s) -> fromMaybe (Unknown b) $ readKlama s b@(Bridi (Brivla "galfi") s) -> fromMaybe (Unknown b) $ readGalfi s b@(Bridi (Brivla "tcidu") s) -> fromMaybe (Unknown b) $ readTcidu s b@(Bridi (Brivla "rejgau") s) -> fromMaybe (Unknown b) $ readRejgau s@@ -47,6 +48,11 @@ b@(Bridi (Brivla "clugau") s) -> fromMaybe (Unknown b) $ readClugau s r -> Unknown r +readKlama s = do+ KOhA "ko" <- lookup (FA 1) s+ LI (JOhI [Number x, Number y]) <- lookup (FA 2 ) s+ return $ KLAMA x y+ readGalfi s = do TUhA (KOhA "ko") <- lookup (FA 1) s LO (Brivla "foldi") Nothing <- lookup (FA 2) s@@ -196,7 +202,8 @@ _ -> fail "bad" data Command- = CRAKLA Double | RIXYKLA Double+ = KLAMA Double Double+ | CRAKLA Double | RIXYKLA Double | ZUNLE Double | PRITU Double | PEBYCISNI Double | PEBYSKA Int Int Int@@ -222,6 +229,7 @@ data LR = L | R | BadLR deriving Show processInput :: Field -> Turtle -> Command -> IO Bool+processInput _ t (KLAMA x y) = goto t x y >> return True processInput _ t (CRAKLA d) = forward t d >> return True processInput _ t (RIXYKLA d) = backward t d >> return True processInput _ t (ZUNLE d) = left t d >> return True