[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: User-defined record types
From: |
Lars Brinkhoff |
Subject: |
Re: User-defined record types |
Date: |
Wed, 15 Mar 2017 19:14:18 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Stefan Monnier wrote:
>> Yes, at first I tried to make cl-deftype do this by default. But I
>> ran into problems in cl-preloaded.el and cl-generic.el.
> I can help with that.
Thanks. I got past that and made it through to a dumped emacs which
uses record types for defstruct by default.
However, there is still EIEIO which may well need some expert guidance
to update.
> As mentioned, ideally, we'd want to store the class object directly in
> the slot 0. The downside is that prin1 would then dump the class object
> as well, so when reading dumped objects we'd end up creating another
> copy of the class object rather than reusing an existing class object.
> And this will break cl-generic dispatch which compares class objects
> with `eq`.
Understood. I'll look into storing the class object in slot 0. I
imagine there will be some circular bootstrapping problem, e.g. creating
the first record object requires a class object which is a record
object.
Some suggestions:
- type-of looks into the class object and returns the symbol naming the
class.
- class-of could be introduced to return a class object, like CLOS.
- The read/print syntax for records uses the symbol for the type slot.
Reading a record would then maybe only work right if the class object
has been defined first. Not sure if that's ok.
- Re: Elisp printer, (continued)
- Re: Elisp printer, Lars Brinkhoff, 2017/03/08
- Re: Elisp printer, Stefan Monnier, 2017/03/08
- Re: Elisp printer, Lars Brinkhoff, 2017/03/09
- User-defined record types, Lars Brinkhoff, 2017/03/14
- Re: User-defined record types, Lars Brinkhoff, 2017/03/14
- Message not available
- Message not available
- Re: User-defined record types, Lars Brinkhoff, 2017/03/14
- Re: User-defined record types, Lars Brinkhoff, 2017/03/14
- Re: User-defined record types, Stefan Monnier, 2017/03/14
- Re: User-defined record types, Lars Brinkhoff, 2017/03/14
- Re: User-defined record types, Stefan Monnier, 2017/03/15
- Re: User-defined record types,
Lars Brinkhoff <=
- Re: User-defined record types, Stefan Monnier, 2017/03/15
- Re: User-defined record types, Lars Brinkhoff, 2017/03/15
- Re: User-defined record types, Stefan Monnier, 2017/03/15
- Re: User-defined record types, Lars Brinkhoff, 2017/03/15
- Re: User-defined record types, Stefan Monnier, 2017/03/15
- Re: User-defined record types, Stefan Monnier, 2017/03/15
- Re: User-defined record types, Stefan Monnier, 2017/03/15
- Re: User-defined record types, Lars Brinkhoff, 2017/03/16
- Re: User-defined record types, Stefan Monnier, 2017/03/16
- Re: User-defined record types, Lars Brinkhoff, 2017/03/17