packages feed

imperative-edsl-0.8.2: imperative-edsl.cabal

name:                imperative-edsl
version:             0.8.2
synopsis:            Deep embedding of imperative programs with code generation
description:         Deep embedding of imperative programs with code generation.
                     .
                     The main module for users who want to write imperative
                     programs is "Language.Embedded.Imperative".
                     .
                     Examples can be found in the @examples@ directory.
license:             BSD3
license-file:        LICENSE
author:              Anders Persson, Emil Axelsson, Markus Aronsson
maintainer:          78emil@gmail.com
copyright:           Copyright (c) 2016 Anton Ekblad, Emil Axelsson, Máté Karácsony
                     Copyright (c) 2015 Anders Persson, Anton Ekblad, Emil Axelsson,
                                        Markus Aronsson, Josef Svenningsson
homepage:            https://github.com/emilaxelsson/imperative-edsl
bug-reports:         https://github.com/emilaxelsson/imperative-edsl/issues
category:            Language
build-type:          Simple
cabal-version:       >=1.10

extra-source-files:
  examples/*.hs
  tests/*.hs

source-repository head
  type:     git
  location: git@github.com:emilaxelsson/imperative-edsl.git

library
  exposed-modules:
    Control.Monads
    System.IO.Fake
    Language.C.Monad
    Language.Embedded.Expression
    Language.Embedded.Traversal
    Language.Embedded.Imperative.CMD
    Language.Embedded.Imperative.Args
    Language.Embedded.Imperative.Frontend.General
    Language.Embedded.Imperative.Frontend
    Language.Embedded.Imperative
    Language.Embedded.Concurrent.CMD
    Language.Embedded.Concurrent
    Language.Embedded.Signature
    Language.Embedded.Backend.C
    Language.Embedded.Backend.C.Expression
    Language.Embedded.CExp

  other-modules:
    Language.Embedded.Imperative.Backend.C
    Language.Embedded.Concurrent.Backend.C
      -- No need to export these since only the instances are interesting
    Control.Chan

  default-language: Haskell2010

  default-extensions:
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveTraversable
    FlexibleContexts
    FlexibleInstances
    GADTs
    GeneralizedNewtypeDeriving
    MultiParamTypeClasses
    PatternSynonyms
    PolyKinds
    Rank2Types
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    TypeFamilies
    TypeOperators
    ViewPatterns

  other-extensions:
    CPP
    QuasiQuotes
    UndecidableInstances

  build-depends:
    array < 0.6,
    base >=4 && <5,
    constraints >= 0.9,
    containers >= 0.5.10 && < 0.7,
    data-default-class < 0.2,
    deepseq < 1.5,
    directory < 1.4,
    exception-transformers < 0.5,
    ghc-prim < 0.7,
    language-c-quote >= 0.11.5 && < 0.13,
    mainland-pretty >= 0.4 && < 0.8,
    microlens >= 0.3.0.0 && < 0.5,
    microlens-mtl >= 0.1.8 && < 0.2,
    microlens-th < 0.5,
    mtl < 2.3,
    process < 1.7,
    operational-alacarte >= 0.3,
    BoundedChan < 1.1,
    srcloc < 0.6,
    syntactic >= 3.8,
      -- That version fixes overlap bugs
    time >= 1.5.0.1 && < 1.12,
    stm >= 2.4 && < 2.6
    
  hs-source-dirs: src

test-suite Tests
  type: exitcode-stdio-1.0

  hs-source-dirs: tests examples

  main-is: Tests.hs

  default-language: Haskell2010

  build-depends:
    base,
    directory,
    filepath,
    imperative-edsl,
    process,
    random,
    syntactic,
    tasty-quickcheck,
    tasty-th