name: DeepDarkFantasy
version: 0.2017.8.10
cabal-version: 1.12
build-type: Simple
license: Apache
tested-with: GHC == 8.0.2
maintainer: lolisa@marisa.moe
category: DSL
description: Deep Dark Fantasy(DDF) is a domain specific language that allow one to automatically derive derivative of program in DDF. Hence, one can write neural network in DDF and use the derivative program for gradient descend. 
synopsis: A DSL for creating neural network.
license-file: LICENSE

Flag WError
  Description: make warning error
  Manual: True
  Default: False

source-repository head
  type: git
  location: https://github.com/ThoughtWorksInc/DeepDarkFantasy
             
library
  exposed-modules: DDF.Bimap
                   DDF.Bool
                   DDF.Char
                   DDF.DBI
                   DDF.Diff
                   DDF.DiffWrapper
                   DDF.Double
                   DDF.Dual
                   DDF.Eval
                   DDF.Fix
                   DDF.Float
                   DDF.FreeVector
                   DDF.ImportMeta
                   DDF.ImpW
                   DDF.Int
                   DDF.IO
                   DDF.Lang
                   DDF.List
                   DDF.Map
                   DDF.Meta.Diff
                   DDF.Meta.DiffWrapper
                   DDF.Meta.Dual
                   DDF.Meta.FreeVector
                   DDF.Meta.VectorTF
                   DDF.Option
                   DDF.PE
                   DDF.Prod
                   DDF.Sam.Hello
                   DDF.Sam.Poly
                   DDF.Sam.Xor
                   DDF.Show
                   DDF.Size
                   DDF.Sum
                   DDF.Term
                   DDF.TermGen
                   DDF.UnHOAS
                   DDF.Unit
                   DDF.UnLiftEnv
                   DDF.Util
                   DDF.Vector
                   DDF.VectorTF
                   DDF.WithDiff
                   DDF.Y
  build-depends: base >= 4.9.0.0 && <= 4.9.1.0,
                 mtl -any,
                 random -any,
                 constraints -any,
                 containers -any,
                 bimap -any,
                 recursion-schemes -any,
                 template-haskell -any
  ghc-options: -Wall -Wno-type-defaults -Wno-missing-signatures -Wno-orphans -fwarn-tabs -ferror-spans -Wno-partial-type-signatures
  if flag(WError)
    ghc-options: -Werror
  default-language: Haskell2010

test-Suite TestPoly
  type: exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs: test
  main-is: TestPoly.hs
  build-depends:
    base >= 4.9.0.0 && <= 4.9.1.0,
    mtl -any,
    random -any,
    constraints -any,
    DeepDarkFantasy -any

test-Suite TestXor
  type: exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs: test
  main-is: TestXor.hs
  build-depends:
    base >= 4.9.0.0 && <= 4.9.1.0,
    mtl -any,
    random -any,
    constraints -any,
    DeepDarkFantasy -any

test-Suite TestPE
  type: exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs: test
  main-is: TestPE.hs
  build-depends:
    base >= 4.9.0.0 && <= 4.9.1.0,
    mtl -any,
    random -any,
    constraints -any,
    QuickCheck -any,
    DeepDarkFantasy -any