1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
5 ;;;; Name: base-class.lisp
6 ;;;; Purpose: Definition of basic hyperobject class
7 ;;;; Programmer: Kevin M. Rosenberg
8 ;;;; Date Started: Apr 2000
10 ;;;; $Id: base-class.lisp,v 1.4 2002/12/13 08:25:45 kevin Exp $
12 ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg
13 ;;;; *************************************************************************
15 (in-package :hyperobject)
16 (eval-when (:compile-toplevel :execute)
17 (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
20 (defclass hyperobject ()
22 (:metaclass hyperobject-class)
23 (:description "Basic hyperobject class"))
25 (defmethod print-object ((obj hyperobject) (s stream))
26 (print-unreadable-object (obj s :type t :identity t)
27 (let ((view (get-category-view obj :compact-text)))
28 (apply #'format s (obj-data-fmtstr view)
30 (funcall (obj-data-value-func view) obj))))))