Node:Intro, Next:, Previous:Copyright, Up:Tutorial



5.2 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 the Gregor Kiczales Tiny-Clos. It is very close to CLOS, the Common Lisp Object System (CLtL2) but is adapted for the Scheme language.

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).

The purpose of this tutorial is to introduce briefly the GOOPS package and in no case will it replace the GOOPS reference manual (which needs to be urgently written now ...).

Note that the operations described in this tutorial resides in modules that may need to be imported before being available. The main module is imported by evaluating:

(use-modules (oop goops))