User-extensible sequences in common Lisp

  • Authors:
  • Christophe Rhodes

  • Affiliations:
  • University of London, London

  • Venue:
  • Proceedings of the 2007 International Lisp Conference
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Common Lisp is often touted as the programmable programming language, yet it sometimes places large barriers in the way, with the best of intentions. One of those barriers is a limit to the extensibility by the user of certain core language constructs, such as the ability to define subclasses of built in classes usable with standard functions: even where this could be achievable with minimal penalties. We introduce the notion of user-extensible sequences, describing a protocol which implementations of such classes should follow. We show examples of their use, and discuss the issues observed in providing support for this protocol in a Common Lisp, including ensuring that there is no performance impact from its inclusion.