[Haskell-cafe] array fusion interface

Henning Thielemann lemming at henning-thielemann.de
Tue Aug 5 07:56:21 EDT 2008


On Sat, 2 Aug 2008, Evan Laforge wrote:

> >> I have streams of samples with irregular sampling rates, so they look
> >> like [(Time, SampleVal)].  In practice, this means [(Double, Double)].
> >
> > Maybe I have already mentioned my eventlist package on Hackage which
> > supports such resampling operations - but is based on lists.
> >   http://hackage.haskell.org/cgi-bin/hackage-scripts/package/event-list
>
> Ah, I had seen event-list and even downloaded and read parts of it,
> but it was hard for me to figure out what was going on and how to
> actually use it based on the scattered comments in the source.

I commented only non-trivial parts, because I thought it is clear, that
'mapTime' is a 'map' on the time stamps and so on.

> Apparently there are absolute and relative time variants, but within
> that there are further "body" and "time" variants, and they're built
> on a similarly sparsely documented alternating list library.  Are
> there some simple examples of its use out there?

There are all four variants of whether a list starts and ends with a time
or a data body. The 'midi' package uses 'event-list'.

> Unfortunately, storable vector, unlike ByteString, doesn't export
> 'create' and whatnot so I have to keep a locally patched version of
> it.

Well, it does export 'create':
  http://hackage.haskell.org/packages/archive/storablevector/0.1.2.2/doc/html/Data-StorableVector-Base.html

However in my applications I could use the safe 'unfoldrN' in most cases.


More information about the Haskell-Cafe mailing list