X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=base-class.lisp;fp=base-class.lisp;h=4c0315661cf8c06f18cea17e3405a204d4d81faa;hb=18558405db4d6d5ca2a47aac32fb13958430b189;hp=0000000000000000000000000000000000000000;hpb=310528f335c81365343ca5503e4db4be062080a2;p=hyperobject.git diff --git a/base-class.lisp b/base-class.lisp new file mode 100644 index 0000000..4c03156 --- /dev/null +++ b/base-class.lisp @@ -0,0 +1,30 @@ +;;;; -*- 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.1 2002/11/25 02:10:38 kevin Exp $ +;;;; +;;;; This file is Copyright (c) 2000-2002 by Kevin M. Rosenberg +;;;; ************************************************************************* + +(in-package :hyperobject) + +(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 ((fmt (make-instance 'hyperobject::textformat))) + (apply #'format + s (funcall (obj-data-fmtstr fmt) obj) + (multiple-value-list + (funcall (funcall (obj-data-value-func fmt) obj) obj)))))) +