r3471: *** empty log message ***
[hyperobject.git] / base-class.lisp
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          base-class.lisp
6 ;;;; Purpose:       Definition of basic hyperobject class
7 ;;;; Programmer:    Kevin M. Rosenberg
8 ;;;; Date Started:  Apr 2000
9 ;;;;
10 ;;;; $Id: base-class.lisp,v 1.1 2002/11/25 02:10:38 kevin Exp $
11 ;;;;
12 ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
13 ;;;; *************************************************************************
14
15 (in-package :hyperobject)
16
17 (defclass hyperobject ()
18   ()
19   (:metaclass hyperobject-class)
20   (:description "Basic hyperobject class"))
21
22
23 (defmethod print-object ((obj hyperobject) (s stream))
24   (print-unreadable-object (obj s :type t :identity t)
25     (let ((fmt (make-instance 'hyperobject::textformat)))
26       (apply #'format 
27              s (funcall (obj-data-fmtstr fmt) obj)
28              (multiple-value-list 
29               (funcall (funcall (obj-data-value-func fmt) obj) obj))))))
30