Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
4Activity
0 of .
Results for:
No results containing your search query
P. 1
Stream Fusion for Haskell Arrays

Stream Fusion for Haskell Arrays

Ratings:

5.0

(1)
|Views: 1,726 |Likes:
Published by Don Stewart
Arrays have traditionally been an awkward data structure for Haskell programmers. Despite the large number of array libraries available, they have remained relatively awkward to use in comparison to the rich suite of purely functional data structures, such as fingertrees or finite maps. Arrays have simply not been first class citizens in the language.

In this talk we’ll begin with a survey of the more than a dozen array types available, including some new matrix libraries developed in the past year. I’ll then describe a new efficient, pure, and flexible array library for Haskell with a list like interface, based on work in the Data Parallel Haskell project, that employs stream fusion to dramatically reduce the cost of pure arrays. The implementation will be presented from the ground up, along with a discussion of the entire compilation process of the library, from source to assembly.

Source: http://www.galois.com/blog/2008/08/28/galois-tech-talks/
Arrays have traditionally been an awkward data structure for Haskell programmers. Despite the large number of array libraries available, they have remained relatively awkward to use in comparison to the rich suite of purely functional data structures, such as fingertrees or finite maps. Arrays have simply not been first class citizens in the language.

In this talk we’ll begin with a survey of the more than a dozen array types available, including some new matrix libraries developed in the past year. I’ll then describe a new efficient, pure, and flexible array library for Haskell with a list like interface, based on work in the Data Parallel Haskell project, that employs stream fusion to dramatically reduce the cost of pure arrays. The implementation will be presented from the ground up, along with a discussion of the entire compilation process of the library, from source to assembly.

Source: http://www.galois.com/blog/2008/08/28/galois-tech-talks/

More info:

Published by: Don Stewart on Sep 08, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/17/2012

pdf

text

original

 
 
Stream Fusion for Haskell Arrays
Don StewartGalois Inc
 
 
Haskell's Data Types
Beautiful algebraic data types:
data Set a= Tip| Bin !Int a !(Set a) !(Set a)
Concise notation, inductive reasoning, type math!
Polymorphic, strongly typed, side effect free
Efficient. GCd. Strict, or lazy, or roll your own
Pointers, pointers...
 
 
But for real speed...
Sometimes we need unboxed, flat structures:

Activity (4)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->