packages feed

egison 0.1.2 → 0.1.2.1

raw patch · 3 files changed

+34/−3 lines, 3 filesdep +parsec2dep −parsec3

Dependencies added: parsec2

Dependencies removed: parsec3

Files

Egison.hs view
@@ -10,7 +10,7 @@ main :: IO () main = do args <- getArgs           case length args of-              0 -> do flushStr "Egison, version 0.1.2 : http://hagi.is.s.u-tokyo.ac.jp/~egi/egison/\nWelcome to Egison Interpreter!\n"+              0 -> do flushStr "Egison, version 0.1.2.1 : http://hagi.is.s.u-tokyo.ac.jp/~egi/egison/\nWelcome to Egison Interpreter!\n"                       defsRef <- newIORef []                       runRepl defsRef               _ -> putStrLn "Program takes only 0 argument!"
egison.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version:             0.1.2+Version:             0.1.2.1  -- A short (one-line) description of the package. Synopsis:            An Interpreter for the Programming Language Egison@@ -60,7 +60,7 @@   Main-is:             Egison.hs      -- Packages needed in order to build this package.-  Build-depends:       base >= 4.0 && < 5, haskell98, mtl, parsec3+  Build-depends:       base >= 4.0 && < 5, haskell98, mtl, parsec2      -- Modules not exported by this package.   -- Other-modules:       
etc/sample/list-test.egi view
@@ -371,3 +371,34 @@       {[<nil> {}]        [<cons $a $rs>         {@(reverse rs) a}]})))+++(define $min+  (lambda [$Ns]+    (match Ns (List Int)+      {[<cons $n <nil>> n]+       [<cons $n $Rs>+        (let {[$r (min Rs)]}+          (match (compare n r) Order+            {[<less> n]+             [_ r]}))]})))       ++(define $gcd+  (lambda [$Ns]+    (let {[$Ns2 (remove-all Ns 0)]}+      (match ns2 (Multiset Int)+        {[<cons $n <nil>> n]+         [<cons ,(min Ns2)+                $Rs>+          (gcd {n @(map (lambda [$r] (mod r n))+                        Rs)})]}))))++(define $gcd+  (lambda [$Ns]+    (let {[$Ns2 (remove-all Ns 0)]}+      (match Ns2 (Set Int)+        {[<cons $n <nil>> n]+         [<cons ,(min Ns2)+                $Rs>+          (gcd {n @(map (lambda [$r] (mod r n))+                        Rs)})]}))))