cabal-version: 2.4
name:          debruijn-safe
version:       0.3
license:       BSD-3-Clause
license-file:  LICENSE
category:      Development
synopsis:      de Bruijn indices and levels
description:
  de Bruijn indices and levels for well-scoped terms.
  .
  This is "safe", but slow implementation.

author:        Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer:    Oleg Grenrus <oleg.grenrus@iki.fi>
build-type:    Simple
tested-with:   GHC ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1

source-repository head
  type:     git
  location: https://github.com/phadej/debruijn.git
  subdir:   debruijn-safe

library
  default-language:   Haskell2010
  ghc-options:        -Wall -Wno-unticked-promoted-constructors
  hs-source-dirs:     src src-common

  -- GHC-boot libraries
  build-depends:
    , base     ^>=4.16.3.0 || ^>=4.17.0.0 || ^>=4.18.0.0 || ^>=4.19.0.0 || ^>=4.20.0.0
    , deepseq  ^>=1.4.6.1  || ^>=1.5.0.0

  -- rest of the dependencies
  build-depends:
    , fin   ^>=0.3.1
    , some  ^>=1.0.6

  exposed-modules:
    DeBruijn
    DeBruijn.Add
    DeBruijn.Ctx
    DeBruijn.Env
    DeBruijn.Idx
    DeBruijn.Lte
    DeBruijn.Lvl
    DeBruijn.Ren
    DeBruijn.Size
    DeBruijn.Sub
    DeBruijn.Wk

  other-modules:
    DeBruijn.RenExtras
    TrustworthyCompat

  default-extensions:
    BangPatterns
    DataKinds
    DeriveGeneric
    DeriveTraversable
    DerivingStrategies
    EmptyCase
    FlexibleInstances
    FunctionalDependencies
    GADTs
    OverloadedStrings
    PatternSynonyms
    QuantifiedConstraints
    RankNTypes
    RoleAnnotations
    ScopedTypeVariables
    StandaloneDeriving
    StandaloneKindSignatures
    TypeApplications
    TypeOperators
    ViewPatterns