packages feed

hbf-0.1.0.1: hbf.cabal

-- This file has been generated from package.yml by hpack version 0.27.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: 2e87a5cd02b71c60a1afaedd80f0d5c77071e5f883c57143f3d73b46e3de20fa

name:                hbf
version:             0.1.0.1
cabal-version:       >= 1.10
build-type:          Simple
license:             GPL-3
license-file:        LICENSE
tested-with:         GHC == 8.2.1, GHC == 8.2.2, GHC == 8.4.1, GHC == 8.4.2, GHC == 8.4.3
author:              Sebastian Galkin
maintainer:          paraseba@gmail.com
copyright:           Sebastian Galkin, 2018
synopsis:            An optimizing Brainfuck compiler and evaluator
description:         hbf is a compiler and executor of Brainfuck programs. It provides two executables: @hbfc@ the Brainfuck compiler, and @hbf@ the virtual machine that executes compiled Brainfuck programs.
homepage:            https://github.com/paraseba/hbf
bug-reports:         https://github.com/paraseba/hbf/issues
category:            Language

extra-source-files:
    ChangeLog.md
    README.md
    tests/allfeatures.bf
    tests/factor.bf
    tests/squares.bf

source-repository head
  type: git
  location: git@github.com:paraseba/hbf.git

flag dump
  description: Dump stg and core files
  manual: True
  default: False

flag profile
  description: Enable profiling in benchmarks
  manual: True
  default: False

library
  exposed-modules:
      HBF.Types
      HBF.Parser
      HBF.Eval
      HBF.Compiler
  other-modules:
      Paths_hbf
  build-depends:
      base >=4.10.0.0 && <4.13
    , binary >=0.8.5.1
    , bytestring >=0.10.8.0
    , deepseq >=1.4.3.0
    , filepath >=1.4.1.2
    , optparse-applicative >=0.14.0.0
    , parsec >=3.1.13.0
    , primitive >=0.6.2.0
    , text >=1.2.2.0
    , transformers >=0.5.2.0
    , vector >=0.12.0.1
  if flag(dump)
    ghc-options: -ddump-simpl -ddump-stg -ddump-to-file -dsuppress-idinfo -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques
  if flag(profile)
    ghc-options: -fprof-auto
  hs-source-dirs:
      src
  default-language: Haskell2010
  ghc-options: -Wall -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction

executable hbf
  main-is: Main.hs
  other-modules:
      Paths_hbf
  hs-source-dirs:
      src/exe/hbf
  ghc-options: -Wall -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction
  build-depends:
      base >=4.10.0.0 && <4.13
    , binary >=0.8.5.1
    , bytestring >=0.10.8.0
    , deepseq >=1.4.3.0
    , filepath >=1.4.1.2
    , hbf
    , optparse-applicative >=0.14.0.0
    , parsec >=3.1.13.0
    , primitive >=0.6.2.0
    , text >=1.2.2.0
    , transformers >=0.5.2.0
    , vector >=0.12.0.1
  if flag(profile)
    ghc-options: -fprof-auto -with-rtsopts='-p -s -h -i0.05'
  default-language: Haskell2010

executable hbfc
  main-is: Main.hs
  other-modules:
      Paths_hbf
  hs-source-dirs:
      src/exe/hbfc
  ghc-options: -Wall -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction
  build-depends:
      base >=4.10.0.0 && <4.13
    , binary >=0.8.5.1
    , bytestring >=0.10.8.0
    , deepseq >=1.4.3.0
    , filepath >=1.4.1.2
    , hbf
    , optparse-applicative >=0.14.0.0
    , parsec >=3.1.13.0
    , primitive >=0.6.2.0
    , text >=1.2.2.0
    , transformers >=0.5.2.0
    , vector >=0.12.0.1
  default-language: Haskell2010

test-suite doctest
  type: exitcode-stdio-1.0
  main-is: doctest.hs
  hs-source-dirs:
      tests
  ghc-options: -Wall -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -threaded -with-rtsopts=-N
  build-depends:
      base >=4.10.0.0 && <4.13
    , binary >=0.8.5.1
    , bytestring >=0.10.8.0
    , deepseq >=1.4.3.0
    , doctest
    , filepath >=1.4.1.2
    , hbf
    , optparse-applicative >=0.14.0.0
    , parsec >=3.1.13.0
    , primitive >=0.6.2.0
    , text >=1.2.2.0
    , transformers >=0.5.2.0
    , vector >=0.12.0.1
  default-language: Haskell2010

test-suite test
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  hs-source-dirs:
      tests
  main-is: test.hs
  build-depends:
      HUnit >=1.3.1.0
    , base >=4.10.0.0 && <4.13
    , binary >=0.8.5.1
    , bytestring >=0.10.8.0
    , deepseq >=1.4.3.0
    , filepath >=1.4.1.2
    , hbf
    , hedgehog >=0.5
    , hedgehog-checkers >=0.1.0.0
    , optparse-applicative >=0.14.0.0
    , parsec >=3.1.13.0
    , primitive >=0.6.2.0
    , smallcheck >=1.1
    , tasty >=0.11.2.1
    , tasty-discover >=2.0.0
    , tasty-hedgehog >=0.1.0.0
    , tasty-hunit >=0.9.2
    , tasty-smallcheck >=0.8
    , temporary >=1.2.0.3
    , text >=1.2.2.0
    , transformers >=0.5.2.0
    , vector >=0.12.0.1
  ghc-options: -Wall -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -threaded -with-rtsopts=-N
  other-modules:
      ParserTest
      CompilerTest
      EvalTest
      IntegrationTests
      Helper

benchmark evalbench
  other-modules:
      Paths_hbf
  hs-source-dirs:
      bench
  ghc-options: -Wall -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -threaded -with-rtsopts=-N
  type: exitcode-stdio-1.0
  main-is: Main.hs
  default-language: Haskell2010
  build-depends:
      base >=4.10.0.0 && <4.13
    , binary >=0.8.5.1
    , bytestring >=0.10.8.0
    , criterion >=1.1.4.0
    , deepseq >=1.4.3.0
    , filepath >=1.4.1.2
    , hbf
    , optparse-applicative >=0.14.0.0
    , parsec >=3.1.13.0
    , primitive >=0.6.2.0
    , text >=1.2.2.0
    , transformers >=0.5.2.0
    , vector >=0.12.0.1