From: John Prevost <jmp@arsdigita.com>
To: Pierre Weis <Pierre.Weis@inria.fr>
Cc: jmp@arsdigita.com (John Prevost), caml-list@inria.fr
Subject: Re: Question on language design (keywords vs Pervasives)
Date: 21 Aug 2000 15:47:52 -0400 [thread overview]
Message-ID: <877l9apf9z.fsf@localhost.localdomain.> (raw)
In-Reply-To: Pierre Weis's message of "Mon, 21 Aug 2000 10:58:26 +0200 (MET DST)"
>>>>> "pw" == Pierre Weis <Pierre.Weis@inria.fr> writes:
pw> You're right, there is no really good example that uses
pw> redefinition of raise. That's why the advantage to be able to
pw> redefine it may overcome the inconvenience of not being always
pw> sure of its meaning.
Actually, I just thought of one. :) If you redefine raise in a
special way, you could have it report that it was raising exceptions,
even if those exceptions are later caught. Might be good for
analyzing your code.
pw> You're right, we don't want to have zillions of keywords. On
pw> the other hand, you also need to have some level of confidence
pw> into the words you use in the language, otherwise you can
pw> write horrors as the famous
pw> if else then else else then
pw> when then and else are not reserved.
Right. But I don't think this is necessarily the case for raise. I
just gave a good example above. There's also the possibility of
somebody who could really care less about raising exceptions most of
the time (e.g. me) but who has some code which performs an operation
named "raise". In that context, having to fight the system to get
around it is bad.
There's always a tension here. For example, when I'm writing PL
implementations, the fact that "type" is a keyword is rather
upsetting. But, I can deal--especially because I know that O'Caml
doesn't have that many gratuitous keywords--everything's there for a
reason.
John.
next prev parent reply other threads:[~2000-08-21 21:31 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-08-18 2:07 Fermin Reig
2000-08-19 16:57 ` Frank Atanassow
2000-08-20 19:01 ` Pierre Weis
2000-08-20 19:55 ` John Prevost
2000-08-21 8:58 ` Pierre Weis
2000-08-21 19:47 ` John Prevost [this message]
2000-08-21 21:41 ` Pierre Weis
2000-08-21 16:44 ` John Max Skaller
2000-08-21 21:24 ` Pierre Weis
2000-08-22 0:38 ` Kwangkeun Yi
2000-08-22 2:25 ` John Max Skaller
2000-08-22 9:08 ` Pierre Weis
2000-08-22 8:31 ` Pierre Weis
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=877l9apf9z.fsf@localhost.localdomain. \
--to=jmp@arsdigita.com \
--cc=Pierre.Weis@inria.fr \
--cc=caml-list@inria.fr \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox