packages feed

madlang-2.1.0.1: madlang.cabal

name: madlang
version: 2.1.0.1
cabal-version: >=1.10
build-type: Simple
license: BSD3
license-file: LICENSE
copyright: Copyright: (c) 2016 Vanessa McHale
maintainer: tmchale@wisc.edu
stability: experimental
homepage: https://github.com/vmchale/madlang#readme
synopsis: Randomized templating language DSL
description:
    Please see README.md
category: Web
author: Vanessa McHale
extra-source-files:
    README.md
    test/templates/fortune-teller.mad
    test/templates/gambling.mad
    test/templates/var.mad
    test/templates/ordered.mad
    test/templates/include.mad
    test/templates/err/*.mad
    bench/templates/*.mad
    stack.yaml
    bash/mkCompletions

source-repository head
    type: git
    location: https://github.com/vmchale/madlang

flag llvm-fast
    description:
        Enable build with llvm backend
    default: False

library
    exposed-modules:
        Text.Madlibs
    build-depends:
        base >=4.7 && <5,
        megaparsec >=5.2.0 && <5.3,
        text >=1.2.2.1 && <1.3,
        optparse-applicative >=0.13.2.0 && <0.14,
        composition >=1.0.2.1 && <1.1,
        directory >=1.3.0.0 && <1.4,
        mwc-random >=0.13.5.0 && <0.14,
        mtl >=2.2.1 && <2.3,
        ansi-wl-pprint >=0.6.7.3 && <0.7,
        containers >=0.5.7.1 && <0.6,
        tibetan-utils >=0.1.1.2 && <0.2,
        lens >=4.15.1 && <4.16
    default-language: Haskell2010
    default-extensions: OverloadedStrings DeriveGeneric DeriveFunctor
                        DeriveAnyClass
    hs-source-dirs: src
    other-modules:
        Text.Madlibs.Ana.ParseUtils
        Text.Madlibs.Cata.Run
        Text.Madlibs.Ana.Parse
        Text.Madlibs.Ana.Resolve
        Text.Madlibs.Internal.Types
        Text.Madlibs.Internal.Utils
        Text.Madlibs.Cata.SemErr
        Text.Madlibs.Exec.Main

executable madlang
    
    if flag(llvm-fast)
        ghc-options: -threaded -rtsopts -with-rtsopts=-N -fllvm -optlo-O3 -O3
    else
        ghc-options: -threaded -rtsopts -with-rtsopts=-N
    main-is: Main.hs
    build-depends:
        base >=4.9.1.0 && <4.10,
        madlang >=2.1.0.1 && <2.2
    default-language: Haskell2010
    hs-source-dirs: app

test-suite madlang-test
    type: exitcode-stdio-1.0
    main-is: Spec.hs
    build-depends:
        base >=4.9.1.0 && <4.10,
        madlang >=2.1.0.1 && <2.2,
        hspec >=2.4.3 && <2.5,
        megaparsec >=5.2.0 && <5.3,
        text >=1.2.2.1 && <1.3,
        mtl >=2.2.1 && <2.3,
        hspec-megaparsec >=0.3.1 && <0.4
    default-language: Haskell2010
    hs-source-dirs: test
    ghc-options: -threaded -rtsopts -with-rtsopts=-N

benchmark tweeths-bench
    
    if flag(llvm-fast)
        ghc-options: -threaded -rtsopts -with-rtsopts=-N -fllvm -optlo-O3 -O3
    else
        ghc-options: -threaded -rtsopts -with-rtsopts=-N -O3
    type: exitcode-stdio-1.0
    main-is: Bench.hs
    build-depends:
        base >=4.9.1.0 && <4.10,
        criterion >=1.1.4.0 && <1.2,
        madlang >=2.1.0.1 && <2.2,
        megaparsec >=5.2.0 && <5.3,
        text >=1.2.2.1 && <1.3
    default-language: Haskell2010
    hs-source-dirs: bench