Date Added: Jul 2010
Scheme provides excellent language support for programming in a functional style, but little in the way of library support. In this paper, the authors present a comprehensive library of functional data structures, drawing from several sources. The authors have implemented the library in Typed Racket, a typed variant of Racket, allowing us to maintain the type invariants of the original definitions. Functional programming requires more than just lambda; library support for programming in a functional style is also required. In particular, efficient and persistent functional data structures are needed in almost every program.