Finite maps are ubiquitous in many applications, but perhaps nowhere more so than in compilers and other language processors. In these applications, three operations on finite maps dominate all others: looking up the value associated with a key, inserting a new binding, and merging two finite maps. Most implementations of finite maps in functional languages are based on balanced binary search trees, which perform well on the first two, but poorly on the third. We describe an implementation of finite maps with integer keys that performs well in practice on all three operations. This data structure is not new---indeed, it is thirty years old this year---but it deserves to be more widely known. 1 Introduction Finite maps are the workhorse data...
This paper proposes the integration of finite domain (FD) cons-traints into a general purpose lazy f...
The increasing popularity of XML for persistent data storage, processing and exchange has triggered ...
Finite or infinite strings or trees with labels from a finite alphabet play an important role in com...
Abstract. Typical functional implementations of finite maps are based on association lists or balanc...
Lookup tables (finite maps) are a ubiquitous data structure. In pure functional languages they are b...
Finite maps, functions defined on only a finite domain, occur often, particularly when reasoning abo...
Finite functions (also called maps) are used to describe a number of key computations and storage me...
We present a unified view of "mappings", abstracting from their appearance as "routines" (that is, o...
Several logic-based languages, such as Prolog II and its successors, SICStus Prolog and Oz, offer a ...
Algorithmic debuggers for higher-order functional languages have to display functional values. Origi...
Logic languages based on the theory of rational, possibly infinite, trees have much appeal in that r...
AbstractLogic languages based on the theory of rational, possibly infinite, trees have much appeal i...
Logic languages based on the theory of rational, possibly infinite, trees have much appeal in that r...
textabstractAn immutable multi-map is a many-to-many map data structure with expected fast insert an...
An immutable multi-map is a many-to-many map data structure with expected fast insert and lookup ope...
This paper proposes the integration of finite domain (FD) cons-traints into a general purpose lazy f...
The increasing popularity of XML for persistent data storage, processing and exchange has triggered ...
Finite or infinite strings or trees with labels from a finite alphabet play an important role in com...
Abstract. Typical functional implementations of finite maps are based on association lists or balanc...
Lookup tables (finite maps) are a ubiquitous data structure. In pure functional languages they are b...
Finite maps, functions defined on only a finite domain, occur often, particularly when reasoning abo...
Finite functions (also called maps) are used to describe a number of key computations and storage me...
We present a unified view of "mappings", abstracting from their appearance as "routines" (that is, o...
Several logic-based languages, such as Prolog II and its successors, SICStus Prolog and Oz, offer a ...
Algorithmic debuggers for higher-order functional languages have to display functional values. Origi...
Logic languages based on the theory of rational, possibly infinite, trees have much appeal in that r...
AbstractLogic languages based on the theory of rational, possibly infinite, trees have much appeal i...
Logic languages based on the theory of rational, possibly infinite, trees have much appeal in that r...
textabstractAn immutable multi-map is a many-to-many map data structure with expected fast insert an...
An immutable multi-map is a many-to-many map data structure with expected fast insert and lookup ope...
This paper proposes the integration of finite domain (FD) cons-traints into a general purpose lazy f...
The increasing popularity of XML for persistent data storage, processing and exchange has triggered ...
Finite or infinite strings or trees with labels from a finite alphabet play an important role in com...