packages feed

mini-egison-1.0.0: mini-egison.cabal

cabal-version: 1.12

name:           mini-egison
version:        1.0.0
synopsis:    Template Haskell Implementation of Egison Pattern Matching
description: This package provides the pattern-matching facility that fulfills the following three criteria for practical pattern matching for non-free data types\: (i) non-linear pattern matching with backtracking; (ii) extensibility of pattern-matching algorithms; (iii) ad-hoc polymorphism of patterns.
  Non-free data types are data types whose data have no standard forms.
  For example, multisets are non-free data types because the multiset '[a,b,b]' has two other equivalent but literally different forms '[b,a,b]' and '[b,b,a]'.
  .
  The design of the pattern-matching facility is originally proposed in <https://arxiv.org/abs/1808.10603 this paper> and implemented in <http://github.com/egison/egison/ the Egison programming language>.

homepage:       https://github.com/egison/egison-haskell#readme
bug-reports:    https://github.com/egison/egison-haskell/issues
author:         Mayuko Kori, Satoshi Egi
maintainer:     Satoshi Egi <egi@egison.org>
license:        MIT
license-file:   LICENSE
category:       Data, Pattern
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md

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

library
  exposed-modules:
      Control.Egison
      Control.Egison.Core
      Control.Egison.Match
      Control.Egison.Matcher
      Control.Egison.QQ
  other-modules:
      Paths_mini_egison
  hs-source-dirs:
      src
  build-depends:
      base >=4.7 && <5
    , mtl
    , recursion-schemes
    , haskell-src-exts
    , haskell-src-meta
    , template-haskell
    , egison-pattern-src >= 0.2.1 && < 0.3
    , egison-pattern-src-th-mode >= 0.2.1 && < 0.3
  default-language: Haskell2010
  default-extensions:
      TemplateHaskell
    , QuasiQuotes
    , GADTs
    , ExistentialQuantification
    , DataKinds
    , MultiParamTypeClasses
    , TypeFamilies
    , TypeOperators
    , FlexibleInstances
    , FlexibleContexts
    , TupleSections
    , Strict
    , StrictData
    , NamedFieldPuns
  ghc-options:  -O3
  
test-suite mini-egison-test
  type: exitcode-stdio-1.0
  main-is: Test.hs
  other-modules:
      Spec
      Paths_mini_egison
  hs-source-dirs:
      test
  build-depends:
      base >=4.7 && <5
    , mini-egison
    , hspec
    , primes
  default-language: Haskell2010
  default-extensions:
      QuasiQuotes
    , GADTs
  ghc-options: -O3

Executable cdcl
  Main-is:             cdcl.hs
  Build-depends:
      base >=4.7 && <5
    , mini-egison
    , sort
  Hs-Source-Dirs:      sample
  default-language: Haskell2010
  ghc-options:  -O3