packages feed

array-forth-0.2.0.4: array-forth.cabal

-- Initial arrayForth.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                array-forth

-- The package version.  See the Haskell package versioning policy (PVP) 
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.2.0.4

-- A short (one-line) description of the package.
synopsis:            A simple interpreter for arrayForth, the language used on GreenArrays chips.

description:         This is a package for working with arrayForth. This is a variant of Forth used by GreenArrays chips. This package contains an arrayForth simulator, two different representations of arrayForth programs and some utilities like parsing. 

                     It also supports synthesizing arrayForth programs using MCMC. The basic idea is to find arrayForth programs by taking a simple prior distribution of programs and using a randomized hill-climbing algorithm to find a program fulfilling certain tests.

-- A longer description of the package.
-- description:         

-- The license under which the package is released.
license:             GPL-3

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Tikhon Jelvis <tikhon@jelv.is>

-- An email address to which users can send suggestions, bug reports, and 
-- patches.
maintainer:          tikhon@jelv.is

-- A copyright notice.
-- copyright:           

category:            Language

build-type:          Simple

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.8

source-repository head
  type:           git
  location:       git://github.com/TikhonJelvis/array-forth.git

library
  -- Modules exported by the library.
  exposed-modules:     Language.ArrayForth.Distance, 
                       Language.ArrayForth.Interpreter,
                       Language.ArrayForth.NativeProgram,
                       Language.ArrayForth.Opcode,
                       Language.ArrayForth.Parse,
                       Language.ArrayForth.Program,
                       Language.ArrayForth.Stack,
                       Language.ArrayForth.State,
                       Language.ArrayForth.Synthesis
  
  hs-source-dirs:      src
  -- Modules included in this library but not exported.
  -- other-modules:       
  
  -- Other library packages from which modules are imported.
  build-depends:       base >3 && <=5, mcmc-synthesis >=0.1, MonadRandom ==0.1.*,
                       OddWord >=1.0.0, split ==0.1.*, vector ==0.9.*
  GHC-options:         -Wall -funbox-strict-fields -fno-warn-orphans -rtsopts

executable mcmc-demo
  Main-is:             src/Main.hs
  build-depends:       base >3 && <=5, mcmc-synthesis >=0.1, array-forth,
                       MonadRandom ==0.1.*, optparse-applicative ==0.5.*
  GHC-options:         -Wall -rtsopts

executable array-forth
  Main-is:             src/Run.hs
  build-depends:       base >3 && <=5, vector ==0.9.*, split ==0.1.*, array-forth
  GHC-options:         -Wall -rtsopts

test-suite test-array-forth
  Type:                exitcode-stdio-1.0
  Main-is:             test/Language/ArrayForth/Test.hs
  build-depends:       base >3 && <=5, QuickCheck >= 2 && <3, HUnit >= 1 && < 2,
                       test-framework-th ==0.*, test-framework-quickcheck2 ==0.*,
                       test-framework-hunit ==0.*, array-forth