packages feed

rebound-0.1.1.0: rebound.cabal

cabal-version:  3.0
name:           rebound
version:        0.1.1.0
description:    Please see the README on GitHub at <https://github.com/sweirich/rebound>
homepage:       https://github.com/sweirich/rebound
bug-reports:    https://github.com/sweirich/rebound/issues
author:         Stephanie Weirich, Noe De Santo
maintainer:     sweirich@seas.upenn.edu, ndesanto@seas.upenn.edu
copyright:      2025 Stephanie Weirich, Noe De Santo
license:        MIT
license-file:   LICENSE
build-type:     Simple
extra-doc-files:
    README.md
    ChangeLog.md
category:       Language
synopsis:       A variable binding library based on well-scoped de Bruijn indices.

common common-stanza
  ghc-options:
     -Wno-type-defaults
     -Wincomplete-patterns
  default-language:
    GHC2021
  default-extensions:
    KindSignatures
    , DataKinds
    , GADTs
    , StandaloneDeriving
    , LambdaCase
    , QuantifiedConstraints
    , TypeFamilies
    , AllowAmbiguousTypes
    , UndecidableInstances
    , FunctionalDependencies
    , ViewPatterns
    , PatternSynonyms
    , PackageImports
    , DerivingStrategies

library
  import:
      common-stanza
  build-depends:
      base >= 4.15 && < 5.0
    , QuickCheck >= 2.15.0.1 && < 2.16
    , containers >= 0.6.8 && < 0.7
    , deepseq >= 1.5.1 && < 1.6
    , mtl >= 2.3.1 && < 2.4
    , fin >= 0.3.2 && < 0.4
    , vec >= 0.5.1 && < 0.6
  exposed-modules:
      Rebound
    , Rebound.Classes
    , Rebound.Context
    , Rebound.Env
    , Rebound.Env.Strict
    , Rebound.Env.Lazy
    , Rebound.Env.LazyA
    , Rebound.Env.LazyB
    , Rebound.Env.StrictA
    , Rebound.Env.StrictB
    , Rebound.Env.Functional
    , Rebound.Generics
    , Rebound.Lib
    , Rebound.MonadNamed
    , Rebound.MonadScoped
    , Rebound.Bind.Single
    , Rebound.Bind.Local
    , Rebound.Bind.PatN
    , Rebound.Bind.Pat
    , Rebound.Bind.Scoped
    , Rebound.Refinement
    , Data.SNat
    , Data.Fin
    , Data.Vec
    , Data.LocalName
    , Data.Scoped.Telescope
    , Data.Scoped.List
    , Data.Scoped.Classes
    , Data.Scoped.Maybe
  hs-source-dirs: src

test-suite rebound-tests
  import:
    common-stanza
  build-depends:
      base
    , rebound
    , containers
    , mtl
    , QuickCheck
    , tasty
    , tasty-hunit
    , tasty-quickcheck
  type:
    exitcode-stdio-1.0
  hs-source-dirs:
    examples
    test
  main-is:
    All.hs
  other-modules:
    LC
    LCQC
    LCLet
    PTS
    Pat
    DepMatch
    ScopeCheck
    HOAS
    SystemF
    PureSystemF
    LinLC
    Utils
    Examples.LC
    Examples.LCLet
    Examples.Pat
    Examples.PureSystemF
    Examples.PTS
    Examples.DepMatch
    Examples.LinLC