| Anonymous | Login | Signup for a new account | 2013-05-24 01:24 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||
| 0000248 | OCaml | OCaml general | public | 2000-12-14 20:58 | 2011-12-30 16:50 | ||||||
| Reporter | administrator | ||||||||||
| Assigned To | |||||||||||
| Priority | normal | Severity | feature | Reproducibility | always | ||||||
| Status | acknowledged | Resolution | open | ||||||||
| Platform | OS | OS Version | |||||||||
| Product Version | |||||||||||
| Target Version | Fixed in Version | ||||||||||
| Summary | 0000248: Re variables de type faibles | ||||||||||
| 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. 1. 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"...) 2. 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 : val f : 'a -> 'b -> 'b val blah : '_a -> '_a val splash : unit -> '_a val blurp : '_a -> '_a 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. | ||||||||||
| Tags | No tags attached. | ||||||||||
| Attached Files | |||||||||||
Notes |
|
|
(0000104) administrator (administrator) 2000-12-15 10:02 |
> 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. > > 1. 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"...) Ca parait raisonnable. Seul petit probleme, si on fait ca au niveau du parseur, on perd une propriete' interessante qui est valide actuellement: tout type imprime' par le typeur est lisible par le parseur Elle m'est personnellement assez chere, entre autres pour ocamlbrowser. Une autre solution serait de declencher l'erreur au niveau du typeur, ce qui est plus logique, et ne met pas en cause le parseur. (Pour l'utilisateur normal ces deux solutions sont equivalentes.) > 2. 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 : > > val f : 'a -> 'b -> 'b > val blah : '_a -> '_a > val splash : unit -> '_a > val blurp : '_a -> '_a > > Mais en réalité le "'_a" de "splash" est le même que "blah", mais pas > le même que "blurp". Ca c'est un peu plus complique'. A` l'heure actuelle, les noms de variables repartent a` ['a] lors de l'impression de chaque expression. Changer ce comportement obligerait a` donner des noms assez longs a` ces variables. Par exemple en utilisant le compteur de types: val f : 'a -> 'b -> 'b val blah : '_10235 -> '_10235 val splash : unit -> '_a val blurp : '_12326 -> '_12326 Cordialement, Jacques Garrigue |
|
(0006566) doligez (manager) 2011-12-30 16:50 |
As of december 2011, point 1 is done, and we still don't know how to do point 2. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2005-11-18 10:13 | administrator | New Issue | |
| 2011-12-30 16:50 | doligez | Note Added: 0006566 | |
| Copyright © 2000 - 2011 MantisBT Group |