Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005080OCamlCamlp4public2010-06-20 05:232012-05-31 16:55
Reporterglondu 
Assigned Toxclerc 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version3.12.0+beta1 or 3.12.0+rc1 
Target VersionFixed in Version4.00.0+dev 
Summary0005080: type application in quotations
DescriptionHello,

The following:

  let test x = match x with
    | <:ctyp< $a$ $b$ >> -> (a, b)

used to work with camlp4of (3.11.2), but stopped working with 3.12.0+beta1. I'm not sure if this is expected.

ocaml-batteries is affected by this issue... I've not been able to find anything else than using the expanded quotation.
TagsNo tags attached.
Attached Files

- Relationships
related to 0005104resolvedxclerc extra TySum constructors arise from <:ctyp< >> in original syntax 

-  Notes
(0005605)
jaked (reporter)
2010-07-13 19:26

I have the same problem with << $x$ -> unit >>; I get" EOI expected after [quotation of type] (in [quotation of type])". It seems to happen with leading antiquotations.
(0005606)
jaked (reporter)
2010-07-13 19:35

Maybe not the same bug, but as it is for <:ctyp< >> I'll put it here: for <:ctyp< $lid:id$ : mutable $t$ >> I get "illegal begin of quotation of type".
(0005634)
ygrek (reporter)
2010-08-03 12:22

This affects deriving as well. First two cases can be workarounded with extra parentheses :

- | `Function (f, t) -> <:ctyp< $expr f$ -> $expr t$ >>
+ | `Function (f, t) -> <:ctyp< ($expr f$ -> $expr t$) >>

- | [x] -> <:ctyp< $expr x$ $f$ >>
- | x::xs -> app (<:ctyp< $expr x$ $f$ >>) xs
+ | [x] -> <:ctyp< ($expr x$ $f$) >>
+ | x::xs -> app (<:ctyp< ($expr x$ $f$) >>) xs
(0005804)
xclerc (developer)
2011-02-15 11:25

The patch proposed for 0005104 seems to also solve this issue.
(0005822)
xclerc (developer)
2011-02-17 12:09

Nicolas Pouillard provided me with a cleaner patch that has
been committed in "version/3.12". After some testing, it
seems to both resolve the issue and yield no regression.

Please test it, and re-open the issue if I missed something.
(0005959)
doligez (administrator)
2011-06-02 01:15

The current version (3.12.1+dev11) breaks lablgtk with the following error message.

File "gtkSignal.ml4", line 92, characters 10-13:
Parse error: [opt_when_expr] expected after [patt_as_patt_opt] (in [match_case0])

This happens with and without the patch that you (xclerc) provided to me in private.
(0005960)
xclerc (developer)
2011-06-02 12:00
edited on: 2011-06-02 12:09

As a first step, I reduce the bug case to:
  "let f = function | `INT x -> true | _ -> false"

camlp4of no more accepts polymorphic variants with a parameter.


Investigation continues...

(0005961)
xclerc (developer)
2011-06-02 12:23

OK, my bad.
The problem stems from the dirty hack I set for PR#4732.

- Issue History
Date Modified Username Field Change
2010-06-20 05:23 glondu New Issue
2010-06-20 05:23 glondu Status new => assigned
2010-06-20 05:23 glondu Assigned To => ertai
2010-07-13 19:26 jaked Note Added: 0005605
2010-07-13 19:35 jaked Note Added: 0005606
2010-08-03 12:22 ygrek Note Added: 0005634
2011-02-15 11:24 xclerc Relationship added related to 0005104
2011-02-15 11:24 xclerc Assigned To ertai => xclerc
2011-02-15 11:25 xclerc Note Added: 0005804
2011-02-15 11:25 xclerc Status assigned => feedback
2011-02-17 12:09 xclerc Note Added: 0005822
2011-02-17 12:09 xclerc Status feedback => resolved
2011-02-17 12:09 xclerc Fixed in Version => 3.12.1+dev
2011-02-17 12:09 xclerc Resolution open => fixed
2011-06-02 01:15 doligez Note Added: 0005959
2011-06-02 01:16 doligez Status resolved => assigned
2011-06-02 12:00 xclerc Note Added: 0005960
2011-06-02 12:09 xclerc Note Edited: 0005960
2011-06-02 12:23 xclerc Note Added: 0005961
2012-05-31 16:55 xclerc Status assigned => resolved
2012-05-31 16:55 xclerc Fixed in Version 3.12.1+dev => 4.00.0+dev


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker