Rewriting Haskell Strings

13 years 11 months ago
Rewriting Haskell Strings
Abstract The Haskell String type is notoriously inefficient. We introduce a new data type, ByteString, based on lazy lists of byte arrays, combining the speed benefits of strict arrays with lazy evaluation. Equational transformations based on term rewriting are used to deforest intermediate ByteStrings automatically. We describe novel fusion combinators with improved expressiveness and performance over previous functional array fusion strategies. A library for ByteStrings is implemented, providing a purely functional interface, which approaches the speed of low-level mutable arrays in C. Key words: Program fusion, Deforestation, Functional programming
Duncan Coutts, Don Stewart, Roman Leshchinskiy
Added 08 Jun 2010
Updated 08 Jun 2010
Type Conference
Year 2007
Where PADL
Authors Duncan Coutts, Don Stewart, Roman Leshchinskiy
Comments (0)