name:          open-adt-tutorial
version:       1.0
cabal-version: >= 1.10
category:      Data
build-type:    Simple
license:       BSD3
license-file:  LICENSE
copyright:     Copyright (c) 2018 Jordan Woehr
maintainer:    Jordan Woehr
homepage:      https://github.com/woehr/open-adt
bug-reports:   https://github.com/woehr/open-adt/issues

synopsis:      Open algebraic data type examples.

description:   Example usage of open-adt with haddock documentation. Read the
               "Data.OpenADT.Tutorial" module from top to bottom.

tested-with:   GHC == 8.2.1, GHC == 8.2.2,
               GHC == 8.4.1, GHC == 8.4.2, GHC == 8.4.3
--               GHC == 8.6.1

source-repository head
  type:     git
  location: https://github.com/woehr/open-adt

library
  build-depends: base              >= 4.9   && < 5
               , constraints       >= 0.8   && < 1
               , deriving-compat   >= 0.3   && < 1
               , open-adt          >= 1     && < 2
               , recursion-schemes >= 5     && < 6
               , row-types         >= 0.2.3 && < 1
               , template-haskell  >= 2.11  && < 3

  exposed-modules:  Data.OpenADT.Tutorial

  default-language: Haskell2010
  hs-source-dirs:   lib
  ghc-options:      -Wall
                    -Wcompat
                    -Wincomplete-uni-patterns
                    -Wincomplete-record-updates

executable open-adt-tutorial
  build-depends: open-adt-tutorial
               , base              >= 4.9

  main-is:          Main.hs

  default-language: Haskell2010
  hs-source-dirs:   src
  ghc-options:      -Wall
                    -Wcompat
                    -Wincomplete-uni-patterns
                    -Wincomplete-record-updates