Copyright  (c) Justus Sagemüller 2016 

License  GPL v3 
Maintainer  (@) sagemueller $ geo.unikoeln.de 
Stability  experimental 
Portability  portable 
Safe Haskell  None 
Language  Haskell2010 
 type Sequence = GSequence Vector
 type BoxSequence = GSequence Vector
 data GSequence array n
 = Sequence {
 sequenceHeads :: !(array n)
 sequenceRemain :: GSequence array n
  SoloChunk {
 chunkOffset :: !Int
 soloChunk :: !(array n)
 = Sequence {
 minimumChunkSize :: Int
Documentation
type BoxSequence = GSequence Vector Source #
data GSequence array n Source #
The space of possiblyinfinite sequences, isomorphic to the space of all lists but implemented more efficiently (with exponentiallygrowing chunks of unboxed data, so the overhead is amortised). In other words, this is a type of spinelazy but elementstrict arrays.
This space is dual to FinSuppSeq
, which is completely strict.
Sequence  
 
SoloChunk  

(Unbox n, Num n) => IsList (Sequence n) Source #  
Functor (GSequence Vector) Source #  
(Unbox n, Show n, Num n) => Show (Sequence n) Source #  
(Num n, Unbox n) => AffineSpace (Sequence n) Source #  
(Num n, Unbox n) => HasBasis (Sequence n) Source #  
(Num n, Unbox n) => VectorSpace (Sequence n) Source #  
(Num n, Unbox n) => AdditiveGroup (Sequence n) Source #  
type Item (Sequence n) Source #  
type Diff (Sequence n) Source #  
type Basis (Sequence n) Source #  
type Scalar (Sequence n) Source #  