wanted: compute-slot-value-using-class-form or equivalent MOP extension
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
As briefly discussed on SBCL10, with a relatively simple extension it could be possible to avoid degrading the performance of slot-value when a custom SVUC is defined.
The idea is to have a MOP extension, a generic method called something like COMPUTE-
This would mean a 10-fold speed-up in some of our customizations, mostly due to not circumventing the current MAKE-INSTANCE optimizations.
Somewhat related is the problem of merging two metaclasses, e.g. merging persistent-class and computed-class... even without optimizations in the picture, it requires a similar thing: the two SVUC bodies, the lisp forms themselves, coming from two different libraries need to be merged by hand. We do that by using an ad-hoc simple protocol provided by the computed-class library. This protocol is a simple DEFUN that returns the computed-class's SVUC with extra stuff optionally inserted at certain points in the SVUC body.
tags: | added: pcl |
description: | updated |
Changed in sbcl: | |
status: | New → Confirmed |
importance: | Undecided → Wishlist |
summary: |
- extend CLOS MOP with a compute-slot-value-using-class-form + wanted: compute-slot-value-using-class-form or equivalent MOP extension |
maybe this could even be turned into a CDR (http:// cdr.eurolisp. org/) once the implementation is settled in sbcl.