2013-05-23

<ousado> Drup: it looks like I explained the 'problem' I have insufficiently. It's not that I don't know what these things are in general (I mean there's plenty of resources to look them up) but there are both smaller and more significant differences between what people refer to, depending on whether they talk about reified macros in haxe, quasi-quotation in template haskell, camlp4, fan, etc. (see the discussion here: http://hongboz.wordpress.com/2013/02/05/
<ygrek> Kakadu, obviously the camlp4 extension tries to connect somewhere
<Kakadu> camlp4*
<Kakadu> Camlp4: Uncaught exception: Unix.Unix_error (20 | CstTag21, "connect", "")
<gasche> note that Camlp4 *quotations* are better for this
<gasche> yet another problem with Camlp4 syntax extensions

2013-05-22

<rgrinberg> flux: do you mean as well as camlp4?
<rgrinberg> In reality it would take years before it's possible to write camlp4 free code.
<rgrinberg> there's too much stuff that depends on camlp4
<Drup> mostly, it's with camlp4 instead of ppx.
<ousado> gasche: I'm thinking about writing to the wg-camlp4 list

2013-05-18

<wmeyer> I thought it's good to keep it as an alternative to Camlp4, therefore at some point would like to see it. Because some people like it.

2013-05-08

<pippijn> so camlp4 is not metaprogramming
<wmeyer> (not claiming that omonad is good, but it's easier to use, and does not use camlp4)

2013-05-07

<beginner42> package: ospec version: 0.3.0 depends: ocamlfind installed-version: ospec.0.3.0 [system 4.00.0] available-version: 0.2.1 description: Behavior-Driven Development tool for OCaml, inspired by RSpec OSpec is a Behavior-Driven Development tool for OCaml, inspired by RSpec, a Ruby BDD library. It is implemented as a Camlp4 syntax extension.

2013-05-06

<Drup> If you're talking about camlp4, the problem is that you often break code indentation and coloration.
<rixed> djcoin: there is no clear way forward I think. There is a wg-camlp4 mailing list which archives are available here: http://lists.ocaml.org/pipermail/wg-camlp4/
<rixed> camlp4 is the one from inria, but camlp5 is better documented
<rixed> djcoin: Camlp4 or 5 are still used.
<ollehar> structuralist: ocamlyacc, ocamlrex, camlp4 maybe

2013-05-05

<orbitz> fasta: are your camlc and camlp4 compatible??
<orbitz> fasta: are your camlc and camlp4 compatible??

2013-04-24

<mrm> I've seen like... _every_ piece of information which is googleable on ocamlbuild and camlp4 :-)
<mrm> I know: a totally insane scenario in the world of ocaml and camlp4 :-)
<mrm> I use those .rose files to pass semantic information between different invocations of Camlp4 (so an extension which is ran on module A can use the info corresponding to module B).

2013-04-22

<rks_> I was troubled by your reponse at first, because I had a parse error in my toplevel, but then I saw your remark on camlp4, which explained it :)

2013-04-18

<hcarty> gasche: For existing users there are a handful which range in significance. Uncertainty over camlp4 is one issue, particularly with -ppx coming.
<flux> (although I think we do have it in camlp4 and probably that ppx (?) as well)
<wmeyer```> ousado: yep, camlp4 is a great start.
<ousado> wmeyer```: I'm simply afraid that I won't understand the ocamlers metaprogramming mindset without looking at camlp4
<ousado> wmeyer```: re skipping, yes, I thought about that too, but I have to face the facts, and camlp4 has the great advantage of being documented at all

2013-04-17

<wmeyer`> or as Yoric advises -ppx or Camlp4
<Yoric> Generally solved with Camlp4.

2013-04-14

<adrien> now, if you install a new build of ocaml, you'll probably have leftover files from the previous build; especially if you disable camlp4
<adrien> camlp4 definitely didn't build fine
<ollehar> but ocamlopt and camlp4 still 4.00.1
<adrien> actually that's an error when building camlp4 so make opt can succeed

2013-04-09

<mrm> Ok. Figured it out myself... (added a rule to myocamlbuild.ml so that camlp4 is invoked with "-printer o" and I get the preprocessed source in /tmp in case of errors).
<mrm> Good day! Can anyone give me a hint on how to debug a camlp4 extension which is packaged in ocamlfind and depends on several other packages? I need to see the generated code.

2013-04-06

<wmeyer> Camlp4 in general is dense

2013-04-03

<wmeyer> Camlp4 was the first iteration
<wmeyer> for me it sufficies to just use camlp4, really, and it saved my life
<wmeyer> but somewhat the goal of Fan is to just make something better than Camlp4
<wmeyer> it might be difficult, it sounds like writing Camlp4 in Fan :-)
<ousado> wmeyer: being able to reuse the existing camlp4 code bases should certainly be a strong selling point for fan
<wmeyer> it'd be a great idea, to use Camlp4 style quotes and reuse the Camlp4 ASTs
<wmeyer> ousado: so I'd hope that in Fan you could emulate Camlp4 :-)
<ousado> .. to see how Fan, camlp4 and haxe macros relate to each other, that is
<wmeyer> it's not an expert Camlp4 knowledge
<wmeyer> and at the very last stage use Camlp4 to generate program i wanted
<wmeyer> and maybe how to write Camlp4 parser, and how to pretty print that code inside Camlp4 to stdout
<wmeyer> my main workflow with Camlp4 was always just code generators
<ousado> so maybe everyone using camlp4 is nice to start with :)
<wmeyer> (and I do have some rudimentary experience with Camlp4)
<ousado> much more fine-grained than in camlp4, the paper says
<wmeyer> you actually encouraged me, because this is futuristic Camlp4 for me

2013-04-02

<wmeyer> yes, in Camlp4 you have to open something too which defines this _loc
<wmeyer> ousado: so camlp4 toolchain is complex, i can send you some templates, but I think Fan is easier
<ousado> so I'm reading a camlp4 tutorial now
<wmeyer> you didn't try camlp4 before ousado ?
<ousado> haha, it starts with the names.. camlp4
<wmeyer> Ok, they might be based on Camlp4

2013-04-01

<wmeyer> (it's the same story as Camlp4)
<wmeyer> we talked about Fan and Camlp4 on OUD
<wmeyer> no, if's a rework of Camlp4

2013-03-27

<wmeyer`> just camlp4 does some "weird" things with $ but also it does not have right precedence

2013-03-18

<ousado> ah pippijn - don't forget to make your camlp4 (de)serializer public , please ;)

2013-03-08

<adrien> I've cross-compiled 4 or 5 packages without changing anything except disabling camlp4 and toploop support in sexplib
<adrien> but for now I think I'll skip the camlp4 issue: I don't need the extension in sexplib
<wmeyer`> hm yes, camlp4 marshals ast
<wmeyer`> adrien: but you have to just invoke the native camlp4 at compile time?
<adrien> (camlp4)

2013-03-06

<wmeyer`> ./configue -no-camlp4
<avsm> it's blasted camlp4
<adrien> disable camlp4 maybe? :P
<adrien> well, all I wish for is that ocamldoc, ocamlbuild, camlp4, the debugger, ... move out of the compiler :P

2013-03-03

<adrien> that's a possible issue with camlp4 syntax extensions: no guarantee several of them work together
<ollehar> Camlp4: Uncaught exception: Not_found
<kaustuv> adrien: Do you consider Camlp4 part of the compiler? It takes 80% of the time to build the ocaml distribution from source.

2013-03-02

<adrien> without ocamlbuild, ocamldoc, camlp4, the debugger: 2 minutes 30 seconds, of which 2 minutes cpu time

2013-02-24

<pippijn> because << is a camlp4 quotation
<pippijn> no, that would happen with anything camlp4
<orbitz> is there any way to get teh AST out/ Sometimes it's helpful in debugging things, specially I get into issues where when I overwrite a module a camlp4 extension tries calling the wrong functions
<adrien> I think that -o to camlp4 outputs something readable
<adrien> well, the output of camlp4 is a marshalled AST
<orbitz> if i'm using ocamlfind to compile things what is the easiest way to see the outpu tof the camlp4 steps?
<orbitz> why is it? i woudl figure camlp4 would preignore them or something

2013-02-20

<thelema> vext01: still have problems with camlp4?
<vext01> Camlp4: Uncaught exception: DynLoader.Error ("pa_strings.cma", "file not found in path")
<vext01> ocamlfind ocamlc -syntax camlp4o -package camlp4,batteries,batteries.syntax -linkpkg lc.ml
<vext01> Camlp4: Uncaught exception: DynLoader.Error ("pa_comprehension.cmo", "file not found in path")
<vext01> ocamlfind ocamlc -syntax camlp4o -package camlp4 -package batteries.pa_comprehension.syntax a.ml

2013-02-19

<adrien> chambart: hey, I keep on forgetting during the day: can you ask ocp what is the state of his "stripped-ocaml" branch on ocaml svn? (it moves labltk, ocamlbuild, camlp4 to a subdirectory)
<ousado> pippijn: will you put your camlp4-based ocaml-types [de]serializer thing up there?

2013-02-13

<thelema> oh, ok. I was kind of surprised that they had worked out this safely in camlp4

2013-02-10

<orbitz> pippijn: oh nice, i have only used camlp4 never written for it
<pippijn> using camlp4

2013-02-04

<Yoric> I seem to remember you can do this with camlp4 but not with vanilla OCaml.

2013-01-29

<orbitz> the camlp4 isn't doing anything magical

2013-01-22

<thelema> *camlp4
<thelema> ./configure --no-camlp4
<thelema> trombi: I assume you're compiling version 4.00; if you're not committed to using camlp4, you can disable it and the compiler will work fine without it

2013-01-21

<thelema> orbitz: bob is new to ocaml, but has already contributed code to the compiler (well, specifically camlp4)

2013-01-19

<adrien> cross-compiling a native compiler will require: ocamldoc, ocamlbuild, camlp4, ocamllex, ...

2013-01-17

<thelema> thomm4: yes, you'll have to build this by hand to disable camlp4
<thomm4> ok, camlp4 is the main thing to avoid.
<thelema> yes, you'd have to tweak it to use /tmp or to disable camlp4
<adrien> it's a simple matter of -no-camlp4
<adrien> thelema: no, you don't need to do anything to disable camlp4
<thelema> although again 191M of that is camlp4. You'd probably have to hack the makefile to disable camlp4
<thelema> new batteries needs no camlp4
<thelema> 36MB of the executables are camlp4 and its variants
<adrien> camlp4, it depends
<thomm4> so.. the packages labltk, camlp4 and the emacs package should be enough for a minimal setup?
<thelema> and about 85MB of that is camlp4
<mfp> it's not only camlp4 :), it's also that it's a fair amount of work: you have to define new types with lazy fields (recursively ?), then instead of deserializing you keep the strings around until needed and stuff
<f[x]> we all love camlp4 :)

2013-01-16

<flux> I don't think camlp4 apply here
<SuperNoeMan> perhaps by using the Camlp4?

2013-01-15

<flux> but it is use camlp4
<orbitz> I use the camlp4 parser stuff, works well for me

2013-01-13

<wmeyer> no doubts Camlp4 would be good, but everytime I camlp4 is used the number of users is shrinking

2013-01-12

<orbitz> the Core approach uses camlp4 to generat the functions
<osa1> seems like it's a problem related with camlp4

2013-01-07

<fab__> the file caml4of.opt was in the package camlp4-extra
<orbitz> 07:25 < fab_> i enter 'ocamlc -c -I +camlp4 -pp camlp4of.opt main.ml' o the shell
<fab_> i don't know, i have install ocaml, emacs and camlp4
<fab_> i installed Camlp4
<fab_> i enter 'ocamlc -c -I +camlp4 -pp camlp4of.opt main.ml' o the shell

2013-01-03

<troydm> ic but that means in need to figure out how to use camlp4 etc
<wmeyer> there is pa_monad_custom which is a Camlp4 syntax exension to write monadic code

2012-12-31

<mk270> there's no *shame* in getting lisp macros wrong and asking for help. camlp4 on the other hand, you can't just say "oh, how does this work"

2012-12-21

<wmeyer> eikke: yes, camlp4 would be useful :D
<wmeyer> the wiki, was about getting ocamlbuild and camlp4 wikis together for instance
<thelema> some people think camlp4 has better diagnostics
<wmeyer> I meant of course i can use tags. I think also the problem is with Camlp4 diagnostics not being entirely compatible with the compiler ones.
<thelema> and need either camlp4o or camlp4r in order for syntax extensions to work right (get a wonderfully useless error message with `-syntax camlp4`)

2012-12-20

<wmeyer> sounds actually like a better solution, perhaps something like 'opt' should do this, but then how to disambiguaite between the compiler and camlp4

2012-12-18

<thelema> ousado: there's some camlp4 that will do this as well.

2012-12-15

<wmeyer> but never used to, and new Fan Camlp4 is not released so I am waiting for it!
<hongboz`> wmeyer: make a native version of fan is now about 20s! light year faster than camlp4!
<wmeyer> hongboz`: and neh, this time I'll not use Camlp4 for shell - although I might consider it!

2012-12-13

<thelema> jonafan: Foo.print, right? 1.5 also has a camlp4-enabled printing infrastructure that's being dropped for 2.0 (along with the rest of the camlp4)

2012-12-12

<companion_cube> hmm, can I also use the camlp4 extension this way?
<wmeyer```> (the one about Camlp4)

2012-12-06

<adrien> oh, btw, to be fair, sepxlib's camlp4-generated code is also *bad*

2012-11-19

<flux> pgocaml is the postgresql-specific camlp4 extension that ensured static typing

2012-11-18

<wieczyk> pippijn: Did tweaking ,,level'' in camlp4 solve a problem for your?

2012-11-15

<flux> I haven't really used camlp4..

2012-11-14

<thelema> yes, realizing that estring has a home outside batteries makes me happy to remove it. And since having pa_comprehension isn't worth camlp4 to me, batteries will shortly be camlp4-free
<adrien> after 30 invocations, even with the unexplicit name, it's fine too, and it doesn't require camlp4 :P
<thelema> adrien: some camlp4 magic for string literals that aren't plain strings

2012-11-12

<Kakadu> It seems that camlp4 parser use fast-back backtracking strategy. Am I right?
<Kakadu> Anybody knows what is bad with my camlp4 code? http://paste.in.ua/7712/#15

2012-11-11

<pippijn> nothing keeps something like camlp4 to type a program
<adrien> that it's working at the same level as camlp4
<pippijn> is camlp4 broken or is + not a valid unary operator?

2012-11-10

<Qrntz> I think there was some Camlp4 thing that allowed you to write shell scripts that compiled to OCaml
<flux> pippijn, but, syntax extensions.. I bet after learning camlp4 everything starts to look like a nail?-)

2012-11-08

<pippijn> can I build a camlp4 pa_-module and use it in the same project with oasis?

2012-11-06

<benja> hello everyone. just a simple question, i've never figured out (or can't remember of) how to combine multiple camlp4 syntax extension, is it possible at all ?
<nicoo> xavierm02: The where syntax can be implemented using either camlp4 or camlp5

2012-10-27

<pippijn> is there something like __LINE__ in ocaml? (maybe in camlp4?)

2012-10-26

<mcclurmc> pippijn: just did a grep of the camlp4 source. looks like there is also an Ast.loc_of_expr. Check out camlp4/Camlp4/Sig.ml
<mehdid> but you can ignore me. I'm pretty ignorant (happily) when it comes to camlp4 and friends.
<pippijn> mehdid: I use camlp4 to generate code
<pippijn> is there a function to get the location of a camlp4 AST node (expr)?

2012-10-24

<pippijn> OCamlGuy: you're not using camlp4

2012-10-22

<wmeyer> pippijn: Polymorphic variants are cool - but they have some limits. I thought about using them for AST rewriters too, but they don't cut, especially with a lack of Camlp4 type reflection

2012-10-21

<arneis> but this gives me a binary output: camlp4 pa_o.cmo pa_op.cmo pr_dump.cmo -I /usr/lib/ocaml/js_of_ocaml/ pa_js.cmo test.ml

2012-10-20

<mrm> Preprocessors like camlp4 are just way too clunky to use in practice
<mrm> This is difficult to achieve with camlp4
<wmeyer> mrm: Camlp4 *is* limiting, and full blown dsls are costly
<mrm> I spend shitloads of time debugging my half-assed camlp4 extentions :-)

2012-10-19

<wieczyk> Instead of telling people 'in this project we write this with this style and this conversion etc etc' we could just provide some helping syntax, where camlp4 translates more declarative code into desired convension in ocaml.
<wieczyk> I think that camlp4 could be nice feature for industry also.
<wmeyer> wieczyk: exactly! (camlp4 idea) look at this: https://sympa.inria.fr/sympa/arc/caml-list/2012-05/msg00184.html
<wieczyk> wmeyer: It would be nice to have something like camlp4 but after typing. Then we could do nice feature with auto-mocking.

2012-10-17

<thelema> Qrntz: patches welcome. no camlp4.

2012-10-13

<pippijn> how can one parse a string containing an ocaml expression into a camlp4 AST?

2012-10-12

<wmeyer> has anynody tried generating code with camlp4 that includes "with sexp" annotations on the data types definitions?
<pippijn> does anybody know how I can use sexplib within camlp4 quotations?
<pippijn> is there a way to let camlp4 print the AST in human-readable form?

2012-10-11

<mcclurmc> hi. i'm trying to use camlp4 to generate a module implementation from an mli file. i started using filters, but there are only sig -> sig or struct -> struct filters. is what i'm trying to do possible?
<fx_> there are pr_ camlp4 modules - those are printers

2012-10-10

<wmeyer> and I wish to have Camlp4 generated ones from any data type
<wmeyer> Zerker: in fact I just asked some very devoted Camlp4 developer if the Necula iterators would be possible.
<Kakadu> And also pippijn will release camlp4 for C++ :)
<yezariaely> so you meant the camlp4 based?
<flux> and then there are a few camlp4-based function generators

2012-10-08

<pippijn> that is with camlp4
<adrien> but also, the extension was a no-op in them (well, camlp4 wiht no pa_* rewrites your code, but still, it shouldn't be slow)
<adrien> I'm wondering how faster it is: I stopped using sepxlib.syntax because of the speed impact [ and the portability of camlp4 ]
<flux> ha, ha.. "Camlp5 6.07, compatible with OCaml 4.00.1 has been released. Camlp5 is a syntactic preprocessor for OCaml. Like Camlp4 except that it works and is fast."

2012-10-05

<flux> and the sad state of camlp4 documentation
<flux> well, camlp4 changes things
<wmeyer> Camlp4 not OCaml

2012-10-04

<wmeyer> ousado: Camlp4 has it, batteries toplevel loads it by default
<thelema> wmeyer: camlp4 is not as good as cpp. cpp just works. camlp4 is a pain
<companion_cube> I'm not familiar with camlp4 :/

2012-10-03

<mrm> djcoin: Yeah, some parts of it are poorly written and/or outdated (camlp4, ocamlbuild)
<pippijn> quotations are what camlp4 does

2012-09-28

<wmeyer> actually, it would be so cool to use both camlp4 and Cquot (once it's finished ;|)

2012-09-27

<wmeyer> i suppose once pippijn have camlp4 extension sounds like a easy cake
<hcarty> pippijn: For OCaml + camlp4 + C, ciml is an interesting project. Not what you're talking about I don't think, but a pretty cool use of camlp4.
<pippijn> my C frontend is supposed to turn into a camlp4 for C, by the way
<pippijn> is camlp4 good?
<wmeyer> i am sure Hongbo will not make Camlp4 die
<hcarty> wmeyer: Unfortunately it's built on camlp4 which seems to constantly rise and fall in popularity and soundness of future
<hcarty> wmeyer: Regarding printing + camlp4 - Batteries's pa_string syntax extension has some impressive printing capabilities.
<wmeyer> hongboz: Camlp4 formatted print code generator welcome

2012-09-26

<thelema> hongboz: you've seen the camlp4 that batteries has to do things like that, right?

2012-09-24

<wmeyer> adrien: yes, but nobody uses it right? Only with Camlp4 plugins?
<wmeyer> adrien: yes, because the Revised syntax was designed for Camlp4
<adrien> and in that case, it sounds pretty bad considering camlp4 can now be disabled
<adrien> doesn't it require camlp4?
<wmeyer> I think the biggest pain with Camlp4 syntax is that none of the Emacs modes can handle it
<wieczyk> But as I understanded examples for camlp4, It is possible to do syntax-extension to revisited syntax with is not working with original syntax.
<wieczyk> I think that camlp4 has one bad thinks. First, camlp4 vs camlp5 and revisited syntax vs original one. I think those splits should not exist in not much popular tool/language.
<adrien> sorry: offline without camlp4 :P
<thelema> adrien: all camlp4 can spit out source files
<wmeyer> I do believe that destructive plugins in ocamlbuild and camlp4 are mistake
<hcarty> thelema: No, sadly not without -ppx or camlp4

2012-09-12

<thelema> Topfind.load_deeply ["dynlink"; "camlp4"; "batteries.pa_string.syntax";
<thelema> first you have to enable camlp4
<scri> yes, but also camlp4

2012-09-08

<wmeyer> the Camlp4 syntax is already lousy, means that it's far from the AST of OCaml, it can describe it, but carries less ocaml specific information
<wmeyer> I could then write a high level DSL that takes some AST and then generate parser, using the Camlp4 parser syntax
<wmeyer> let's say I want to generate code that is Camlp4 parsers
<wmeyer> it's I think possible but Camlp4 was not designed
<Fare> I wonder if my pure<->stateful macros would be possible / easy in camlp4
<wmeyer> Camlp4 has also a lalr parser, which i still don't understand how it works
<wmeyer> Camlp4 is damn useful for code generation
<Fare> I remember he had qualms about camlp4.
<wmeyer> there is camlp5 which is fork, or maybe camlp4 is a fork of camlp5 but camlp5 existed before camlp4 become camlp4 (after heavy refactor) it has some story about it
<wmeyer> camlp4 is part of ocaml as for today
<Fare> is camlp4 still maintained, btw, or something that replaces it?

2012-09-06

<thelema> camlp4 or some pre-processor
<dsheets> type-level distributive product operator? have to use type-conv or some other camlp4 thing?

2012-09-04

<thelema> there seems always to be a bunch of camlp4 bugs that crop up after any syntax change in the compiler
<wmeyer> where is Camlp4 interface is now rock solid, whethever it sounds convincing or is good in general might be debatable
<wmeyer> thelema: I think it would be fair to use new -ppx for this purpose, it just brings more power and reliability. Although my personal opinion is that Camlp4 does the job done too. Ultimately you want a -ppx style code generator with OCaml quotations.
<thelema> I wonder if these kind of tools shouldn't be camlp4, but instead... hmm, not sure. want to have it generated once
<wmeyer> thelema: FoldGenerator filter in Camlp4, is generating this stuff
<wmeyer> Camlp4, CIL and so on, also reuse this concept
<hcarty> flux: If people want to, they could make the complaints about camlp4 look minor and insignificant when compared to the modifications done with compiler-libs :-)

2012-09-03

<rixed> yezariaely: there's a camlp4 extension that gives something similar to __FILE__ but I never used it and can't remember its name
<flux> I suppose it might be possible with camlp4

2012-09-02

<wmeyer> my advice be to use camlp4 for time being
<wmeyer> osa1: You can either use camlp4 or the original OCaml parser in compiler-libs

2012-08-22

<wmeyer> adrien: Saffire is a tool isn't it? you can use any previous version of OCaml + Camlp4 you want, unless you want to port it
<adrien> bah, now I'm trying to find out what camlp4's RfTag was

2012-08-20

<_key_> hi, i have the following problem: on a linux machine, i am compiling ocaml 3.12.1 and i am installing it locally to ~/local. everything seems fine, but ocamlfind query camlp4 gives me: ocamlfind: Package `camlp4' not found

2012-08-13

<hcarty> madroach: You could use some camlp4 magic to get around the double quoting. Depending on your approach it may not save many characters, but it could make the regexs more readable.

2012-08-12

<Drakken> camlp4, oasis, and ocamlbuild for starters
<Drakken> in _tags, you would have an entry for each file that uses camlp4, with a pp tag that specifies the syntax extensions.
<Drakken> oh. that's pp(camlp4 <args>)
<mk270> basically, i am trying to get some arguments passed through to camlp4

2012-08-05

<adrien> thelema: sexplib's camlp4 extension, not sexplib itself

2012-08-04

<hongboz> to learn camlp4, another useful thing is to be familiar with ocamlbuild, I have a very powerful myocamlbuild.ml, the building process is extremely simple.
<hongboz> dsheets: yes, for camlp4-related programs, use revised syntax
<dsheets> but camlp4 uses revised to avoid ambiguities in original?
<dsheets> i am always using the original flavor syntax of ocaml. should i use revised for non-camlp4 codes?
<dsheets> hongboz: thanks very much for your help. i will now learn camlp4 and dypgen in more depth
<dsheets> ok, i am new with camlp4
<dsheets> can i use dypgen behind camlp4?
<hongboz> it's convenient to use camlp4's own lexers. You can feed your own lexer, but it requires some work though
<dsheets> so i am stuck between menhir, dypgen, and camlp4
<hongboz> dsheets: there's an introductory blog on camlp4.gramlib, google ambassador ocaml camlp4 part6
<dsheets> hongboz: Gram like camlp4? Does it introduce new dependencies or is free with distribution?

2012-07-29

<pippijn> but I don't know anything about camlp4
<rejabber> how do I tell camlp4 to operate in non-revised mode?
<thizanne> yes i just saw camlp4 uses this one
<pippijn> thizanne: maybe it's the internal syntax for camlp4

2012-07-27

<thelema_> old camlp4 - means you get to use camlp5
<adrien> "Saffire is implemented as a combination of camlp4 and a CIL module"
<thelema_> I wonder if sexplib's camlp4 is native compiled by default...
<thelema_> adrien: what were you using camlp4 for?
<adrien> avoiding camlp4 saved a _lot_ of time in yypkg (half the time I thinkà

2012-07-26

<hcarty> djcoin: The new -ppx option is a separate item which can be used in place for camlp4 for some items

2012-07-25

<mcstar> i supposed the camlp4 preprocessor translated the [? ?] list comprehension
<flux> thelema_, how about byte compilation/native compilation/debug packages, camlp4, camlp5, ..
<ssbr-> Is it weird to want to have a camlp4 rule that calls itself recursively to build some intermediate structure, but is wrapped in some finalization procedure if the rule is invoked from outside?

2012-07-24

<Drakken> rejabber revised syntax in camlp4 supports where clauses with a single binding
<rejabber> how do I use camlp4 to write the AST of a .ml file to another file?

2012-07-23

<wmeyer> I'm using byte camlp4 - but perhaps without -g flag
<wmeyer> I am dropping of camlp4 parser anyway - but it would be useful to know where this exceptions is coming from

2012-07-17

<hcarty> Drakken: You could delve into the world of -ppx (OCaml 4.x) or camlp4 if you want to avoid compilation time or execution time losses.

2012-07-16

<Ninju> 50 # USE_CAMLP4)!

2012-07-15

<rudi_> now just need to add camlp4 :D

2012-07-14

<Drakken> Hmm. I rearranged some camlp4 grammar entries and the typechecker said it couldn't generalize some of their type variables.

2012-07-13

<wmeyer> Anarchos: Pipjin has developed a C clean frontend - the idea with Cquot is to provide Camlp4 quotations that are able to generate ASTs out of quoted concrete C syntax which then in turn can be passed and pretty printed or composed with other code fragment
<Drakken> Camlp4 seems to rely on quotations as much as possible, but it seems like you have to either compare quotations with quotations, so they have the same location, or write out the ast code explicitly.
<Drakken> Is there a way to compare a Camlp4 ast node to a quotation that ignores the locations?

2012-07-12

<flux> adding "dynlink" as a dependency to some camlp4 META files

2012-07-11

<adrien_oww> also, this can "invoke" camlp4 _after_ the parsing has started, which is definitely how it's currently done
<thelema> but you'd have to know types, and at least camlp4 doesn't know types

2012-07-10

<hongboz> Kakadu: you can write some elisp functions to help you switch between revised syntax and normal syntax using camlp4's parser and printer
<hongboz> Another good thing to write the driver yourself is that you can customize Lexerer without pathing camlp4
<hongboz> exactly. so camlp4-> camlp4toploop, camlp4rf -> camlp4rftoploop