Version 1 (modified by ehuelsmann, 13 years ago) (diff)

Initial mind dump

Built-in Conditions

ABCL distinguishes built-in conditions which it can easily use from the Primitives inside Java and "other" conditions - called Custom Conditions - which the ABCL user defines inside the Lisp environment.

The difference

There is one major difference between built-in conditions and custom conditions:

  • built-in conditions have classes inheriting from the org.armedbear.lisp.Condition class
  • custom conditions are -in the java world- represented using the org.armedbear.lisp.StandardObject? class

Built-in conditions can simply be instantiated in Java using the new operator.

Instantiation of built-in conditions from Lisp

To find the full list of Java classes which mirror a Lisp condition, have a look at This file is being used from clos.lisp to create conditions in the MAKE-CONDITION function. When the function fails to match the condition class passed to it (ie. it returns NIL), it tries to instantiate an object of class StandardObject?.