Node:Introduction, Next:, Previous:Top, Up:Top

1 Introduction

GOOPS is the object oriented extension to Guile. Its implementation is derived from STk-3.99.3 by Erick Gallesio and version 1.3 of Gregor Kiczales Tiny-Clos. It is very close in spirit to CLOS, the Common Lisp Object System (CLtL2) but is adapted for the Scheme language. While GOOPS is not compatible with any of these systems, GOOPS contains a compatibility module which allows for execution of STKlos programs.

Briefly stated, the GOOPS extension gives the user a full object oriented system with multiple inheritance and generic functions with multi-method dispatch. Furthermore, the implementation relies on a true meta object protocol, in the spirit of the one defined for CLOS (Gregor Kiczales: A Metaobject Protocol).