packages feed

MagicHaskeller-0.9.6.4.1: MagicHaskeller.cabal

Name:            MagicHaskeller
Version:         0.9.6.4.1
Cabal-Version:   >= 1.8
License:         BSD3
License-file:	 LICENSE 
Author:	         Susumu Katayama
Maintainer:      Susumu Katayama <skata@cs.miyazaki-u.ac.jp>
Stability:       experimental
Homepage:        http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.html
bug-reports:     mailto:skata@cs.miyazaki-u.ac.jp
Synopsis:        Automatic inductive functional programmer by systematic search
Build-Type:      Simple
Category:        Language
data-files:      ExperimIOP.hs MagicHaskeller/predicates MagicHaskeller/predicatesAug2014 MagicHaskeller.conf MagicHaskeller/predicatesServed
Extra-source-files: xlmap
-- Tested-with:     GHC == 6.12.1
Tested-with:     GHC == 7.4.1, GHC == 7.6.3, GHC == 7.8.4

Flag TFRANDOM
  Description: Use the tf-random package instead of the random package
  Default:     True

Flag GHCAPI
  Description: Enable execution using the GHC API rather than the combinatory interpreter
  Default:     True

Flag GHC7
  Description: GHC API version 7.*
  Default:     True

Flag READFILE
  Description: Enable to read a component library file
  Default:     True

Flag DEBUG
  Description: Force typechecking at each dynamic application
  Default:     False

Flag NETWORKURI
  Description: Find Network.URI in network-uri rather than network < 2.6 (This is a workaround for the changes made in those packages.)
  Default:     True

-- Flag ForcibleTO
-- Flag Debug
-- Flag Benchmark

Library
  Build-depends:   old-time, template-haskell, base >= 4 && < 5, syb, containers, array, random, directory, bytestring, mtl, html, pretty, hashable
  Exposed-modules: MagicHaskeller, Control.Monad.Search.Combinatorial, Control.Monad.Search.Best, MagicHaskeller.ProgGen, MagicHaskeller.ProgGenSF,
                   MagicHaskeller.ProgGenSFIORef, MagicHaskeller.Expression, MagicHaskeller.LibTH, MagicHaskeller.Analytical, MagicHaskeller.Options, MagicHaskeller.Classification, MagicHaskeller.GetTime, MagicHaskeller.Minimal, MagicHaskeller.IOGenerator, MagicHaskeller.FastRatio, MagicHaskeller.LibExcel
  Other-modules:   MagicHaskeller.MemoToFiles, MagicHaskeller.ShortString, 
                   MagicHaskeller.Types, MagicHaskeller.PriorSubsts, Data.Memo, MagicHaskeller.ClassifyTr,
                   MagicHaskeller.CoreLang, MagicHaskeller.DebMT, MagicHaskeller.TyConLib,
                   MagicHaskeller.FakeDynamic, MagicHaskeller.PolyDynamic, MagicHaskeller.ReadTypeRep,
                   MagicHaskeller.ReadTHType, MagicHaskeller.TimeOut, MagicHaskeller.Execute, MagicHaskeller.T10,
                   MagicHaskeller.Instantiate, MagicHaskeller.Classify, MagicHaskeller.MHTH, MagicHaskeller.MyCheck,
                   MagicHaskeller.ExprStaged, MagicHaskeller.Combinators, MagicHaskeller.ReadDynamic,
                   MagicHaskeller.MyDynamic, MagicHaskeller.ClassifyDM, MagicHaskeller.ProgramGenerator, MagicHaskeller.Analytical.FMExpr,
                   MagicHaskeller.Analytical.Parser, MagicHaskeller.Analytical.Syntax, MagicHaskeller.Analytical.UniT, MagicHaskeller.Analytical.Synthesize,
                   MagicHaskeller.ExpToHtml, MagicHaskeller.FMType, MagicHaskeller.NearEq, MagicHaskeller.ClassLib, MagicHaskeller.LibExcelStaged
                   MagicHaskeller.ExpToHtml, MagicHaskeller.FMType, MagicHaskeller.NearEq, MagicHaskeller.ClassLib, MagicHaskeller.LibExcelStaged, MagicHaskeller.LibExcelStagedStaged
                   Paths_MagicHaskeller
  Extensions:    CPP, TemplateHaskell
  GHC-options:   -O2 -fvia-C
  cpp-options:   -DCHTO -DCABAL

  if flag(TFRANDOM)
    Build-depends:   tf-random <= 0.3
    cpp-options:     -DTFRANDOM

  if flag(GHCAPI) && !os(windows)
    Build-depends:   ghc >= 6.10, ghc-paths
    Exposed-modules: MagicHaskeller.RunAnalytical, MagicHaskeller.ExecuteAPI610

  if flag(READFILE)
    Build-depends:   haskell-src
    cpp-options:     -DHASKELLSRC
    Other-modules:   MagicHaskeller.ReadHsType

  if flag(DEBUG)
    cpp-options:     -DREALDYNAMIC

  if flag(NETWORKURI)
     Build-depends:  network >= 2.6, network-uri >= 2.6
  else
     Build-depends:  network < 2.6, network-uri < 2.6

Executable MagicHaskeller
   Main-is: MagicHaskeller/SimpleServer.hs
   Build-depends:   MagicHaskeller, old-time, template-haskell, base >= 4 && < 5, syb, containers, array, random, directory, bytestring, mtl, html, pretty, hashable, process, monad-par, transformers, abstract-par, ghc-paths, ghc
   GHC-options:    -threaded -feager-blackholing -rtsopts
   -- In my experience we should never use -O2 here --- it causes memory leak when compiled with GHC 7.6.3.
   Extensions:     CPP, TemplateHaskell
   cpp-options:    -DCHTO -DCABAL
 
  if !os(windows)
    Build-depends:   unix
    cpp-options:     -DUNIX

   if flag(TFRANDOM)
     Build-depends:   tf-random
     cpp-options:     -DTFRANDOM
 
   -- just for avoiding rebuilding everything
   if flag(READFILE)
     Build-depends:   haskell-src
     cpp-options:     -DHASKELLSRC
 
   if flag(GHC7)
     Build-depends:   ghc >= 7
     GHC-options:     -with-rtsopts=-N

  if flag(NETWORKURI)
     Build-depends:  network >= 2.6, network-uri >= 2.6
  else
     Build-depends:  network < 2.6, network-uri < 2.6

-- It is strongly recommended to use a UNIX server for the CGI frontend.
-- Non-UNIX servers cannot use mueval, which means the functionality of generating input/output examples is not available.
Executable MagicHaskeller.cgi
  Main-is: CGI.lhs
  Build-depends:   old-time, template-haskell, base >= 4 && < 5, syb, containers, array, random, directory, bytestring, mtl, html, pretty, hashable,
                   MagicHaskeller, cgi, hint, extensible-exceptions, haskell-src
  Other-modules:   MagicHaskeller.CGI

  cpp-options:   -DCHTO -DCABAL

  if !os(windows)
    Build-depends:   mueval
    cpp-options:     -DUNIX

  if flag(TFRANDOM)
    Build-depends:   tf-random
    cpp-options:     -DTFRANDOM

  if flag(NETWORKURI)
     Build-depends:  network >= 2.6, network-uri >= 2.6
  else
     Build-depends:  network < 2.6, network-uri < 2.6