about summary refs log tree commit diff stats
path: root/cutil.lisp
diff options
context:
space:
mode:
authorDarren Bane <darren.bane@gmail.com>2020-10-09 21:22:20 +0100
committerDarren Bane <darren.bane@gmail.com>2020-10-09 21:22:20 +0100
commitb1f18384189e32fa29fadbb29d3043ade4aa67e5 (patch)
tree786194fc91812879634dc9bc5db9a828682f6d21 /cutil.lisp
parentd34eb60916327589576143fa84c1a2468bee6cf3 (diff)
downloadlsp-b1f18384189e32fa29fadbb29d3043ade4aa67e5.tar.gz
Trying to debug abstract classes, WIP
Diffstat (limited to 'cutil.lisp')
-rw-r--r--cutil.lisp9
1 files changed, 6 insertions, 3 deletions
diff --git a/cutil.lisp b/cutil.lisp
index 0b569e2..2f10099 100644
--- a/cutil.lisp
+++ b/cutil.lisp
@@ -1,11 +1,14 @@
 (defpackage #:cutil
-  (:use #:common-lisp)
+  (:use #:common-lisp :closer-mop)
   (:export
    #:<abstract-class>))
 (in-package #:cutil)
 
-(defclass <abstract-class> () ())
+(defclass <abstract-class> (standard-class) ())
 (defmethod make-instance ((self <abstract-class>) &key)
-  (error "Cannot instantiate abstract class ~A" (class-name c)))
+  (error "Cannot instantiate abstract class ~A" (class-name self)))
+(defmethod closer-mop:validate-superclass ((class <abstract-class>)
+					   (superclass standard-class))
+  t)
 
 (provide "cutil")