Name: egison Version: 4.0.2 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 , mini-egison >= 1.0.0 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.IState Language.Egison.MathExpr 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.Tensor Language.Egison.Types 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 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 , deepseq , criterion >= 0.5 , transformers , mtl Other-modules: Paths_egison autogen-modules: Paths_egison Executable egison default-language: Haskell2010 Main-is: egison.hs Build-depends: egison , base >= 4.0 && < 5 , array , containers , 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