Applications and libraries/Data structures

From HaskellWiki
< Applications and libraries
Revision as of 13:10, 22 March 2006 by BjornBringert (talk | contribs) (Moved data structures stuff from the old libraries page.)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
The copyright status of this work is not known. Please help resolve this on the talk page.

Haskell Libraries and Tools for Data Structures

Chris Okasaki is developing a library of efficient data structures. It provides sequences, finite maps, priority queues, and sets/bags. (overview paper).
Binary/BinArray library
A port of Malcolm Wallace's Binary library for NHC13, offering facilities for heap compression and binary I/O. A related library, BinArray, uses Binary to implement imperative binary arrays.
FGL - A Functional Graph Library
The functional graph library provides a collection of graph operations.
A bundle for generic programming. It provides programming support for generic traversal as useful in the implementation of program transformations.
The Haskell STate Preprocessor
This is a short preprocessor for stateful Haskell programs. It aleviates the pain of performing single array lookup/write/update functions with some syntax to support it. It also supports hash table operations based on the HashTable implementation available from the author. Finally, it supports monadic if and monadic case constructions. It is lightweight in the sense that it performs no syntactic analysis and is essentially a character transformer.
Fast Packed Strings
The FPS library provides mmapped and malloc'd packed strings (byte arrays held by a ForeignPtr), along with a list interface to these strings. It lets you do extremely fast IO in Haskell; in some cases, even faster than typical C implementations, as well as conserving space.