| Copyright | (c) Justus Sagemüller 2016 |
|---|---|
| License | GPL v3 |
| Maintainer | (@) jsag $ hvl.no |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.VectorSpace.Free.Sequence
Description
Synopsis
- 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 possibly-infinite sequences, isomorphic to the space of all lists but implemented more efficiently (with exponentially-growing chunks of unboxed data, so the overhead is amortised). In other words, this is a type of spine-lazy but element-strict arrays.
This space is dual to FinSuppSeq, which is completely strict.
Constructors
| Sequence | |
Fields
| |
| SoloChunk | |
Fields
| |
Instances
| Functor BoxSequence Source # | |
Defined in Data.VectorSpace.Free.Sequence Methods fmap :: (a -> b) -> BoxSequence a -> BoxSequence b # (<$) :: a -> BoxSequence b -> BoxSequence a # | |
| (Unbox n, Num n) => IsList (Sequence n) 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 # | |
Defined in Data.VectorSpace.Free.Sequence | |
| type Diff (Sequence n) Source # | |
Defined in Data.VectorSpace.Free.Sequence | |
| type Basis (Sequence n) Source # | |
Defined in Data.VectorSpace.Free.Sequence | |
| type Scalar (Sequence n) Source # | |
Defined in Data.VectorSpace.Free.Sequence | |