Skip to content

request: automatic macro for reporting current function definition in error messages #1

Open
@mjambon

Description

@mjambon

The request is about providing something like __FUNCTION__ in cpp but applicable to OCaml, whose purpose would be to provide better error messages by indicating the function or logical section of the program where an error occurs.

I suggested __CONTEXT__, an automatic macro that would contain the last contiguous sequence of non-empty, non-indented lines.

On 01/12/2012 01:15 AM, Francois Berenger wrote:
> Bonjour Martin,
> 
> Est-ce que ca serait possible d'avoir la macro
> __FUNCTION__ traitee par cppo?

Non, mais je note la requete.

> En C cette macro existe et est bien pratique
> pour logger des messages detailles (j'ai
> deja compris des bugs sans meme avoir a ouvrir le code source
> des fois grace a ca dans de gros softs en C),
> elle donne le nom de la fonction dans laquelle la macro est placee.
> 
> C'est vrai qu'un nom de fichier et un numero de ligne
> c'est pas si explicite que ca tant qu'on n'a pas ouvert
> le fichier source correspondant.

Il pourrait y avoir moyen de reporter les dernieres lignes non-indentees.

Par exemple:

let toto = 5

(* function for doing nothing *)
let nothing x =
  let f y = blah y in
  f x + 3

Une erreur sur "f x + 3" pourrait reporter les deux lignes suivantes pour indiquer le contexte:

(* function for doing nothing *)
let nothing x =

J'ai l'impression que git fait quelque chose comme ca pour afficher des diffs.

On pourrait mettre ca par exemple dans une macro __CONTEXT__

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions