![]() |
CiteULike | ![]() |
EdwardKmett's CiteULike | ![]() |
![]() |
|
![]() |
Register | ![]() |
Log in | ![]() |
Linear Contexts and the Sharing Functor: Techniques for Symbolic Computationby: Gérard Huet
edited by: Fairouz Kamareddine |
Reviews
[Write a review of this article]
Find related articles from these CiteULike users
Find related articles with these CiteULike tags
Posting History
AbstractWe present in this paper two design issues concerning fundamental representation structures for symbolic and logic computations. The first one concerns structured editing, or more generally the possibly destructive update of tree-like data-structures of inductive types. Instead of the standard implementation of mutable data structures containing references, we advocate the zipper technology, fully applicative. This may be considered a disciplined use of pointer reversal techniques. We argue that zippers, i.e. unary contexts generalizing stacks, are concrete representations of linear functions on algebraic data types. The second method is a uniform sharing functor, which is a variation on the traditional technique of hashing, but controling the indexing function on the client side rather than on the server side, which allows the fine-tuning of bucket balancing, taking into account specific statistical properties of the application data. Such techniques are of general interest for symbolic computation applications such as structure editors, proof assistants, algebraic computation systems, and computational linguistics platforms.
BibTeX record
RIS record