packages feed

cakyrespa 0.0.24 → 0.0.26

raw patch · 5 files changed

+52/−40 lines, 5 filesdep ~gluturtle

Dependency ranges changed: gluturtle

Files

cakyrespa.cabal view
@@ -2,7 +2,7 @@ cabal-version:	>= 1.6  name:		cakyrespa-version:	0.0.24+version:	0.0.26 stability:	Alpha license:	BSD3 license-file:	LICENSE@@ -26,5 +26,5 @@     main-is:		cakyrespa.hs     other-modules:	Minde, Jimpe, Tcidu, Liste, Klesi     build-depends:	base >3 && <5, lojbanParser >= 0.1.5,-        gluturtle >= 0.0.33, GLUT, yjsvg, yjtools >= 0.9.18+        gluturtle >= 0.0.35, GLUT, yjsvg, yjtools >= 0.9.18     ghc-options:	-Wall
src/Jimpe.hs view
@@ -27,6 +27,7 @@ 	MIDYSTE [jmi pavbri args, jmi relbri args] jmi (MultiText texts) args = MIDYSTE $ map (($ args) . jmi) texts jmi (Vocative "co'o") _ = COhO+jmi (Vocative "fe'o") _ = COhO jmi l _ = SRERA $ show l  type Midytcidu = [(Tag, Sumti)] -> [Sumti] -> Maybe Minde@@ -44,6 +45,7 @@ 	("cisnygau", cisnygau), 	("viska", viska), 	("rapli", rapli),+	("vimcu", vimcu), 	("xruti", xruti), 	("morji", morji), 	("gasnu", gasnu),@@ -64,6 +66,13 @@  klama, crakla, rixykla, carna, clugau, galfi, pilno, cisni, cisnygau, viska, 	rapli, xruti, morji, gasnu, rejgau, tcidu, napilno, naviska :: Midytcidu++vimcu terms args = do+	KOhA "ko" <- lookup (FA 1) terms+	selgau <- lookup (FA 2) terms+	apply args selgau $ \sg -> case sg of+		LO (Brivla "pixra") _ -> return VIMCULOPIXRA+		_ -> return $ SRERA $ show terms ++ " " ++ show args  klama terms args = do 	KOhA "ko" <- lookup (FA 1) terms
src/Klesi.hs view
@@ -18,6 +18,7 @@ 	| NAVISKA				| VISKA 	| CISNI Double				| CISNYGAUFOLDI Double Double 	| XRUTI+	| VIMCULOPIXRA 	| MORJI String ([Sumti] -> Minde)	| GASNU String [Sumti] 	| REJGAUSETAIJBO FilePath		| TCIDUSETAIJBO FilePath 	| REJGAUSETAICAK FilePath		| TCIDU FilePath
src/Minde.hs view
@@ -3,8 +3,8 @@ import Klesi(Minde(..), Sumti)  import Text.XML.YJSVG(showSVG)-import Graphics.UI.GLUT.Turtle(setFieldSize,-	Field, outputString,+import Graphics.UI.GLUT.Turtle(setFieldSize, Console,+	Field, consoleOutput, clear, 	Turtle, runInputs, inputs, getSVG, 	goto, forward, backward, left, right, beginfill, endfill, undo, 	penup, pendown, hideturtle, showturtle, shapesize,@@ -22,42 +22,43 @@ vabyciha :: a -> b -> IORef [(a, b)] -> IO () vabyciha cmene fasnu vanbi = atomicModifyIORef_ vanbi ((cmene, fasnu) :) -minde :: Field -> Turtle -> IORef [(String, [Sumti] -> Minde)] -> Minde -> IO Bool-minde _ t _ (KLAMA x y) = goto t x y >> return True-minde _ t _ (CRAKLA d) = forward t d >> return True-minde _ t _ (RIXYKLA d) = backward t d >> return True-minde _ t _ (ZUNLE d) = left t d >> return True-minde _ t _ (PRITU d) = right t d >> return True-minde _ t _ COhACLUGAU = beginfill t >> return True-minde _ t _ COhUCLUGAU = endfill t >> return True-minde _ t _ (PEBYCISNI s) = pensize t s >> return True-minde _ t _ (PEBYSKA r g b) = pencolor t (r, g, b) >> return True-minde _ t _ (BURSKA r g b) = fillcolor t (r, g, b) >> return True-minde _ t _ (FLOSKA r g b) = bgcolor t (r, g, b) >> return True-minde _ t _ NAPILNOLOPENBI = penup t >> return True-minde _ t _ PILNOLOPENBI = pendown t >> return True-minde _ t _ NAVISKA = hideturtle t >> return True-minde _ t _ VISKA = showturtle t >> return True-minde _ t _ (CISNI s) = shapesize t s s >> return True-minde f _ _ (CISNYGAUFOLDI w h) = setFieldSize f w h >> return True-minde _ t _ XRUTI = undo t >> return True-minde _ _ vanbi (MORJI cmene fasnu) = vabyciha cmene fasnu vanbi >> return True-minde f t vanbi (GASNU cmene sumti) = vabytcidu cmene vanbi >>=-	minde f t vanbi . maybe (SRERA $ "not defined: " ++ cmene) ($ sumti)-minde _ t _ (REJGAUSETAICAK fp) = inputs t >>= writeFile fp . show >> return True-minde _ t _ (TCIDU fp) = readFile fp >>= runInputs t . read >> return True-minde _ t _ (REJGAUSETAISVG fp) = do+minde :: Field -> Console -> Turtle -> IORef [(String, [Sumti] -> Minde)] -> Minde -> IO Bool+minde _ _ t _ (KLAMA x y) = goto t x y >> return True+minde _ _ t _ (CRAKLA d) = forward t d >> return True+minde _ _ t _ (RIXYKLA d) = backward t d >> return True+minde _ _ t _ (ZUNLE d) = left t d >> return True+minde _ _ t _ (PRITU d) = right t d >> return True+minde _ _ t _ COhACLUGAU = beginfill t >> return True+minde _ _ t _ COhUCLUGAU = endfill t >> return True+minde _ _ t _ (PEBYCISNI s) = pensize t s >> return True+minde _ _ t _ (PEBYSKA r g b) = pencolor t (r, g, b) >> return True+minde _ _ t _ (BURSKA r g b) = fillcolor t (r, g, b) >> return True+minde _ _ t _ (FLOSKA r g b) = bgcolor t (r, g, b) >> return True+minde _ _ t _ NAPILNOLOPENBI = penup t >> return True+minde _ _ t _ PILNOLOPENBI = pendown t >> return True+minde _ _ t _ NAVISKA = hideturtle t >> return True+minde _ _ t _ VISKA = showturtle t >> return True+minde _ _ t _ (CISNI s) = shapesize t s s >> return True+minde f _ _ _ (CISNYGAUFOLDI w h) = setFieldSize f w h >> return True+minde _ _ t _ VIMCULOPIXRA = clear t >> return True+minde _ _ t _ XRUTI = undo t >> return True+minde _ _ _ vanbi (MORJI cmene fasnu) = vabyciha cmene fasnu vanbi >> return True+minde f c t vanbi (GASNU cmene sumti) = vabytcidu cmene vanbi >>=+	minde f c t vanbi . maybe (SRERA $ "not defined: " ++ cmene) ($ sumti)+minde _ _ t _ (REJGAUSETAICAK fp) = inputs t >>= writeFile fp . show >> return True+minde _ _ t _ (TCIDU fp) = readFile fp >>= runInputs t . read >> return True+minde _ _ t _ (REJGAUSETAISVG fp) = do 	w <- windowWidth t 	h <- windowHeight t 	svg <- getSVG t 	writeFile fp $ showSVG w h svg 	return True-minde _ _ _ (REJGAUSETAIJBO _) = return True-minde _ _ _ (TCIDUSETAIJBO _) = return True-minde _ _ _ COhO = return False-minde f t vanbi (MIDYSTE cl) = mapWhile (minde f t vanbi) cl-minde f _ _ (SRERA str) = do-	outputString f ".i mi na jimpe"+minde _ _ _ _ (REJGAUSETAIJBO _) = return True+minde _ _ _ _ (TCIDUSETAIJBO _) = return True+minde _ _ _ _ COhO = return False+minde f c t vanbi (MIDYSTE cl) = mapWhile (minde f c t vanbi) cl+minde _ c _ _ (SRERA str) = do+	consoleOutput c ".i mi na jimpe" 	putStrLn $ "error: " ++ str 	return True 
src/cakyrespa.hs view
@@ -7,7 +7,8 @@  import Graphics.UI.GLUT(mainLoop) import Graphics.UI.GLUT.Turtle(-	initialize, openField, openConsole, setConsole, prompt, oninputtext,+	initialize, openField, openConsole, setConsole, consolePrompt,+	oncommand, 	newTurtle, notundo, shape, shapesize)	 import Data.IORef(newIORef, readIORef) import Data.IORef.Tools(atomicModifyIORef_)@@ -24,20 +25,20 @@ 	t <- newTurtle f 	env <- newIORef [] 	cmds <- newIORef []-	prompt f ".i "+	consolePrompt c ".i " 	shape t "turtle" 	shapesize t 3 3 	notundo t-	oninputtext f $ \cmd -> do+	oncommand f $ \cmd -> do 		let	p = parse cmd 			j = jimpe p 		case (p, j) of 			(_, REJGAUSETAIJBO fp) -> 				writeFile fp . unlines . reverse =<< readIORef cmds 			(_, TCIDUSETAIJBO fp) ->-				readFile fp >>= minde f t env . jimpe . parse+				readFile fp >>= minde f c t env . jimpe . parse 					>> return () 			(ParseError _, _) -> return () 			_ -> atomicModifyIORef_ cmds ((".i" ++ cmd) :)-		minde f t env j+		minde f c t env j 	mainLoop