| 1 | = Built-in Conditions = |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | == The difference == |
| 6 | |
| 7 | There is one major difference between built-in conditions and custom conditions: |
| 8 | |
| 9 | * built-in conditions have classes inheriting from the org.armedbear.lisp.Condition class |
| 10 | * custom conditions are -in the java world- represented using the org.armedbear.lisp.StandardObject class |
| 11 | |
| 12 | Built-in conditions can simply be instantiated in Java using the ''new'' operator. |
| 13 | |
| 14 | == Instantiation of built-in conditions from Lisp == |
| 15 | |
| 16 | To find the full list of Java classes which mirror a Lisp condition, have a look at [source:trunk/j/src/org/armedbear/lisp/make_condition.java make_condition.java]. This file is being used from [source:trunk/j/src/org/armedbear/lisp/clos.lisp 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. |
| 17 | |