[cl-serializer-devel] (no subject)

[also sent to pc@p-cos.net] CL-SERIALIZER calls CLOSER-MOP:SLOT-DEFINITION-ALLOCATION on a class object that might be a STANDARD-CLASS and might not (e.g. a STRUCTURE-CLASS). In SBCL, both of these are defined, but in Allegro 8.1, the only method on this generic function is on STANDARD-CLASS. Does it make sense to (1) extend the GF for the Allegro case in CLOSER-MOP to return NIL or some other sensible value (2) embed an appropriate check in the CL-SERIALIZER client code or (3) do you have another suggestion? Thanks, Andrew Philpot USC ISI

Does it make sense to (1) extend the GF for the Allegro case in CLOSER-MOP to return NIL or some other sensible value (2) embed an appropriate check in the CL-SERIALIZER client code or (3) do you have another suggestion?
my take is basically (2): define separate (de)serializers for structure-object's and standard-object's instead of a shared (def serializer-deserializer slot-object ...) and use them appropriately from (def serializer-deserializer structure-object ... ) and (def serializer-deserializer standard-object +standard-object-code+ ...). maybe dealing with funcallable-standard-class, too if necessary. this requires a good knowledge of the related part of the standard, and/or an environment with many enough lisps to be able to run practical tests quickly. i personally have neither at the moment, but Levy may have some words on this. patches are very welcome, though! :) -- attila

my take is basically (2): define separate (de)serializers for structure-object's and standard-object's instead of a shared (def serializer-deserializer slot-object ...) and use them appropriately from (def serializer-deserializer structure-object ... ) and (def serializer-deserializer standard-object +standard-object-code+ ...). maybe dealing with funcallable-standard-class, too if necessary.
for the record, as far as i remember, i've implemented this meanwhile... see the generics: - write-object-slots - read-object-slots -- attila ps: removing star from this mail now... :)
participants (2)
-
Andrew Philpot
-
Attila Lendvai