ocaml / camlp4 / Changes.org

#+TITLE:     Changes.org
#+AUTHOR:    Hongbo Zhang
#+EMAIL:     hongboz@seas.upenn.edu
#+DATE:      2012-08-21 Tue
#+DESCRIPTION:
#+KEYWORDS:
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:nil -:t f:t *:t <:t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+LINK_UP:   
#+LINK_HOME: 
#+XSLT:


* Issues

** Not Fixed

*** DONE [[http://caml.inria.fr/mantis/view.php?id%3D4522][4522]] Camlp4 erases unused optional arguments
*** [[http://caml.inria.fr/mantis/view.php?id%3D5650][5650]] fold generator does not handle well "abstract" types
*** [[http://caml.inria.fr/mantis/view.php?id%3D4337][4377]] invalid char token (Fatal error)
*** [[http://caml.inria.fr/mantis/view.php?id%3D5642][5642]] module type application
*** [[http://caml.inria.fr/mantis/view.php?id%3D5672][5672]] Remove Camlp4_import
*** [[http://caml.inria.fr/mantis/view.php?id%3D5048][5048]] handle properly optional arguments, application is n-ary
*** [[http://caml.inria.fr/mantis/view.php?id%3D5685][5685]] list antiquotation unexpected behavior
*** TODO [[http://caml.inria.fr/mantis/view.php?id%3D5071][5071]] camlp4 parser option (-parser r -parser rp)
      there seems a bug in my branch
*** [[http://caml.inria.fr/mantis/view.php?id%3D5119][5119]] camlp4 raises less generic exception. Not_found exception
*** [[http://caml.inria.fr/mantis/view.php?id%3D5221][5221]] expose more type as concrete type
    #+BEGIN_SRC caml
    Gram.parse_tokens_after_filter;
    - : Camlp4.PreCast.Gram.Entry.t 'a -> Camlp4.PreCast.Gram.token_stream -> 'a
    Gram.Entry.of_parser;
    - : string ->
    (Camlp4.PreCast.Gram.token_stream -> 'a) ->
    Camlp4.PreCast.Gram.Entry.t 'a
    #+END_SRC
*** [[http://caml.inria.fr/mantis/view.php?id%3D4432][4432]] Load support
*** [[http://caml.inria.fr/mantis/view.php?id%3D5114][5114]] Wrong precise location
*** [[http://caml.inria.fr/mantis/view.php?id%3D5116][5116]] diff ocamlc camlp4o
*** [[http://caml.inria.fr/mantis/view.php?id%3D5127][5127]] directive location
*** [[http://caml.inria.fr/mantis/view.php?id%3D5142][5142]] wrong error locations and ghost locations
*** [[http://caml.inria.fr/mantis/view.php?id%3D5239][5239]] Wrong location
*** [[http://caml.inria.fr/mantis/view.php?id%3D5265][5265]] Wrong location
*** [[http://caml.inria.fr/mantis/view.php?id%3D4545][4545]] wrong location docs
*** [[http://caml.inria.fr/mantis/view.php?id%3D4346][4346]] comments messed up
*** [[http://caml.inria.fr/mantis/view.php?id%3D4598][4598]] location error message emacs
*** DONE [[http://caml.inria.fr/mantis/view.php?id%3D4659][4569]] wrong error message (parser seems to interpret many lines as one line)
*** DONE [[http://caml.inria.fr/mantis/view.php?id%3D4602][4602]] StNil
*** [[http://caml.inria.fr/mantis/view.php?id%3D4590][4590]] EXTEND grouping statements
*** [[http://caml.inria.fr/mantis/view.php?id%3D5150][5150]] dllunix
*** [[http://caml.inria.fr/mantis/view.php?id%3D4595][4595]] quotaion location (seems to be fixed by me)
*** [[http://caml.inria.fr/mantis/view.php?id%3D4596][4596]] pa_macro does not work for patterns
*** [[http://caml.inria.fr/mantis/view.php?id%3D4713][4173]] camlp4o documentation
*** [[http://caml.inria.fr/mantis/view.php?id%3D4846][4846]] seems to be related to 4595
*** [[http://caml.inria.fr/mantis/view.php?id%3D4855][4855]] camlp4 -I options
    
*** [[http://caml.inria.fr/mantis/view.php?id%3D4329][4329]] parser error message unuseful
*** [[http://caml.inria.fr/mantis/view.php?id%3D4885][4885]] lexer for invalid string inputs.
    Should be fixable when Lexer was separated
*** [[http://caml.inria.fr/mantis/view.php?id%3D4886][4886]] Duplicated label expansion
*** [[http://caml.inria.fr/mantis/view.php?id%3D3787][3787]] delete_rule removes empty precedence levels
*** [[http://caml.inria.fr/mantis/view.php?id%3D4363][4363]] camp4 filter don't handle polymorphic variant
*** [[http://caml.inria.fr/mantis/view.php?id%3D4452][4452]] CleanAst to clean for printing (cost)
*** [[http://caml.inria.fr/mantis/view.php?id%3D5705][5705]] accept wrong syntax
    #+BEGIN_SRC caml
     let f x : type a. a = ()
    #+END_SRC
    
*** [[http://caml.inria.fr/mantis/view.php?id%3D5716][5716]] 'remove_directory' was not supported
** Fixed
   
**** [[http://caml.inria.fr/mantis/view.php?id%3D5301][5301]] exception equal to another exception


**** [[http://caml.inria.fr/mantis/view.php?id%3D4966][4966]] loop endlessly due to faulty 'ignore_upto' hacks
**** [[http://caml.inria.fr/mantis/view.php?id%3D5129][5129]] reflective parser
**** [[http://caml.inria.fr/mantis/view.php?id%3D4395][4395]] parser token ">]" reserved
**** [[http://caml.inria.fr/mantis/view.php?id%3D4520][4250]] camlp4o True False 
**** 4120
#+BEGIN_SRC caml
  camlp4>camlp4of -str 'EXTEND Gram abc:[[`(x,y) -> "z"]]; END'
  Gram.extend (abc : 'abc Gram.Entry.t)
    ((fun () ->
        (None,
         [ (None, None,
            [ ([ Gram.Stoken (((fun (_, _) -> true), "(_, _)")) ],
               (Gram.Action.mk
                  (fun ((x, y) : Gram.Token.t) (_loc : Gram.Loc.t) ->
                     ("z" : 'abc)))) ]) ]))
       ())
  
#+END_SRC
Here we use irrefutable patterns

**** [[http://caml.inria.fr/mantis/view.php?id=4044][4044]]
A lexer bug accept '\' as identifier, but ocaml crashes when printing it.
There's a patch.

    
**** [[http://caml.inria.fr/mantis/view.php?id%3D5564][5564]] lexer (patch proposition)
**** [[http://caml.inria.fr/mantis/view.php?id%3D5508][5508]] quotation lexer
     
**** [[http://caml.inria.fr/mantis/view.php?id=3988][3998]]
syntax for bigarray access in camlp4
**** [[http://caml.inria.fr/mantis/view.php?id=4218][4218]]
list comprehension
Ast.is_irrefut_patt
**** [[http://caml.inria.fr/mantis/view.php?id=4330][4330]] gram lib accept multiple tokens
**** [[http://caml.inria.fr/mantis/view.php?id=4236][4236]] list antiquotation

**** [[http://caml.inria.fr/mantis/view.php?id=4176][4176]] StSem StNil Camlp4.Struct.CleanAst
**** [[http://caml.inria.fr/mantis/view.php?id=4328][4328]] StNil
**** [[http://caml.inria.fr/mantis/view.php?id%3D5387][5387]] StNil 
**** [[http://caml.inria.fr/mantis/view.php?id%3D4526][4526]] StNil
     
**** [[http://caml.inria.fr/mantis/view.php?id=3926][3926]] Unneeded limitation on the CamplP4 quotation system
**** [[http://caml.inria.fr/mantis/view.php?id=4263][4263]] Ast definition
#+BEGIN_SRC caml
    | PaEq  of loc and ident and patt (* i = p *)
#+END_SRC
#+BEGIN_SRC caml
    | RbEq  of loc and ident and expr
#+END_SRC

**** [[http://caml.inria.fr/mantis/view.php?id=4262][4262]] Camlp4MacroParser
**** [[http://caml.inria.fr/mantis/view.php?id=4302][4302]] macro bug fix
**** [[http://caml.inria.fr/mantis/view.php?id=1696][1696]] macro usage
: camlp4of -DA='(1, "foo", '"'a'"', 3.4, [])' -str 'A'
    
**** [[http://caml.inria.fr/mantis/view.php?id%3D5456][5456]] __LOCATION__

**** [[http://caml.inria.fr/mantis/view.php?id%3D4345][4345]] string_of_float loose precision

**** [[http://caml.inria.fr/mantis/view.php?id%3D5481][5481]] magic number
**** [[http://caml.inria.fr/mantis/view.php?id%3D4972][4972]] mkcamlp4 includes dylink
     

**** [[http://caml.inria.fr/mantis/view.php?id%3D4732][4732]] `IN `END conflict
**** [[http://caml.inria.fr/mantis/view.php?id%3D4705][4705]] `True `False conflict
     
**** [[http://caml.inria.fr/mantis/view.php?id%3D4884][4884]] optional argument does not work when Some is redefined
**** [[http://caml.inria.fr/mantis/view.php?id%3D4937][4937]]
     
**** [[http://caml.inria.fr/mantis/view.php?id=4249][4249]] list tuple antiquote
**** [[http://caml.inria.fr/mantis/view.php?id=4238][4238]] original syntax vs revised syntax

     
**** [[http://caml.inria.fr/mantis/view.php?id%3D5120][5120]] Camlp4 debug 
**** [[http://caml.inria.fr/mantis/view.php?id%3D5352][5352]] Wrong dependency
**** [[http://caml.inria.fr/mantis/view.php?id%3D5374][5374]] Ast wrong location due to mapping
**** [[http://caml.inria.fr/mantis/view.php?id=4521][4251]] error location
**** [[http://caml.inria.fr/mantis/view.php?id=4357][4357]] quotation location
**** [[http://caml.inria.fr/mantis/view.php?id%3D5147][5147]] location information missing
**** [[http://caml.inria.fr/mantis/view.php?id%3D5692][5692]] end location not propaged
**** [[http://caml.inria.fr/mantis/view.php?id%3D5159][5159]] location offset
     
**** [[http://caml.inria.fr/mantis/view.php?id=4404][4404]] do let sequence
[[http://brion.inria.fr/gallium/index.php/Local_definitions_and_sequences][seq wiki]]

**** [[http://caml.inria.fr/mantis/view.php?id=4349][4349]] printer (two printers inconsistent)
**** [[http://caml.inria.fr/mantis/view.php?id=4298][4298]] printer
**** [[http://caml.inria.fr/mantis/view.php?id%3D5167][5167]] printer (top)
two printers
**** [[http://caml.inria.fr/mantis/view.php?id%3D5637][5637]] two printer bug
     
**** [[http://caml.inria.fr/mantis/view.php?id%3D5158][5158]] Register.current_parser
**** [[http://caml.inria.fr/mantis/view.php?id%3D5122][5122]] module type lower case ident
**** [[http://caml.inria.fr/mantis/view.php?id=4309][4309]] map and fold filter
**** [[http://caml.inria.fr/mantis/view.php?id=4543][4543]] toplevel filter patch
**** [[http://caml.inria.fr/mantis/view.php?id%3D5579][5579]] Filter    
**** [[http://caml.inria.fr/mantis/view.php?id%3D5104][5104]] Extra TySum
**** [[http://caml.inria.fr/mantis/view.php?id=4568][4568]] remove dynlink in camlp4lib
**** [[http://caml.inria.fr/mantis/view.php?id%3D5442][5442]] String expand quotation
**** [[http://caml.inria.fr/mantis/view.php?id%3D5633][5633]] escape bootstrap performance
**** [[http://caml.inria.fr/mantis/view.php?id%3D5090][5090]] toplevel
**** [[http://caml.inria.fr/mantis/view.php?id%3D5267][5267]] automatic tuplification

* Separation
  

** File [[file:camlp4-build.log][Camlp4-build-log]]
   for the initial version, it's linked into camlp4boot.byte,
   camlp4lib.cma, camlp4fulllib.cma, camlp4_import.cmi is also installed

** myocamlbuild
   has a rule 'camlp4/camlp4_import.ml' to build camlp4_import, using
   *Pathname.read*

** camlp4lib.mllib, camlp4fulllib.mllib
   has a module named Camlp4_import
** file ErrorHandler
   Camlp4Parsers: Oprint.float_repres => use p4_util
** camlp4_import
   --dirs utils, parsing, typing (only Oprint.float_repres)
   is needed
   

   
** 
   
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.