Conference paper Open Access

Programmatic Manipulation of Common Lisp Type Specifiers

Newton, Jim; Verna, Didier; Colange, Maximilien

In this article we contrast the use of the s-expression with the BDD
(Binary Decision Diagram) as a data structure for programmatically
manipulating Common Lisp type specifiers.  The s-expression is the
\textit{de facto} standard surface syntax and also programmatic
representation of the type specifier, but the BDD data structure
offers advantages: most notably, type equivalence checks using
s-expressions can be computationally intensive, whereas the type
equivalence check using BDDs is a check for object identity.  As an
implementation and performance experiment, we define the notion of
maximal disjoint type decomposition, and discuss implementations of
algorithms to compute it: a brute force iteration, and as a tree
reduction.  The experimental implementations represent type
specifiers by both aforementioned data structures, and we compare
the performance observed in each approach.

Files (469.4 kB)
Name Size
469.4 kB Download
All versions This version
Views 2222
Downloads 2424
Data volume 11.3 MB11.3 MB
Unique views 1919
Unique downloads 2121


Cite as