packages feed

linear-maps-0.6.1: linear-maps.cabal

Name:           linear-maps
Version:        0.6.1
Synopsis:       Finite maps for linear use
Description:    
    Finite maps for linear use. 
    .
    This package contains three different implementations with the same interface.
    The implementations are controlled by Cabal flags which can be set at installation time
    with the following commands:
    .
    [@cabal install -fcheck@] 
    Installs an implementation where linear use of maps is needed and checked (at runtime).
    It is recommended to use this version during development.
    .
    [@cabal install@]      
    Installs an implementation where linear use of maps is needed but not checked.
    It is the fastest implementation so it is ideal for the final product.
    Install this only if you are certain that maps are used linearly.
    .
    [@cabal install -fpure@]  
    Installs an implementation where linear use of maps is not needed and not checked.
    This is the simplest implementation so it can be read as a documentation.  
    Do not install this version because it is slow and does not check the linear use of maps.
Category:       Data
Author:         Péter Diviánszky <divip@aszt.inf.elte.hu>
Maintainer:     Péter Diviánszky <divip@aszt.inf.elte.hu>
Copyright:      (c) 2009 by Péter Diviánszky
License:        BSD3
License-File:   LICENSE
Stability:      Experimental
Tested-With:    GHC == 6.10.2
Cabal-Version:  >= 1.6
Build-Type:     Simple
Extra-Source-Files: 
    Intro.pandoc,
    Exercises.pandoc,
    Solutions.hs,
    TypeInf.hs,
    *.dot,
    Makefile,
    runtests
Data-Files:
    Intro.html,
    *.png,
    Exercises.html

Flag check
    Description:    Check linear use
    Default:        False

Flag pure
    Description:    Pure functional implementation
    Default:        False

Executable linear-maps-introduction
    Main-Is: LinearMapsIntroduction.hs

Executable linear-maps-exercises
    Main-Is: LinearMapsExercises.hs

Library
    GHC-Options: -Wall -fwarn-tabs -fno-warn-incomplete-patterns  -fcontext-stack=33

    Exposed-Modules:    

    -- helper
        Data.TypeInt,
        Data.Subtyping,
        Control.Functor,

    -- core
        Data.IdMap,
        Data.IdMap.Static,

    -- applications / uses cases
        Data.Sequence.IdMap,
        Data.Sequence.IdMap.Tests,
        Data.Sequence.IdMap.Profile,
        Data.Sequence.IdMap2,
        Data.Sequence.Profile,
        Data.IdSequence,
        Data.List.IdMap,
        Data.Graph.IdMap,
        Data.Graph.IdMap.Tests,
        Data.LinkMap,
        Data.LinkMap.Tests
        Test.IdMap
    --	Tests.PointerReversal,
    --	Tests.RandomGraph

    Other-Modules:

        Data.Array.Simple,
        Data.Control.Kvantum,
        Data.Control.Kvantum.Void,

        Data.IdMap.Core,
        Data.IdMap.Core.Pure,
        Data.IdMap.Core.Fast

    Build-Depends:
        base >= 3.0,
        containers == 0.2.*,
        HUnit == 1.2.* 
--        random

    if flag(pure)
        CPP-Options: -D__PURE__
    else
        if flag(check)
            CPP-Options: -D__CHECK__
        
    Extensions:
        GADTs,
        TypeOperators,
        RankNTypes,
        BangPatterns,
        KindSignatures,
        EmptyDataDecls,
        GeneralizedNewtypeDeriving,
        ScopedTypeVariables,
        TypeFamilies,
        MultiParamTypeClasses

    --  CPP,
    --  MagicHash,
    --  UnboxedTuples,