Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001952OCamlOCaml generalpublic2003-12-01 15:232004-05-28 05:01
Reporteradministrator 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
StatusacknowledgedResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0001952: référence et polymorphisme
DescriptionFull_Name: Julien Signoles
Version: 3.06 et 3.07
OS: linux
Submission from: newwww.lri.fr (129.175.15.10)


Bonjour,

Le programme ci-dessous ne type pas alors qu'il devrait...

=====
let x = ref 0
let y = ref true

let f a = x := a
let g a = y := a

(* version "typage explicite + let" : ok *)
let h1 : ('a -> unit) -> 'a -> unit = fun f x -> f x;;
h1 f 0;;
h1 g true;;

let _ =
  (* version "typage implicite + let_in" : ok *)
  let h1 f x = f x in
  h1 f 0;
  h1 g true;
  (* version "typage explicite + let_in" : KO *)
  let h2 : ('a -> unit) -> 'a -> unit = fun f x -> f x in
  h2 f 0;
  h2 g (* <-- erreur de typage *) true
=====

Julien Signoles

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0000192)
administrator (administrator)
2004-05-28 05:01

> Le programme ci-dessous ne type pas alors qu'il devrait...
>
> =====
> let x = ref 0
> let y = ref true
>
> let f a = x := a
> let g a = y := a
>
> let _ =
> (* version "typage explicite + let_in" : KO *)
> let h2 : ('a -> unit) -> 'a -> unit = fun f x -> f x in
> h2 f 0;
> h2 g (* <-- erreur de typage *) true

Ce n'est pas a proprement parler un bug, puisque c'est le comportement prevu du
compilateur (mais je ne suis pas sur qu'il soit clairement documente').
Toutes les variables de types apparaissant dans des annotations sont
considerees
comme liees au niveau le plus exterieur. Elles ne peuvent donc etre rendues
polymorphes que pour les definitions a` toplevel.
Il est parfois question de changer cette semantique... je reclasse donc ca en
feature-wish.

Jacques Garrigue
(0000193)
administrator (administrator)
2004-05-28 05:01

Question de liaison des variables dans les contraintes de types ? -DD
Oui, mais ce n'est pas un bug -JG

- Issue History
Date Modified Username Field Change
2005-11-18 10:13 administrator New Issue


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker