name:                 type-of-html
version:              1.7.0.0
synopsis:             High performance type driven html generation.
description:          This library makes most invalid html documents compile time errors and uses advanced type level features to realise compile time computations.
license:              BSD3
license-file:         LICENSE
author:               Florian Knupfer
maintainer:           fknupfer@gmail.com
homepage:             https://github.com/knupfer/type-of-html
tested-with:          GHC == 9.0.1
                    , GHC == 8.10.3
                    , GHC == 8.8.4
                    , GHC == 8.6.5
                    , GHC == 8.4.4
                    , GHC == 8.2.2
copyright:            2017 - 2021, Florian Knupfer
category:             Language, Text, Web, HTML
build-type:           Simple
extra-source-files:   ChangeLog.md
                    , Readme.md
cabal-version:        >=1.10
source-repository     head
   Type: git
   Location: https://github.com/knupfer/type-of-html

library
  exposed-modules:    Html
                    , Html.Aria
                    , Html.Obsolete
                    , Html.Render
                    , Html.Type
                    , Html.Convert
                    , Html.QualifiedDo
  other-modules:      Html.Type.Internal
                    , Html.Reify
  hs-source-dirs:     src
  default-language:   Haskell2010
  ghc-options:        -Wall -O2
  build-depends:      base >= 4.10 && <= 5
                    , text
                    , bytestring
                    , ghc-prim
                    , double-conversion
                    , containers

test-suite value
  type:               exitcode-stdio-1.0
  main-is:            Value.hs
  hs-source-dirs:     test
  other-modules:      Custom
  ghc-options:        -Wall -O0
  default-language:   Haskell2010
  build-depends:      base >= 4.10 && <= 5
                    , type-of-html
                    , QuickCheck
                    , hspec

benchmark reduction
  type:               exitcode-stdio-1.0
  main-is:            Reduction.hs
  hs-source-dirs:     bench
  ghc-options:        -Wall -O2
  default-language:   Haskell2010
  build-depends:      base >= 4.10 && <= 5
                    , type-of-html

benchmark alloc
  type:               exitcode-stdio-1.0
  main-is:            Alloc.hs
  other-modules:      Small
                    , Medium
                    , ExampleTypeOfHtml
  hs-source-dirs:     bench
  ghc-options:        -Wall -O2
  default-language:   Haskell2010
  build-depends:      base >= 4.10 && <= 5
                    , type-of-html
                    , deepseq
                    , weigh
                    , ghc
                    , ghc-paths

benchmark perf
  type:               exitcode-stdio-1.0
  main-is:            Perf.hs
  other-modules:      Small
                    , Medium
                    , Blaze
                    , ExampleBlaze
                    , ExampleTypeOfHtml
  hs-source-dirs:     bench
  ghc-options:        -Wall -O2
  default-language:   Haskell2010
  build-depends:      base >= 4.10 && <= 5
                    , type-of-html
                    , text
                    , bytestring
                    , blaze-html
                    , criterion
                    , random