;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; ;;;; Name: base-class.lisp ;;;; Purpose: Definition of basic hyperobject class ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; ;;;; $Id: base-class.lisp,v 1.5 2003/05/13 15:53:21 kevin Exp $ ;;;; ;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg ;;;; ************************************************************************* (in-package :hyperobject) (eval-when (:compile-toplevel :execute) (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2)))) (defclass hyperobject () () (:metaclass hyperobject-class) (:description "Basic hyperobject class")) (defmethod print-object ((obj hyperobject) (s stream)) (print-unreadable-object (obj s :type t :identity t) (let ((view (get-category-view obj :compact-text))) (multiple-value-call #'format s (obj-data-fmtstr view) (funcall (obj-data-value-func view) obj)))))