all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrea Corallo <akrl@sdf.org>
To: "João Távora" <joaotavora@gmail.com>
Cc: nic@ferrier.me.uk, "Clément Pit-Claudel" <cpitclaudel@gmail.com>,
	emacs-devel <emacs-devel@gnu.org>,
	"Stefan Monnier" <monnier@iro.umontreal.ca>,
	"Helmut Eller" <heller@common-lisp.net>
Subject: Re: Proper namespaces in Elisp
Date: Tue, 05 May 2020 23:37:05 +0000	[thread overview]
Message-ID: <xjf4ksu9cny.fsf@sdf.org> (raw)
In-Reply-To: <CALDnm53RrnNneKXh0mWakTfnYmSGONeBjHbLOUcoCDLHtzB_fQ@mail.gmail.com> ("João Távora"'s message of "Tue, 5 May 2020 22:20:17 +0100")

João Távora <joaotavora@gmail.com> writes:

> On Tue, May 5, 2020 at 3:27 PM Andrea Corallo <akrl@sdf.org> wrote:
>> Yes is how this is worked around that in CL. It works, I'm just saying
>> is error prone and unnecessary complex.
>
> What is complex? Understanding how quoting works?
> Replacing the quote with a colon?

It is complex what I've explained in the mail with the example, that is
keeping track of every execution paths that can lead to a symbol being
leaked.

The fix is obviously trivial as was (on purpose) the example.  BTW I
don't think the number of characters of a fix tells much about it.

After that would come all the topic of read-time side effects but is a
different one and IMO [2] does a good job on that.

>> No, I'm thinking to one namespace only for symbols *not* for bindings.
>> This is not CL or Elisp either.
>
> I don't understand, I admit.  I thought this conversation was about
> you telling me why a reader-based system is a bad idea.

What can I say, I tried to give my opinions, but if you are not
satisfied with them I just apologize.  You have probably over estimated
me.

> (It seems Tom and Stefan have explained that to a point BTW,
> it's that internal Emacs features rely on certain names being
> interned in the main package. Not necessarily a big problem
> IMO, we can discuss that if you want.)
>
>> Thanks for telling me I could learn it.  I'm trying to say that I think
>> is unnecessary complex being too low level and that there could be
>> another way.  But okay if you prefer I just haven't learned how it
>> works.
>
> It's that you insist it should do A when you ask it to do B.
> It's like expecting printf("Hello World") to print "Goodbye".

_If_ you allow, I can still think would be more convenient doing A even
if Hyperspec says must do B.

But if you like examples:

You know petrol cars, there is no reason to have electric ones.  If you
read the manual is explained you need to put petrol into them.  We can
then just suggest any proponent of electric cars to just read the manual
of petrol ones to understand how they works.

> [1] https://zenodo.org/record/2648195
> [2] http://www.flownet.com/gat/locales.pdf
>
>
> Also, in [1]  in its section "Problems with CL packages", a very short
> section in a very short paper, starts off by admitting that it's
> "CL packages are a misunderstood part of CL" [1, p2]. Sounds
> familiar, indeed.

I must say this is one the points where your writing sounds is a bit
arrogant.  I'm possibly wrong but I've to say I don't enjoy this
approach and the resulting tone of the conversation.  I don't think it
serves your points.

> Then, the main criticism it levels against them is read-time
> side-effects, and points to [2] for justification. We check it out.
> [2] show us the unintentional interning of a symbols in the REPL
> caused an typo and an unusual way to :USE packages.  Forgets
> to mention a REPL is interactive, by definition and that most Lisps
> will contain restarts that explain the error and allow you to choose
> a solution and continue cleanly after the error. The author also
> presents the package version in an unnecessarily verbose way.
> Finally that author admits, at the end of the section [2, page 4]
> that "This is a matter of taste."  De Gustibus Non Est Disputandum.

Yes he's trying to show his point of view, that is the system can be
confusing non convenient and error prone, for reasons he's convinced are
valid and he's exposing.

Obviously trying to prove that he is doing on purpose errors, because
every programming language used with no errors just works.  But here
he's *not* trying to prove CL does not work.

> Not exactly categorical, i would say.
>
> So you could have just said "it's not my taste".

Papers just reflect the vision of the authors, this is how it works.
These are not papers describing scientific experiments.

Anyway I don't think we are progressing much so I suggest we just cope
with our disagreement.

Andrea

-- 
akrl@sdf.org



  reply	other threads:[~2020-05-05 23:37 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-04 10:52 Proper namespaces in Elisp João Távora
2020-05-04 15:11 ` Adam Porter
2020-05-04 15:38   ` Clément Pit-Claudel
2020-05-04 15:49     ` João Távora
2020-05-04 16:39       ` Adam Porter
2020-05-04 16:49         ` João Távora
2020-05-04 18:00       ` Clément Pit-Claudel
2020-05-04 20:19       ` Vladimir Sedach
2020-05-05  2:51     ` Richard Stallman
2020-05-04 15:29 ` Clément Pit-Claudel
2020-05-04 16:04   ` João Távora
2020-05-04 18:29     ` Helmut Eller
2020-05-04 18:39     ` Stefan Monnier
2020-05-04 19:02       ` João Távora
2020-05-04 19:20         ` Stefan Monnier
2020-05-04 19:49           ` João Távora
2020-05-04 21:59         ` Andrea Corallo
2020-05-04 22:34           ` João Távora
2020-05-05 10:33             ` Andrea Corallo
2020-05-05 10:54               ` Andrea Corallo
2020-05-05 12:50               ` João Távora
2020-05-05 13:34                 ` Andrea Corallo
2020-05-05 14:03                   ` João Távora
2020-05-05 14:26                     ` Andrea Corallo
2020-05-05 21:20                       ` João Távora
2020-05-05 23:37                         ` Andrea Corallo [this message]
2020-05-06  0:15                           ` João Távora
2020-05-06  7:07                             ` Andrea Corallo
2020-05-06 19:48                               ` João Távora
2020-05-07  6:13                                 ` Andrea Corallo
2020-05-05 13:45               ` Stefan Monnier
2020-05-05 14:07                 ` João Távora
2020-05-05  4:55           ` Helmut Eller
2020-05-04 21:40     ` Vladimir Sedach
2020-05-04 22:09       ` João Távora
2020-05-05  1:09         ` Vladimir Sedach
2020-05-05  9:38           ` João Távora
2020-05-05 16:41             ` Vladimir Sedach
2020-05-05 21:29               ` João Távora
2020-05-06  3:25                 ` Vladimir Sedach
2020-05-06 19:38                   ` João Távora
2020-05-06 22:47                     ` Vladimir Sedach
2020-05-07 10:00                       ` João Távora
2020-05-07 18:30                         ` Vladimir Sedach
2020-05-07 19:32                           ` João Távora
2020-05-04 22:40       ` João Távora
2020-05-05  1:24         ` Vladimir Sedach
2020-05-04 15:43 ` Stefan Monnier
2020-05-05 15:10 ` Tom Tromey
2020-05-05 21:30   ` João Távora
2020-05-07  2:23     ` Tom Tromey
2020-05-07  3:12       ` Stefan Monnier
2020-05-07 13:02         ` Tom Tromey
2020-05-07 13:48           ` João Távora
2020-05-07 18:17             ` Stefan Monnier
2020-05-07 18:48               ` Vladimir Sedach
2020-05-07 20:33                 ` João Távora
2020-05-08  2:56                   ` Vladimir Sedach
2020-05-08 15:56                     ` João Távora
2020-05-08 17:59                       ` Vladimir Sedach
2020-05-08 18:38                         ` João Távora
2020-05-07 19:37         ` Daniel Colascione
2020-05-07 20:28           ` Stefan Monnier
2020-05-07 20:42             ` Daniel Colascione
2020-05-07 21:06               ` Stefan Monnier
2020-05-07 21:10                 ` Daniel Colascione
2020-05-07 21:46                   ` João Távora
2020-05-07 21:56                     ` Daniel Colascione
2020-05-07 22:12                       ` João Távora
2020-05-08 18:59               ` Vladimir Sedach
2020-05-08 19:34                 ` Daniel Colascione
2020-05-09  0:00                   ` Vladimir Sedach
2020-05-09  0:32                     ` Daniel Colascione
2020-05-09  8:37                       ` Andrea Corallo
2020-05-09 16:11                         ` Daniel Colascione
2020-05-09 17:25                           ` Andrea Corallo
2020-05-09 17:45                             ` Daniel Colascione
2020-05-09 18:23                               ` João Távora
2020-05-09 18:32                                 ` Daniel Colascione
2020-05-09 18:35                                   ` João Távora
2020-05-09 18:39                                     ` Daniel Colascione
2020-05-09 19:11                                       ` João Távora
2020-05-09 18:30                               ` Andrea Corallo
2020-05-09 18:33                                 ` Daniel Colascione
2020-05-09 18:48                                   ` Andrea Corallo
2020-05-09 20:34                                     ` Why :USE sucks in the Common Lisp package system Michał "phoe" Herda
2020-05-09 21:47                                       ` João Távora
2020-05-09 21:55                                         ` Michał "phoe" Herda
2020-05-09 22:01                                           ` Daniel Colascione
2020-05-09 22:07                                             ` Michał "phoe" Herda
2020-05-09 22:12                                           ` João Távora
2020-05-10 10:10                                             ` Michał "phoe" Herda
2020-05-09 23:23                                       ` Andrea Corallo
2020-05-10  6:46                                         ` Andreas Schwab
2020-05-10  8:53                                           ` Helmut Eller
2020-05-10  9:59                                             ` Michał "phoe" Herda
2020-05-10  1:19                       ` Proper namespaces in Elisp Vladimir Sedach
2020-05-08 23:07                 ` Andrea Corallo
2020-05-08 23:23                   ` Stefan Monnier
2020-05-09  8:12                     ` Andrea Corallo
2020-05-09 12:06             ` Tuấn-Anh Nguyễn

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=xjf4ksu9cny.fsf@sdf.org \
    --to=akrl@sdf.org \
    --cc=cpitclaudel@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=heller@common-lisp.net \
    --cc=joaotavora@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=nic@ferrier.me.uk \
    /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.