all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Engster <deng@randomsample.de>
To: help-gnu-emacs@gnu.org
Subject: Re: EIEIO built in methods -- question
Date: Tue, 11 Jun 2013 17:43:31 +0200	[thread overview]
Message-ID: <87vc5kps9o.fsf@arcor.de> (raw)
In-Reply-To: 87txl5ixk1.fsf@kuiper.lan.informatimago.com

"Pascal J. Bourguignon" <pjb@informatimago.com> writes:
> David Engster <deng@randomsample.de> writes:
>
>> If you could provide a doc-fix for the EIEIO section regarding CLOS
>> compatibility, that would be much appreciated, since you know much more
>> about CLOS than I do.
>
> Unfortunately, I won't have the time to do so for the foreseable future
> (new job, etc).  But if you try to do it yourself you'll learn a lot

There's a lot to learn out there. Unfortunately, time is sparse, and
CLOS is not an itch I need to scratch at the moment.

>> Well, in some other OO languages, these singleton classes are usually
>> implemented through static members. AFAIK, in CLOS you also have these
>> in the form of slots with class allocation, which is also supported by
>> EIEIO. In fact, if you look at the eieio-singleton class, this is also
>> how it is implemented there.
>
> Yes, for slots.
>
> But remember that methods are not attached to classes or objects in
> CLOS, but to generic functions.

Yes, I admit I keep forgetting that. Must be because of my C++ dayjob...

[...]

> Well you see, the problem of :allocation :class is that you need an
> instance to access it.  When you're trying to construct an instance, you
> may not have one to get the :allocation :class slot.  Or you can do the
> test after allocating the instance, but it's suboptimal.

It's the latter I was suggesting.

>> I guess you're speaking tongue in cheek here, still it should be
>> mentioned that there was no "they". It's pretty much all Eric Ludlam's
>> code, and I don't think agile directives were around in the mid
>> 90's... :-)
>
> Yes, it's just that it reflects a mentality that is not often found in
> lisp culture.  Lisp culture is rather to do the things right (cathedral)
> rather than to do them quick, and gain market share and popularity
> (bazar).
>
> Both have advantages.  Personnally, I prefer to have fewer choice of
> libraries, but when I use one, to find that it is complete, instead of
> just implementing what was needed to implement some limited application.

I think this is a wrong and unfair description of what EIEIO is and how
it was developed, but I see no point in discussing this further. We try
to list the deficiencies of EIEIO compared to CLOS so nobody has to
waste time finding out it doesn't suit his needs, but obviously things
are missing, and I will add your points when I have time to do so. If
you have more issues that should be listed in the documentation, please
let me know.

-David




      reply	other threads:[~2013-06-11 15:43 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-09 10:22 EIEIO built in methods -- question Eric Abrahamsen
2013-06-09 10:49 ` Eric Abrahamsen
2013-06-09 11:54 ` Pascal J. Bourguignon
2013-06-09 15:22   ` Eric Abrahamsen
     [not found]   ` <mailman.1279.1370791373.22516.help-gnu-emacs@gnu.org>
2013-06-09 20:47     ` Pascal J. Bourguignon
2013-06-10 15:48       ` David Engster
2013-06-11  2:16         ` Eric Abrahamsen
2013-06-12 15:44           ` David Engster
2013-06-13  5:11             ` Eric Abrahamsen
2013-06-13  9:06               ` Eric Abrahamsen
2013-06-13 15:49               ` David Engster
2013-06-14  1:37                 ` Eric Abrahamsen
2013-06-14 15:14                   ` David Engster
2013-06-14 16:15                     ` Eric Abrahamsen
     [not found]                     ` <mailman.1680.1371226519.22516.help-gnu-emacs@gnu.org>
2013-06-14 18:29                       ` Pascal J. Bourguignon
     [not found]       ` <mailman.1356.1370879310.22516.help-gnu-emacs@gnu.org>
2013-06-10 19:18         ` Pascal J. Bourguignon
2013-06-11 15:43           ` David Engster [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87vc5kps9o.fsf@arcor.de \
    --to=deng@randomsample.de \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.