[Haskell-cafe] fast Array operations: foldl, drop

Roman Leshchinskiy rl at cse.unsw.edu.au
Sun Dec 2 16:46:34 EST 2007


Don Stewart wrote:
> rl:
>> Don Stewart wrote:
>>> I forgot to mention this early, but possibly you could use the ndp array 
>>> library. There are some people using its UArr type for (non parallel)
>>> strict arrays, that support map/fold/zip et al.
>>>
>>>    http://darcs.haskell.org/packages/ndp/
>>>
>>> This blog post recently,
>>>
>>>    http://sequence.complete.org/node/371
>>>
>>> shows at least one non-developer is using it :)
>>>
>>> Roman, what do you think -- are the unlifted, non-parallel arrays usably 
>>> `beta'?
>> Yes, they definitely are. UArr uses stream fusion, BTW, so things should 
>> fuse sometimes.
>>
>> On a more general note, we plan to put a generally usable UArr-like 
>> layer underneath the current standard array types eventually. This would 
>> provide all interesting operations as well as fusion. It might take a 
>> while (i.e., months) until I get around to doing it, though.
> 
> Would it be possible to separate out the UArr modules from the larger
> ndp project (which needs ghc head and type families). I.e. just one
> smaller package for fast, fusable arrays we can work on?

UArr is a type family, too! That said, it would definitely be possible 
to put it into a separate package. The interface needs some work, 
though, since it is very "backendish" at the moment. The problem is that 
I don't really have time for this at the moment. If anyone volunteers to 
do this I'll help, of course.

Roman



More information about the Haskell-Cafe mailing list