exceptions suggestions

From: Fabrice Le Fessant (lefessan@talbot.inria.fr)
Date: Mon Feb 08 1999 - 10:08:29 MET

From: Fabrice Le Fessant <lefessan@talbot.inria.fr>
Date: Mon, 8 Feb 1999 10:08:29 +0100 (CET)
To: caml-list@inria.fr
Subject: exceptions suggestions

  A few months ago, someone asked why exceptions can't be redefined
in different modules. For example, if I create two modules M and N,
and I want only one module interface for them, I will create a module

exception Toto of int

let x = 3

val x : int
exception Toto of int

let x = N.x
exception Toto = M.Toto

but the last line is not valid in Objective-Caml. What should I do ?

  In ocaml, there is a directive install_printer to install special
printers for abstract types. I think it would be interesting to have
the same feature in the standard runtime for uncaught
exceptions. Indeed, it is not always possible to know exactly where
an exception is raised (in particular if you develop a library that
will be used by other users) to install appropriate try ...with
strutures to correctly print the exception arguments (This would be
useful in Dynlink and Unix which already give printers for their
errors, and in my Xlib, where XError exceptions carry important
informations (such as RequestOpcode, etc)).

  I know that the uncaught exception is hard-coded in C. However, the
compiler could create a try ... with structure around each module...

- Fabrice

This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:19 MET