packages feed

propane-0.1: propane.cabal

name:                propane
version:             0.1
license:             BSD3
license-file:        LICENSE
synopsis:            Functional synthesis of images and animations
category:            Graphics
author:              Keegan McAllister <mcallister.keegan@gmail.com>
maintainer:          Keegan McAllister <mcallister.keegan@gmail.com>
build-type:          Simple
cabal-version:       >=1.6
description:
    Propane is a system for synthesizing images and animations, in the spirit
    of Pan (<http://conal.net/Pan/>) and many other projects.  The core idea is
    that an image is a function assigning a colour to each point in the plane.
    Similarly, an animation assigns an image to each point in time.  Haskell's
    tools for functional and declarative programming can be used directly on
    images and animations.
    .
    Several examples are provided, in the @examples/@ directory.
    .
    Propane uses the Repa array library.  This means that Propane automatically
    uses multiple CPU cores for rendering, provided the program is compiled and
    run with threads enabled.  That said, the implementation has not yet been
    optimized for speed.
    .
    Propane is a modest toy right now, but there are vague plans to make it
    do fancy things.  Please contact the author with suggestions or code!

extra-source-files:
    README
  , examples/gradient.hs
  , examples/green.hs
  , examples/quasicrystal.hs
  , examples/quasicrystal_animated.hs

library
  exposed-modules:
      Propane
    , Propane.Types
    , Propane.Helpers
    , Propane.Raster
    , Propane.IO
    , Propane.Colour
    , Propane.Transform
  other-modules:
      Propane.IO.Lock
  c-sources:
      cbits/global-lock.c

  ghc-options:      -Wall
  build-depends:
      base         >= 3 && < 5
    , containers   >= 0.4
    , repa         >= 2.0
    , repa-devil   >= 0.1
    , colour       >= 2.3
    , directory    >= 1.1
    , filepath     >= 1.0
    , spawn        >= 0.3

  other-extensions:
      DeriveDataTypeable
    , ForeignFunctionInterface

source-repository head
    type:     git
    location: git://github.com/kmcallister/propane