all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Nix <nix@esperi.org.uk>
To: Lennart Borgman <lennart.borgman@gmail.com>
Cc: egnarts-ms <egnartsms@gmail.com>,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	Drew Adams <drew.adams@oracle.com>,
	Emacs-devel@gnu.org
Subject: Re: CL package serious deficiencies
Date: Tue, 07 Feb 2012 21:23:55 +0000	[thread overview]
Message-ID: <87r4y6bams.fsf@spindle.srvr.nix> (raw)
In-Reply-To: <CANbX365qcH_0d_6Gx5yHia5GK7jwkVhdA=BSxZcn_dUQvnGyPw@mail.gmail.com> (Lennart Borgman's message of "Tue, 7 Feb 2012 22:12:44 +0100")

On 7 Feb 2012, Lennart Borgman spake thusly:

> On Tue, Feb 7, 2012 at 22:10, Nix <nix@esperi.org.uk> wrote:
>>> But no one has said that cl.el should not be used. I have not seen any
>>> problems when the instructions for its use are followed.
>>
>> Since those instructions amount to 'don't use it except at compile-
>> time', this is not incredibly surprising.
>
> I think you are misundering.. ;-) -- or am I misunderstanding you...
>
> The code that uses cl.el must be compiled. Is that a very sever limitation?

Er, yeah, it's that you can't do

(require 'cl)

without getting moaned at by the byte-compiler and rejected from
inclusion into Emacs, a limitation true of no other elisp package in
existence (not even apel, which really *did* break things back in the
day, perhaps because it was last maintained in 1996).

Yeah, you can do

(eval-when-compile
   (require 'cl))

or

(require 'cl-macs)

but those do not do the same thing.

So as a result, if one of us wants to use `cadr' in ordinary Lisp
functions that are part of Emacs, we can, but if we want to use `caddr',
we can't. Now does that restriction make any sense at all? I'd say it
doesn't: if there are bugs preventing the whole byte-compile-cl-warn
mess being dropped from bytecomp.el, then those bugs should be fixed.

(Obviously, `caddr' is hardly essential -- I used it only for rhetorical
purposes, becuase it is quite clear that it is no more reasonable to ban
its use at runtime than it is to ban use of 'car' -- but some things in
cl and especially cl-extra really are useful and pointless to
reimplement: random* for example, or the extra mapping functions.)

(FWIW, the *last* time I asked about this, many years ago, I was told
that runtime use of cl was out of the question because it used too much
memory. I presume that this argument is obsolete :) )

-- 
NULL && (void)



  reply	other threads:[~2012-02-07 21:23 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-06 14:18 CL package serious deficiencies egnarts-ms
2012-02-06 21:08 ` Stefan Monnier
2012-02-06 21:53   ` Drew Adams
2012-02-07  3:02     ` Stefan Monnier
2012-02-07 12:04       ` egnarts-ms
2012-02-07 17:36         ` Stefan Monnier
2012-02-08 13:15           ` egnarts-ms
2012-02-08 19:07             ` Stefan Monnier
2012-02-07 12:29     ` egnarts-ms
2012-02-07 18:43     ` Nix
2012-02-07 19:11       ` Lennart Borgman
2012-02-07 19:15         ` Juanma Barranquero
2012-02-07 20:54           ` Lennart Borgman
2012-02-07 21:03         ` John Wiegley
2012-02-07 21:06         ` Nix
2012-02-07 21:08           ` Lennart Borgman
2012-02-07 21:10             ` Nix
2012-02-07 21:12               ` Lennart Borgman
2012-02-07 21:23                 ` Nix [this message]
2012-02-07 21:29                   ` Lennart Borgman
2012-02-07 21:30                     ` Nix
2012-02-07 21:32                   ` Glenn Morris
2012-02-07 21:34                   ` Daniel Colascione
2012-02-07 21:42                     ` Tom Tromey
2012-02-08  1:53                       ` Leo
2012-02-07 22:16                     ` Alan Mackenzie
2012-02-07 22:19                       ` Nix
2012-02-08 13:28                     ` Richard Stallman
2012-02-08 15:00                       ` Tom Tromey
2012-02-09  6:29                         ` Richard Stallman
2012-02-09 14:23                           ` Eric Schulte
2012-02-10 15:44                             ` Richard Stallman
2012-02-10 18:36                               ` Tom Tromey
2012-02-10 15:52                             ` Tom Tromey
2012-02-10 16:23                               ` Drew Adams
2012-02-10 16:42                               ` Ted Zlatanov
2012-02-09  6:30                         ` Richard Stallman
2012-02-09 13:56                           ` Ted Zlatanov
2012-02-10 15:44                             ` Richard Stallman
2012-02-10 18:34                               ` Tom Tromey
2012-02-10 15:48                           ` Tom Tromey
2012-02-10 18:29                             ` Stefan Monnier
2012-02-08  2:07                   ` Stephen J. Turnbull
2012-02-07 22:41               ` Glenn Morris
2012-02-07 23:10                 ` Nix
2012-02-08 13:42                   ` Eric Schulte
2012-02-08 13:46                     ` Lennart Borgman
2012-02-08 13:51                       ` Eric Schulte
2012-02-08 15:29                         ` Lennart Borgman
2012-02-08 15:39                           ` Eric Schulte
2012-02-08 15:43                             ` Lennart Borgman
2012-02-08 14:26                     ` Drew Adams
2012-02-08 13:15         ` Teemu Likonen
2012-02-09  7:33           ` spam- or registry-related things in Gnus need cl at run-time? (was: CL package serious deficiencies) Reiner Steib
2012-02-09 16:39             ` spam- or registry-related things in Gnus need cl at run-time? Teemu Likonen
2012-02-07 23:48       ` CL package serious deficiencies Stefan Monnier
2012-02-07 23:52         ` Nix
2012-02-08  0:10           ` Lennart Borgman
2012-02-08  0:15             ` Nix
2012-02-08  1:51               ` Stefan Monnier
2012-02-08 23:43                 ` Nix
2012-02-09 21:34                   ` Stefan Monnier
2012-02-08  2:13           ` Stephen J. Turnbull
2012-02-08  2:19             ` Lennart Borgman
2012-02-08  4:23               ` Stephen J. Turnbull
2012-02-08 11:00                 ` Lennart Borgman
2012-02-08 17:42           ` Richard Stallman
2012-02-08 19:54             ` Stefan Monnier
2012-02-08  0:38         ` Daniel Colascione
2012-02-08  1:32           ` Lennart Borgman
2012-02-08  1:53           ` Stefan Monnier
2012-02-08  2:26             ` Daniel Colascione
2012-02-08 22:28       ` Lars Ingebrigtsen
2012-02-08 22:32         ` Lennart Borgman
2012-02-08 23:35         ` Nix
2012-02-09 19:42           ` Richard Stallman
2012-02-09 19:46             ` Nix
2012-02-10  1:09         ` John Wiegley
2012-02-10 14:38         ` Stefan Monnier
2012-02-10 15:08           ` Juanma Barranquero
2012-02-10 15:35             ` Drew Adams
2012-02-10 18:15               ` Stefan Monnier
2012-02-10 18:21                 ` Drew Adams
2012-02-10 15:24           ` Lars Ingebrigtsen
2012-02-10 18:24             ` Stefan Monnier
2012-02-10 18:26               ` Lars Ingebrigtsen
2012-02-10 18:47               ` Johan Bockgård
2012-02-10 17:12           ` Helmut Eller
2012-02-10 18:51             ` Stefan Monnier
2012-02-10 18:55               ` Lars Ingebrigtsen
2012-02-10 19:08               ` Teemu Likonen
2012-02-11 13:25                 ` Juanma Barranquero
2012-02-11 16:56                   ` Johan Bockgård
2012-02-11 22:33                     ` Juanma Barranquero
2012-02-12  4:41                 ` Stefan Monnier
2012-02-12 15:53                   ` Teemu Likonen
2012-02-12 16:52                     ` Stefan Monnier
2012-02-12 16:55                     ` Stefan Monnier
2012-02-10 23:56               ` Helmut Eller
2012-02-12  4:47                 ` Stefan Monnier
2012-02-12 17:39                   ` Helmut Eller
2012-02-12 18:15                     ` Stefan Monnier
2012-02-12 18:58                       ` Helmut Eller
2012-02-19 12:52         ` Dimitri Fontaine

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=87r4y6bams.fsf@spindle.srvr.nix \
    --to=nix@esperi.org.uk \
    --cc=Emacs-devel@gnu.org \
    --cc=drew.adams@oracle.com \
    --cc=egnartsms@gmail.com \
    --cc=lennart.borgman@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /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.