skip to main content
10.5555/3005729.3005732acmotherconferencesArticle/Chapter ViewAbstractPublication PageselsConference Proceedingsconference-collections
Article

A CLOS Protocol for Editor Buffers

Published: 09 May 2016 Publication History

Abstract

We introduce the abstract concept of rational type expression and show its relationship to rational language theory. We further present a concrete syntax, regular type expression, and a Common Lisp implementation thereof which allows the programmer to declaratively express the types of heterogeneous sequences in a way which is natural in the Common Lisp language. The implementation uses techniques well known and well founded in rational theory, in particular the use of the Brzozowski derivative and deterministic automata to reach a solution which can match a sequence in linear time. We illustrate the concept with several motivating examples, and finally explain many details of its implementation.

References

[1]
C. A. Finseth. The Craft of Text Editing - Emacs for the Modern World. Springer-Verlag, 1991.
[2]
E. Gamma, J. Vlissides, R. Johnson, and R. Helm. Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1998.
[3]
B. S. Greenberg. Multics emacs (prose and cons): A commercial text-processing system in lisp. In Proceedings of the 1980 ACM Conference on LISP and Functional Programming, LFP '80, pages 6-12, New York, NY, USA, 1980. ACM.
[4]
B. Lewis, D. LaLiberte, and R. Stallman. GNU Emacs Lisp Reference Manual. Free Software Foundation, Boston, MA, USA, 2014.
[5]
D. D. Sleator and R. E. Tarjan. Self-adjusting binary search trees. J. ACM, 32(3):652-686, July 1985.
[6]
R. Strandh, M. Villeneuve, and T. Moore. Flexichain: An editable sequence and its gap-buffer implementation. In Proceedings of the Lisp and Scheme Workshop, 2004.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ELS2016: Proceedings of the 9th European Lisp Symposium on European Lisp Symposium
May 2016
117 pages
ISBN:9782955747407

In-Cooperation

Publisher

European Lisp Scientific Activities Association

Publication History

Published: 09 May 2016

Check for updates

Author Tags

  1. CLOS
  2. Common Lisp
  3. Text editor

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media