emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs rewrite in a maintainable language


From: David Kastrup
Subject: Re: Emacs rewrite in a maintainable language
Date: Mon, 19 Oct 2015 14:04:05 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Eli Zaretskii <address@hidden> writes:
>
>>> Date: Mon, 19 Oct 2015 19:50:53 +0900
>>> From: "Stephen J. Turnbull" <address@hidden>
>>> Cc: Daniel Colascione <address@hidden>, David Kastrup <address@hidden>,
>>>     address@hidden
>>> 
>>> Taylan Ulrich Bayırlı       /Kammer writes:
>>>  > I've heard bad things about both defstruct and EIEIO for different
>>>  > reasons.  The fact that most Elisp code is shy of using even defstruct
>>>  > should tell us something.
>>> 
>>> It does.  It tells us that RMS doesn't like abstract data types.
>>
>> Reality check:
>>
>>   fgrep -Rw defstruct lisp --include="*.el" | wc
>>       172     815   12631
>
> That's 172 lines with occurences of defstruct (which usually occurs once
> per line, but since those lines have also a file name and other words,
> the second number appears to signify more than there is).
>
> Here is the output of the above fgrep command until the actual use of a
> native defstruct outside of a comment (I think we can savely assume that
> RMS would not really use cl-defstruct as he is not known to be a fan of
> cl):
>
[...]

There are 37 active occurences of defstruct (I am not counting the code
for indenting defstruct in lisp-mode, for example), about half in
nnmaildir (older than 2004 when a gnus merge was done by Miles Bader)
and half in soap-client (in 2011) by Paul Jarc and Alexandru Harsanyi,
respectively.

Reality check indeed.  cl-defstruct occurs more often in that list.
I think it is safe to say that Richard never used defstruct.  Not that
I'd consider this tantamount to "doesn't like abstract data types".

-- 
David Kastrup



reply via email to

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