cabal-version:   3.0
name:            gardground-core
version:         0.1.0.0
synopsis:        GardGround core and utilities
license:         Apache-2.0
license-file:    LICENSE
author:          Alain Emilia Anna Zscheile
maintainer:      fogti+devel@ytrizja.de
category:        Dependent types
build-type:      Simple

common warnings
    ghc-options: -W -Wall

library
    import:           warnings

    exposed-modules:
        GardGround.Syntax.Literal
        GardGround.Utils.Fusion
        GardGround.Utils.ListMaybe
        GardGround.Utils.ScopeMask
        GardGround.Utils.SteParser
        GardGround.Utils.SteParser.Lex
        GardGround.Utils.SteParser.List
        GardGround.Syntax.Abstract

    other-extensions:
        DeriveFunctor
        DeriveGeneric
        DerivingVia
        ExistentialQuantification
        FlexibleInstances
        MultiParamTypeClasses
        OverloadedStrings
        RankNTypes
        TypeFamilies
        TypeOperators

    build-depends:
        base         (>= 4.16.0.0 && <4.19)
      , bytestring   ^>= 0.11.0.0
      , deepseq      (>= 1.1 && <1.6)
      , generic-data ^>= 1.1.0.0
      , hashable     ^>= 1.4.3.0
      , mtl          ^>= 2.3.1
      , text         (>= 1.2.5.0 && < 2.2)
      , text-icu     ^>= 0.8.0.0
      , transformers ^>= 0.6.0.0
      , unordered-containers ^>= 0.2.17.0
      , utf8-string  ^>= 1.0.0

    hs-source-dirs:   lib
    default-language: Haskell2010

test-suite gardground-test
    import:           warnings
    default-language: Haskell2010

    type:             exitcode-stdio-1.0
    hs-source-dirs:   test
    main-is:          Main.hs

    build-depends:
        base         (>= 4.16.0.0 && <4.19)
      , falsify       >= 0.2
      , tasty         >= 1.5
      , gardground-core