From: John Max Skaller <skaller@maxtal.com.au>
Cc: Pierre.Weis@inria.fr, caml-list@inria.fr
Subject: Re: Question on language design (keywords vs Pervasives)
Date: Tue, 22 Aug 2000 12:25:53 +1000 [thread overview]
Message-ID: <39A1E4B1.1D243ECE@maxtal.com.au> (raw)
In-Reply-To: <200008220038.JAA10162@ropas.kaist.ac.kr>
Pierre wrote:
> I'm sure that there is no ``more primitive function'' than raise to
> raise an exception. So sorry, you cannot define raise ``in terms of a
> more primitive function'' in Caml.
Perhaps my intent was not understood. The idea is to provide
a primitive '_raise' construction, but provide a wrapper function
'raise' in the standard library which does nothing but call _raise:
let raise ex = _raise ex
which allows the raise function to be rebound by the client,
catching all exceptions raised using the 'raise' function
in those sources where the client has in fact rebound 'raise'
before use. Naturally, this will not affect (compiled) library code
unless it, too, is recompiled, so not all exceptions are trapped
this way.
This can be done right now by the client, simply defining
let raise' ex = raise ex
even if raise is a primitive construction, provided that
the source module uses raise' everywhere, rather than raise.
So it can be done now, by search and replace of raise by raise',
which is not really much harder than rebinding.
--
John (Max) Skaller, mailto:skaller@maxtal.com.au
10/1 Toxteth Rd Glebe NSW 2037 Australia voice: 61-2-9660-0850
checkout Vyper http://Vyper.sourceforge.net
download Interscript http://Interscript.sourceforge.net
next prev parent reply other threads:[~2000-08-22 9:15 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
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 [this message]
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=39A1E4B1.1D243ECE@maxtal.com.au \
--to=skaller@maxtal.com.au \
--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