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
Re variables de type faibles #2642
Comments
Comment author: administrator
Ca parait raisonnable. Seul petit probleme, si on fait ca au niveau du Elle m'est personnellement assez chere, entre autres pour ocamlbrowser. Une autre solution serait de declencher l'erreur au niveau du typeur,
Ca c'est un peu plus complique'. Cordialement, Jacques Garrigue |
Comment author: @damiendoligez As of december 2011, point 1 is done, and we still don't know how to do point 2. |
Comment author: @Octachron Point 2 should been fixed in OCaml 4.06 by #1225: the type of the example is now printed as val f : 'a -> 'b -> 'b |
Original bug ID: 248
Reporter: administrator
Assigned to: @Octachron
Status: resolved (set by @Octachron on 2017-07-13T18:56:13Z)
Resolution: fixed
Priority: normal
Severity: feature
Fixed in version: 4.06.0 +dev/beta1/beta2/rc1
Category: typing
Related to: #8079
Bug description
Full_Name: Sylvain Boulme
Version: 3.00
OS: RedHat 6.2
Submission from: cerdon.lip6.fr (132.227.83.56)
Ayant compris ma méprise dans mon message précédent (n 246) (les
variables de type faibles étant anonymes, l'utilisateur ne peut pas en
écrire !), voilà une demande de features.
Serait-il possible d'interdire le symbole "_" dans les
identificateurs de types tapés par l'utilisateur (comme cela si
l'utilisateur tape "'_a" dans une expression de type, il n'a pas
l'impression d'écrire une variable de type faible alors qu'il écrit en
fait une variable "normale". (Au mieux mettre un "warning"...)
Je trouve pertubant que ocaml donne le même nom à des variables de
type faibles différentes (de façon interne).
let f y = fun x -> x
let blah = f 0
let splash () = blah (failwith "coucou")
let blurp = f 0
donne (d'après le toplevel) de signature :
Mais en réalité le "'_a" de "splash" est le même que "blah", mais pas
le même que "blurp".
Exemple: après un "blah 1;;"
on a :
blah: int -> int
splash: unit -> int
blurp: '_a -> '_a
Cordialement,
Sylvain.
The text was updated successfully, but these errors were encountered: