wanted: compute-slot-value-using-class-form or equivalent MOP extension

Bug #520877 reported by Attila Lendvai
6
This bug affects 1 person
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-SLOT-VALUE-USING-CLASS-FORM, that user libraries could customize to build the SVUC body. Using the returned form the current optimizations could continue doing what they are doing currently.

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: pcl
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
Revision history for this message
Attila Lendvai (attila-lendvai) wrote :

maybe this could even be turned into a CDR (http://cdr.eurolisp.org/) once the implementation is settled in sbcl.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.