A Modern Implementation of the Common Lisp LOOP Macro

Описание к видео A Modern Implementation of the Common Lisp LOOP Macro

ELS 2016, 9th European Lisp Symposium, 9-10 May 2016,
Department of Computer Science, AGH University of Science and Technology, Kraków, Poland.

Robert Strandh, University of Bordeaux, France.

Most Common Lisp implementations seem to use a derivative of MIT loop. This implementation predates the Common Lisp standard, which means that it does not use some of the features of Common Lisp that were not part of the language before 1994. As a consequence, the loop implementation in all major Common Lisp implementation is monolithic and therefore hard to maintain and extend.

Furthermore, MIT loop is not a conforming loop imple- mentation, in that it produces the wrong result for certain inputs. In addition, MIT loop accepts sequences of loop clauses with undefined behavior according to the standard, though whether such extended behavior is a problem is debatable.

We describe a modern implementation of the Common Lisp loop macro. This implementation is part of the SICL1 project. To make this implementation of the macro modular, maintainable, and extensible, we use combinator parsing to recognize loop clauses, and we use CLOS generic functions for code generation.

Комментарии

Информация по комментариям в разработке