aliasing exceptions with a let ?

From: Ralf Treinen (Ralf.Treinen@lri.fr)
Date: Wed Mar 01 2000 - 17:22:08 MET

  • Next message: Pierre Weis: "Re: wish: hash function for module Num"

    Is it possible to alias an exception as with functions or type definitions?
    I would like to write a module that is a "virtual module" in the sense
    that it just regroups identifiers that are defined in other modules.
    This works fine for types and functions:

      type running_prog = Programs.running_prog;;
      let is_finished = Programs.is_finished;;

    Apparently, I cannot do the same thing with exceptions (and hence
    with functions that raise an exception). The obvious solution is to
    write a wrapper as in

      exception Erreur_load of string;;
      let load s =
        try
          Analyse_program.load s
        with
            Analyse_program.Erreur_load s -> raise (Erreur_load s)
    ;;

    which is quite awkward. It would be nice to have a way to define an alias
    for an exception in the same way as for identifiers and types.

    Ralf Treinen.

    -- 
    -------------------------------------------------------------
    Ralf Treinen,      L.R.I. Bât. 490,     Université Paris-Sud,
    F91405 Orsay cedex, France.        http://www.lri.fr/~treinen  
    



    This archive was generated by hypermail 2b29 : Wed Mar 01 2000 - 18:11:43 MET