The ParenScript Object System (PSOS) is a facility for object-oriented programming in ParenScript using the same style and techniques as the Common Lisp Object System. It consists of a set of macros in lisp and a runtime environment in Parenscript. The project is maintained by Red Daly (reddaly at gmail) and licensed under the GPL.


Multiple inheritance, generic functions, and basic method combination is currently implemented. Example Parenscript that uses PSOS:

(defclass person ()) (defclass politician (person)) (defgeneric discuss-environment (individual)) (defmethod discuss-environment ((individual person)) (alert "I don't know anything about the environment")) (defmethod discuss-environment ((individual politician)) (alert "The environment is an important issue, but so is Osama Bin Laden"))