packages feed

uvector-0.1: TODO

Direction:
  * Fill out API
  * Complete coverage
        -- ensure we can enumerate all primitives types, and fuse them.

  * Direct implementation of fusible operations too
        -- substrings, length in O(1)

  * concat/concatMap ? (need lifted arrays?)

  * IO introduction
        - Data.Binary/bytestring
        - Array interface?
        - Binary?

  * A good strategy for user defined loops (pure, impure)
  * A good strategy for user defined packing

  * Organisation:
        Vector          -- stream version
            Strict          -- strict data types and ops
        Vector.Array    -- direct implementation
        Vector.Mutable  -- mutable ops

        Prim/*
        Stream/*

        Mutable:
            new
            length
            read, write copy, 
            stream, unstream

  * To and from ByteStrings.

See the operators in the OCaml library,

    http://caml.inria.fr/pub/docs/manual-ocaml/libref/Bigarray.Array1.html

Beware:
  * combining modules can break fusion in 6.8.2

Documentation:
 * State that -O2 is *required* for unboxing of stream state components with SpecConstr
otherwise, -O -fspec-constr
 * Examples of high and low level use
 * haddocks

Performance:
 * Need performance benchmarks

Possibles:
 * Maybe provide ST interface for low level things?