Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Wish #2543

Closed
vicuna opened this issue Jul 31, 2000 · 3 comments
Closed

Feature Wish #2543

vicuna opened this issue Jul 31, 2000 · 3 comments

Comments

@vicuna
Copy link

vicuna commented Jul 31, 2000

Original bug ID: 175
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: feature
Category: ~DO NOT USE (was: OCaml general)

Bug description

Full_Name: FABRE Yoann
Version: 3.00
OS: Win2K
Submission from: ppp66-paris4.libertysurf.fr (213.36.3.66)

Je continue la serie:
Liste de petits probleme TRES ENERVANT sous Win:

  • ocamldep ne donne pas une position correcte pour les erreurs
    de syntax. (decalage etrange de qq lignes)
    DONC: - make all
    - tiens une erreur de syntax Ligne 42 dans truc.ml detectee PAR
    OCAMLDEP
    - que je fasse ocamlc -c -labels truc.ml, ha, donc l'erreur est ligne
    53 en fait... bien...

  • pouvoir inclure (de facon optionnelle) la ligne dans les exceptions
    (feature deja demande dans la mailing list il y a qq temps)

  • pourquoi ASSERT() retourne-t-il la position de l'erreur EN NB DE CARATERE
    ????

  • pourquoi de ne peut-on pas DONNER UN NOM a un assert:
    eg. assert( foo = true ? "erreur: foo n'est pas a true")
    ce qui permetrait d'avoir:
    Assert Failure: "erreur: foo n'est pas a true" Ligne 42
    et non:
    Fatal error: uncaught exception Pervasives.Assert_failure("t.ml", 0,

(toujours ligne 0 sous Win)

C'est tout... :)
@++

@vicuna
Copy link
Author

vicuna commented Jul 31, 2000

Comment author: administrator

Salut,

On Mon, Jul 31, 2000 at 01:57:03PM +0200, fabre.yoann@free.fr wrote:

  • pourquoi de ne peut-on pas DONNER UN NOM a un assert:
    eg. assert( foo = true ? "erreur: foo n'est pas a true")

La réponse à ta question pouvant très bien être "C'est une bonne
suggestion, c'est parce qu'on n'y a pas pensé", tu aurais pu la poser,
(à mon avis plus poliment), sous la forme:

"Est-ce qu'on ne pourrait pas modifier assert pour lui associer un
message d'erreur?"

D'un autre côté, tu peux aussi utiliser Camlp4 pour faire ton propre
"assert" qui fait comme tu dis (eh hop! en passant, je vends ma
soupe... :-))

--
Daniel de RAUGLAUDRE
daniel.de_rauglaudre@inria.fr
http://cristal.inria.fr/~ddr/
L'ennui avec les ordinateurs, c'est qu'ils font ce que vous leur dites
de faire, pas ce que vous voulez qu'ils fassent (D. Cohen).

@vicuna
Copy link
Author

vicuna commented Aug 4, 2000

Comment author: administrator

Liste de petits probleme TRES ENERVANT sous Win:

Allons, du CALME! Windows est énervant par nature...

  • ocamldep ne donne pas une position correcte pour les erreurs
    de syntax. (decalage etrange de qq lignes)

C'est en effet un bug, et je vais le corriger.

  • pouvoir inclure (de facon optionnelle) la ligne dans les exceptions
    (feature deja demande dans la mailing list il y a qq temps)

Pas facile, entre autres pour la raison suivante:

  • pourquoi ASSERT() retourne-t-il la position de l'erreur EN NB DE
    CARATERE ????

Parce que, en mode normal, le compilateur OCaml ne calcule pas les
numéros de lignes dans le code source, mais seulement les positions en
nombre de caractères. C'est seulement lorsqu'une erreur est
rencontrée qu'il recalcule les numéros de ligne.

  • pourquoi de ne peut-on pas DONNER UN NOM a un assert:
    eg. assert( foo = true ? "erreur: foo n'est pas a true")
    ce qui permetrait d'avoir:
    Assert Failure: "erreur: foo n'est pas a true" Ligne 42
    et non:
    Fatal error: uncaught exception Pervasives.Assert_failure("t.ml", 0,
(toujours ligne 0 sous Win)

Et pourquoi voudrait-on donner un nom à une assertion? La position
dans le source est une info déjà très précise.

On peut toujours faire comme nous faisions avant l'introduction de assert:

  if not (assertion) then raise (Fatal_error "message")
  • Xavier Leroy

@vicuna
Copy link
Author

vicuna commented Nov 5, 2002

Comment author: administrator

ocamldep bug fixed 2000-08-04 by XL.
assert/partial_match character vs. line number problem fixed
(and also for backtrace with ocamlrun -b)
-- Damien 2002-11-05

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

No branches or pull requests

1 participant