Version 12 (modified by Ben Lippmeier, 14 years ago) (diff)


Repa (REgular PArallel arrays)

This is the developer's wiki for the Repa array library.

Repa provides high performance, regular, multi-dimensional, shape polymorphic parallel arrays. All numeric data is stored unboxed. Functions written with the Repa combinators are automatically parallel provided you supply +RTS -Nwhatever on the command line when running the program.


  • Repa currently depends on the head branch of GHC to get decent performance. If you compile it with 6.12 then it'll run, but the programs will be more than 10x slower than normal. It's been tested with GHC > 6.13.20100309.
  • For performance reasons, we don't do bounds checking when indexing arrays. Indexing outside an array will likely cause heap corruption.
  • Repa means "turnip" in Russian. If you don't like turnips then this library probably isn't for you.

State of play

This section records what the Repa developers are actively working on. If you're hacking on something Repa related then by all means add yourself here. Records are dropped off if they haven't been updated for more than a month.

Ben (benl23) -- updated 7th May 2010

  • I'm adding pictures showing the examples to the trac.
  • I'll also planning to write some more examples. I've got QR decomposition and a fluid flow solver in mind.


Repa is split up into a few packages to help control dependencies.

If you want the lot then just install the examples, and this will pull down the rest.

cabal install repa-examples

Report a bug

If you have a bug or feature request, please add a new ticket.
Note that for spam prevention you must first register (takes 10 sec) before you can add a ticket.

You can also send email to


These are some of the examples included in the repa-examples package:

fft2d-highpass Laplace
more info

Attachments (4)

Download all attachments as: .zip