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

name:                free-vector-spaces
version:             0.1.5.2
x-revision: 2
synopsis:            Instantiate the classes from the vector-space package with types from linear
description:         The <http://hackage.haskell.org/package/linear/ linear> package offers efficient
                     vector types — where vector means /element of a free vector space/, i.e.
                     fixed-length arrays of numbers. The entire interface of that library is based on
                     this  concept of free vectors with a canonical coordinate representation.
                     .
                     While this is practically speaking often useful, it is also
                     .
                     * Questionable in terms of conceptual elegance. The idea of a vector has
                       originally not much to do with number-arrays; in physics a vector is just
                       a quantity with /magnitude and direction/. Only by fixing a basis can
                       a coordinate representation arise from that.
                     .
                     * Not as safe as we'd like. The typical linear-algebra languages like Matlab
                       or Fortran are notorious for hard-to spot mistakes that often arise from the 
                       total reliance on coordinate representations (every vector/linear map is just
                       a matrix of number). @linear@ already avoids most of these problems because
                       it can at least check dimensions at compile-time and usually doesn't need
                       any indices, but some trouble still remains. E.g., two different 3-dimensional
                       spaces are indistinguishable by the type system (unless you wrap one of them
                       in a @newtype@, however that also needs to be parameterised on the coordinate
                       type to work with the rest of the library).
                     .
                     The <http://hackage.haskell.org/package/vector-space/ vector-space> library
                     has arguably a better (albeit less complete) interface. To gain access to
                     that interface with the more efficient types from @linear@, we here provide
                     the necessary orphan instances.

homepage:            https://github.com/leftaroundabout/free-vector-spaces
license:             BSD3
license-file:        LICENSE
author:              Justus Sagemüller
maintainer:          (@) justussa $ kth.se
-- copyright:           
category:            Math
build-type:          Simple
-- extra-source-files:  
cabal-version:       >=1.10

source-repository head
  type: git
  location: git://github.com/leftaroundabout/free-vector-spaces.git

library
  exposed-modules:     Data.VectorSpace.Free
                      , Data.VectorSpace.Free.FiniteSupportedSequence
                      , Data.VectorSpace.Free.Sequence
  other-modules:        Data.VectorSpace.Free.Class
                      , Data.VectorSpace.Free.TH
  -- other-extensions:    
  build-depends:       base >=4.6 && <5.1,
                       vector-space >=0.11 && <0.20,
                       MemoTrie,
                       linear >=1.18 && <1.24,
                       lens >= 4 && < 6,
                       vector,
                       pragmatic-show >=0.1.2 && <0.3,
                       template-haskell
  ghc-options:         -O2
  -- hs-source-dirs:      
  default-language:    Haskell2010
  -- ghc-options: -cpp  -pgmPcpphs  -optP--cpps