Downloads provided by UsageCounts
We contrast two approaches to optimizing the Common Lisp typecase macro expansion. The first approach is based on heuristics intended to estimate run time performance of certain type checks involving Common Lisp type specifiers. The technique may, depending on code size, exhaustively search the space of permutations of the type checks, intent on finding the optimal order. With the second technique, we represent a typecase form as a type specifier, encapsulating the side-effecting non-Boolean parts so as to appear compatible with the Common Lisp type algebra operators. The encapsulated expressions are specially handled so that the \cl type algebra functions preserve them, and we can unwrap them after a process of Boolean reduction into efficient \cl code, maintaining the appropriate side effects but eliminating unnecessary type checks. Both approaches allow us to identify unreachable code, test for exhaustiveness of the clauses and eliminate type checks which are calculated to be redundant.
Type theory, • Computing methodologies → Representation of Boolean functions, meta programming, lisp, [INFO.INFO-DS] Computer Science [cs]/Data Structures and Algorithms [cs.DS], finite automata, binary decision diagram, • Mathematics of computing → Graph algorithms, [INFO.INFO-CL] Computer Science [cs]/Computation and Language [cs.CL], CCS CONCEPTS • Theory of computation → Data structures design and anal- ysis, type theory
Type theory, • Computing methodologies → Representation of Boolean functions, meta programming, lisp, [INFO.INFO-DS] Computer Science [cs]/Data Structures and Algorithms [cs.DS], finite automata, binary decision diagram, • Mathematics of computing → Graph algorithms, [INFO.INFO-CL] Computer Science [cs]/Computation and Language [cs.CL], CCS CONCEPTS • Theory of computation → Data structures design and anal- ysis, type theory
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 8 | |
| downloads | 6 |

Views provided by UsageCounts
Downloads provided by UsageCounts