Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000127OCamlOCaml generalpublic2000-05-23 11:542000-05-24 03:22
Reporteradministrator 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000127: Wrong variable in typecore.ml
DescriptionFull_Name: Florian Douetteau
Version: 3.00
OS: Linux
Submission from: www-cache.ens.fr (129.199.2.1)


Dans typing/typecore.ml ligne 394 on a :
  | Texp_apply(e, None::el) ->
 is_nonexpansive e &&
  List.for_all (function None -> true | Some exp -> is_nonexpansive e) el

Logiquement, cela devrait être
(...) | Some exp -> is_nonexpansive exp ) (...)

A propos, à quoi sert ce cas particulier ?

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0000399)
administrator (administrator)
2000-05-24 03:09

> Logiquement, cela devrait etre
> (...) | Some exp -> is_nonexpansive exp ) (...)

Bien vu, je corrige.
C'est cool d'avoir des gens qui verifient votre code par derriere!

> A propos, a` quoi sert ce cas particulier ?

En mode -labels, quand un argument non-optionel est absent d'une application
mais que ceux qui le suivent sont presents, il est remplace' par None dans
l'arbre syntaxique type'. L'eta-expansion correspondante est effectuee dans
bytecomp.ml. Comme ca va etre eta-expanse', cette application n'a pas
d'effets de bord.

Par example:

    List.map [1;2;3]
donne
    Texp_apply(<List.map>, [None, Some <[1;2;3]>])
compile'
    (let (func/51 (field 10 (global List!)))
      (function param/52 (apply func/51 param/52 [0: 1 [0: 2 [0: 3 0a]]])))

Jacques
(0000400)
administrator (administrator)
2000-05-24 03:22

Fixed on 2000-05-24 by Jacques
(0000401)
administrator (administrator)
2000-06-05 14:23

> Dans typing/typecore.ml ligne 394 on a :
> | Texp_apply(e, None::el) ->
> is_nonexpansive e &&
> List.for_all (function None -> true | Some exp -> is_nonexpansive e) el
>
> Logiquement, cela devrait être
> (...) | Some exp -> is_nonexpansive exp ) (...)

C'est exact. J'ai corrigé cela lors d'une "mise au carré" récente de
la fonction is_nonexpansive.

> A propos, à quoi sert ce cas particulier ?

J'avoue ne pas savoir!

- Xavier Leroy


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


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker