Sealable Metaobjects for Common Lisp

Heisig M (2020)


Publication Language: English

Publication Type: Conference contribution, Original article

Publication year: 2020

Series: Proceedings of the 13th European Lisp Symposium

Conference Proceedings Title: ELS'20

Event location: Online, Twitch

URI: https://european-lisp-symposium.org/static/proceedings/2020.pdf

DOI: 10.5281/zenodo.3743823

Open Access Link: https://doi.org/10.5281/zenodo.3743822

Abstract

We introduce the concept of sealable metaobjects, i.e., classes, generic
functions, and methods, whose behavior is restricted to allow for some
static analysis.  Then we use these sealable metaobjects to define fast
generic functions, a variant of standard generic functions that allow for
call site optimization --- ranging from faster method dispatch to
inlining of entire effective methods.  Fast generic functions support
almost all features of standard generic functions, including custom
method combinations and non-trivial references to the next method.  Our
benchmarks show that a straightforward implementation of Common Lisp's
sequence functions using these fast generic functions is competitive with
the corresponding built-in sequence functions of SBCL.  Fast generic
functions are thus an attractive drop-in replacement for standard generic
functions in performance critical codes.

Authors with CRIS profile

Related research project(s)

How to cite

APA:

Heisig, M. (2020). Sealable Metaobjects for Common Lisp. In ELS'20. Online, Twitch.

MLA:

Heisig, Marco. "Sealable Metaobjects for Common Lisp." Proceedings of the The 13th European Lisp Symposium, Online, Twitch 2020.

BibTeX: Download