packages feed

egison-5.0.0: egison.cabal

Name:                egison
Version:             5.0.0
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
  with a static type system.
  We can directly represent pattern-matching against lists, multisets, sets, trees, graphs and any kind of data types.
  .
  Egison 5 introduces a static type system with type classes, inductive data types,
  type inference, and type annotations, while preserving the expressive pattern-matching of Egison 4.
  .
  We can find Egison programs in @lib@ and @sample@ directories.
  This package also include Emacs Lisp file @emacs/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.
  .
  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 <egi@egison.org>
Category:            Compilers/Interpreters
Build-type:          Simple
Cabal-version:       2.0

Data-files:          lib/core/*.egi
                     lib/math/*.egi
                     lib/math/common/*.egi
                     lib/math/algebra/*.egi
                     lib/math/analysis/*.egi
                     lib/math/geometry/*.egi

Extra-doc-files:     Changelog.md

Extra-source-files:  README.md
                     benchmark/Benchmark.hs
                     benchmark/*.egi
                     test/lib/math/*.egi
                     test/lib/core/*.egi
                     sample/*.egi
                     sample/database/*.egi
                     sample/io/*.egi
                     sample/math/algebra/*.egi
                     sample/math/analysis/*.egi
                     sample/math/geometry/*.egi
                     sample/math/number/*.egi
                     sample/physics/*.egi
                     sample/repl/*.egi
                     sample/rosetta/*.egi
                     sample/sat/*.egi
                     emacs/egison-mode.el

source-repository head
  type: git
  location: https://github.com/egison/egison.git

Library
  default-language:    GHC2021
  Build-Depends:
      base                 >= 4.8     && < 5
    , random               >= 1.0     && < 2
    , containers           >= 0.6     && < 0.8
    , unordered-containers >= 0.1.0.0 && < 0.3
    , haskeline            >= 0.7     && < 0.9
    , transformers         >= 0.4     && < 0.7
    , mtl                  >= 2.2.2   && < 3
    , parsec               >= 3.0     && < 4
    , megaparsec           >= 7.0.0   && < 12
    , parser-combinators   >= 1.0     && < 2
    , directory            >= 1.3.0   && < 2
    , filepath             >= 1.4     && < 2
    , text                 >= 0.2     && < 2.2
    , regex-tdfa           >= 1.2.0   && < 2
    , process              >= 1.0     && < 2
    , vector               >= 0.12    && < 0.14
    , hashable             >= 1.0     && < 2
    , optparse-applicative >= 0.14    && < 0.20
    , prettyprinter        >= 1.0     && < 2
    , unicode-show         >= 0.1     && < 0.2
    , sweet-egison         >= 0.1.2.1 && < 0.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.EnvBuilder
                  Language.Egison.VarEntry
                  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.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
                   Language.Egison.Type
                   Language.Egison.Type.Check
                   Language.Egison.Type.Env
                   Language.Egison.Type.Error
                   Language.Egison.Type.Index
                   Language.Egison.Type.Infer
                   Language.Egison.Type.Subst
                   Language.Egison.Type.TensorMapInsertion
                   Language.Egison.Type.TypeClassExpand
                   Language.Egison.Type.Tensor
                   Language.Egison.Type.TypedDesugar
                   Language.Egison.Type.Types
                   Language.Egison.Type.Unify
                   Language.Egison.Type.Instance
                   Language.Egison.Type.Pretty
  Other-modules:   Paths_egison
  autogen-modules: Paths_egison
  ghc-options:  -Wall -Wno-name-shadowing -Wno-incomplete-patterns

Test-Suite test
  default-language:    GHC2021
  Type:           exitcode-stdio-1.0
  Hs-Source-Dirs: test
  Main-Is:        Test.hs
  Build-Depends:
      egison
    , base >= 4.8 && < 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:    GHC2021
  Type: exitcode-stdio-1.0
  Hs-Source-Dirs:  benchmark
  Main-Is: Benchmark.hs
  Build-Depends:
      egison
    , base >= 4.8 && < 5
    , criterion >= 0.5
    , transformers
  Other-modules:   Paths_egison
  autogen-modules: Paths_egison
  ghc-options:  -Wall -Wno-name-shadowing

Executable egison
  default-language:    GHC2021
  Main-is:             egison.hs
  Build-depends:
      egison
    , base >= 4.0 && < 5
    , exceptions           >= 0.10    && < 0.11
    , haskeline
    , mtl
    , directory
    , filepath             >= 1.4     && < 2
    , text
    , regex-tdfa
    , 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:  -threaded -rtsopts -Wall -Wno-name-shadowing