Name: egison Version: 4.1.1 Synopsis: Programming language with non-linear pattern-matching against non-free data Description: An interpreter for Egison, a **pattern-matching-oriented**, purely functional programming language. We can directly represent pattern-matching against lists, multisets, sets, trees, graphs and any kind of data types. . We can find Egison programs in @lib@ and @sample@ directories. This package also include Emacs Lisp file @elisp/egison-mode.el@. . We can do non-linear pattern-matching against non-free data types in Egison. An non-free data type is a data type whose data have no canonical form, a standard way to represent that object. It enables us to write elegant programs. . /Twin Primes/ . We can use pattern-matching for enumeration. The following code enumerates all twin primes from the infinite list of prime numbers with pattern-matching! . <> . /Poker Hands/ . The following code is the program that determines poker-hands written in Egison. All hands are expressed in a single pattern. . <> . /Mahjong/ . We can write a pattern even against mahjong tiles. We modularize patterns to represent complex mahjong hands. . <> . /Graphs/ . We can pattern-match against graphs. We can write program to solve the travelling salesman problem in a single pattern-matching expression. . <> . Aren't thsese exciting? We can run these demonstrations on our website! Please view and try more demonstrations! . . Egison makes programming dramatically simple. Please enjoy Egison! Homepage: http://www.egison.org License: MIT License-file: LICENSE Author: Satoshi Egi, Ryo Tanaka, Takahisa Watanabe, Kentaro Honda, Mayuko Kori, Momoko Hattori Maintainer: Satoshi Egi Category: Compilers/Interpreters Build-type: Simple Cabal-version: 2.0 Extra-Source-Files: benchmark/Benchmark.hs Data-files: lib/core/shell.egi lib/core/*.egi lib/math/*.egi lib/math/common/*.egi lib/math/algebra/*.egi lib/math/analysis/*.egi lib/math/geometry/*.egi sample/*.egi sample/sat/*.egi sample/math/geometry/*.egi sample/math/number/*.egi test/*.egi test/lib/core/*.egi test/lib/math/*.egi elisp/egison-mode.el source-repository head type: git location: https://github.com/egison/egison.git Library default-language: Haskell2010 Build-Depends: base >= 4.7 && < 5 , array , random , containers , unordered-containers , haskeline , transformers , mtl >=2.2.1 , parsec >= 3.0 , megaparsec >= 7.0.0 , parser-combinators , directory , ghc , ghc-paths , text , regex-tdfa , process , vector , split , hashable , optparse-applicative , prettyprinter , unicode-show , sweet-egison >= 0.1.1.2 if !impl(ghc > 8.0) Build-Depends: fail Hs-Source-Dirs: hs-src Exposed-Modules: Language.Egison Language.Egison.AST Language.Egison.Core Language.Egison.CmdOptions Language.Egison.Completion Language.Egison.Desugar Language.Egison.Data Language.Egison.Data.Collection Language.Egison.Data.Utils Language.Egison.EvalState Language.Egison.Eval Language.Egison.IExpr Language.Egison.Match Language.Egison.Math.Arith Language.Egison.Math.Expr Language.Egison.Math.Normalize Language.Egison.Math.Rewrite Language.Egison.Math Language.Egison.MathOutput Language.Egison.MList Language.Egison.Parser Language.Egison.Parser.SExpr Language.Egison.Parser.NonS Language.Egison.Pretty Language.Egison.PrettyMath.AST Language.Egison.PrettyMath.AsciiMath Language.Egison.PrettyMath.Latex Language.Egison.PrettyMath.Mathematica Language.Egison.PrettyMath.Maxima Language.Egison.Primitives Language.Egison.Primitives.Arith Language.Egison.Primitives.IO Language.Egison.Primitives.String Language.Egison.Primitives.Types Language.Egison.Primitives.Utils Language.Egison.RState Language.Egison.Tensor Other-modules: Paths_egison autogen-modules: Paths_egison ghc-options: -O3 -Wall -Wno-name-shadowing -Wno-incomplete-patterns Test-Suite test default-language: Haskell2010 Type: exitcode-stdio-1.0 Hs-Source-Dirs: test Main-Is: Test.hs Build-Depends: egison , base >= 4.0 && < 5 , transformers , mtl , Glob , HUnit , test-framework , test-framework-hunit , filepath Other-modules: Paths_egison autogen-modules: Paths_egison ghc-options: -Wall -Wno-name-shadowing Benchmark benchmark default-language: Haskell2010 Type: exitcode-stdio-1.0 Hs-Source-Dirs: benchmark Main-Is: Benchmark.hs Build-Depends: egison , base >= 4.0 && < 5 , criterion >= 0.5 Other-modules: Paths_egison autogen-modules: Paths_egison ghc-options: -Wall -Wno-name-shadowing Executable egison default-language: Haskell2010 Main-is: egison.hs Build-depends: egison , base >= 4.0 && < 5 , array , containers , exceptions , unordered-containers , haskeline , transformers , mtl , parsec >= 3.1 , directory , ghc , ghc-paths , filepath , text , process , regex-tdfa , vector , optparse-applicative if !impl(ghc > 8.0) Build-Depends: semigroups Hs-Source-Dirs: hs-src/Interpreter Other-modules: Paths_egison autogen-modules: Paths_egison ghc-options: -O3 -threaded -eventlog -rtsopts -Wall -Wno-name-shadowing Executable egison-translate default-language: Haskell2010 Main-is: translator.hs Build-depends: egison , base >= 4.0 && < 5 , prettyprinter , split Hs-Source-Dirs: hs-src/Tool ghc-options: -Wall -Wno-name-shadowing