bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#8415: 23.3.50; Extensible Emacs Registers


From: Daniel Colascione
Subject: bug#8415: 23.3.50; Extensible Emacs Registers
Date: Mon, 04 Apr 2011 18:49:43 -0700
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9

On 4/4/11 6:41 PM, Stefan Monnier wrote:
>> Polymorphism-via-typecase is delicate at best no matter what language we're
>> working in.
> 
> [ Irrelevant side-comment: Completely depends on the problem at hand: it
>   makes adding "methods" much easier. ]

IMHO, those situations are the exceptions.

>>>> So we will have to make almost all values a struct anyway to fix bugs
>>>> like this.
>>> Yes, all new types will use register structs.  That's not a problem.
>>> And you can even later-on de-support old types and have them go through
>>> register structs as well.
>> What's wrong with getting it over with now?
> 
> It's the difference between "one simple obviously correct change" and
> "one big change that might be correct".

I see your point, though both approaches would be pretty small changes
in the scheme of things.  If you want to split the change into smaller
steps, that's fine so long as we eventually aim to get rid of the
typecase polymorphism.

>> I'd also slightly prefer Leo's structure approach to the
>> dispatcher-function one below.
> 
> I tend to agree, tho both kind of suck: we'd want real objects with
> dynamic dispatch instead.

Well, there's EIEIO.  It gives you the ability to easily add methods
while not baking the dispatch into each one.  On the other hand, it's a
quite a bit of code to pull into the core at runtime.

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]