= 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 [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.