[Caml-list] Decent Java parser written in Ocml?
Hi All, Currently I'm looking for a Java parser. Is there anyone aware of a decent Java source code parser written in Ocaml? Thanks in advance, Sung Kim ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] Quantifier in the type
Yes you are right my first answer was totally out of scope, I will try to make it forgive and forget with this new one :) Still take it with care while it seems you are far more knowledged than me to answer to your own question ;-) > Just an elementary question. > > I put 'a in the interface: > val fu : 'a -> 'a > and int in the implementation: > let fu x = x + 1 > > So I have universal quantification: for any type 'a function fu can > consume the argument. So my implementation doesn't comply with that > universal quatification. And the message I get is following: > > Values do not match: val fu : int -> int is not included in val fu : 'a > -> 'a > > So the declaration of value in mli file is called simply a 'value'. Is > it intentional? in the same way, in the mli, it is not a "declaration of value" but "a declaration of the type of a value" :p > I thought that value and it's declaration are separate notions? doen't this declaration define a value? Anyway doesn't the declaration and the value have the same type? (which do not match, and this is the real important piece, it do not match!) Well if the error message was made this way, maybe it was more for clarity and simplicity, more than to be fully accurate to the theory. Maybe it should rather say "the type of the implementation of the value does not match the type declared for this same value in the implementation" but it's shorter to just say "values do not match" > My reading of " val fu : 'a -> 'a " is: > some partiular value vvv that belongs to set of values that satisfy > "forall 'a : (vvv can be used with ('a -> 'a) type)" My reading of " val fu : 'a -> 'a " is that, as this 'a thing first appears in the ocaml manual which refers to it with "any type" or "arbitrary type" so "fu takes any type and returns this same arbitrary type" Sorry for the joke, more serious attempts below > But if I write > let (bar : 'a -> 'a ) = (fun x -> x + 1) > I create a value that belongs to set "exists 'a : (vvv can be used with > ('a -> 'a) type)" > So it's the other quantifier. would this be a clue about the Gral you're looking for? # let bar = ref (None : ('a -> 'a) option) ;; val bar : ('_a -> '_a) option ref = {contents = None} # bar := Some (fun x -> x + 1) ;; - : unit = () # !bar ;; - : (int -> int) option = Some But: # let (bar : '_a -> '_a) = (fun x -> x + 1) ;; The type variable name '_a is not allowed in programs is disallowed > >> I think that the quantifier has to be part of type, since a type is set > >> of values (and the quantifier plays important role when describing some > >> of such sets). > >> So my question is: since we see the same string " 'a -> 'a " that refers > >> to different types in different contexts, what are the rules? How is > >> type definition in OCaml translated to a type? > > > > type definition in OCaml are translated to actual types by inference. > > (fun x -> x + 1) will be easily infered to (int -> int) > > My question was what are the rules for putting universal and > existential quantifers into types. So we have some type definition: > 'a -> ('b -> 'c) > How is it translated to a type? > > I have an idea that this piece of code can sometimes be not a type > definition, but rather part of type equation. > Let's take my previous example: > let (bar : 'a -> 'a ) = ... > > This " 'a -> 'a " whould not define any type (so the problem of > quantifiers would be irrelevant here), but RHS of some type equation. > Still I'm not sure about what does this RHS contais (precisely). Is this example an illustration of what you mean ? # let id v = v ;; val id : 'a -> 'a = # Scanf.sscanf "34" "%d" id ;; - : int = 34 # Scanf.sscanf "4578.218" "%f" id ;; - : float = 4578.218 and related to the quantifier kind, maybe noticing this will interest you: # Scanf.sscanf ;; - : string -> ('a, 'b, 'c, 'd) Scanf.scanner = # Scanf.sscanf "34" ;; - : ('_a, '_b, '_c, '_d) Scanf.scanner = and finally, as you told, the complementary part of the 'a -> 'a: # Scanf.sscanf "34" "%d" ;; - : (int -> '_a) -> '_a = > So: was I wrong thinking that existnetial quantifier is involved in this > example? as far as I understand now no, you was right on this point, but you should have understood that you are more knowledged than me about this subject. I'm far from a guru and while there are many talented ones arround, I don't know why you didn't get an anwser from one of them, maybe because we don't really see what is the real problem behind your question? -- ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] OCaml version 3.11.0+beta1
On Oct 16, 2008, at 12:31 PM, Andres Varon wrote: Changing the Makefile to link against tk84.dll and tcl84.dll seems to fix the problem. Did you manage to do it with *.dll or *.lib? I don't have those dll's and have been unable to compile the MinGW port with a setup that succeeded since 3.09.3. I keep getting: Cannot export tcl84_NULL_THUNK_DATA: symbol not found Could it be a path issue? Could you please show me an example of the a path that you are using successfully? To answer myself: the path is not anymore lib/tcl84.lib but bin/ tcl84.dll and correspondingly to tk. Sorry for the noise. Andres ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] OCaml version 3.11.0+beta1
On Oct 16, 2008, at 12:22 PM, Andres Varon wrote: On Oct 16, 2008, at 5:58 AM, David Allsopp wrote: Both the MSVC and MinGW ports seem to have an error in the Makefile - they're linking against tk83.dll and tcl83.dll - the OCaml 3.10.2 line to link against tk84.lib and tcl84.lib is commented out. Changing the Makefile to link against tk84.dll and tcl84.dll seems to fix the problem. Did you manage to do it with *.dll or *.lib? I don't have those dll's and have been unable to compile the MinGW port with a setup that succeeded since 3.09.3. I keep getting: Cannot export tcl84_NULL_THUNK_DATA: symbol not found Could it be a path issue? Could you please show me an example of the a path that you are using successfully? Let me clarify what I'm asking: I have in config/Makefile TK_ROOT=c:/tcl Do you write your paths somehow differently there? In all honesty I don't think that this is a wrongly written path (there are no complains of not finding the libraries), but I'm clueless and I don't have enough experience in Windows. best, Andres Andres ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] OCaml version 3.11.0+beta1
On Oct 16, 2008, at 5:58 AM, David Allsopp wrote: Both the MSVC and MinGW ports seem to have an error in the Makefile - they're linking against tk83.dll and tcl83.dll - the OCaml 3.10.2 line to link against tk84.lib and tcl84.lib is commented out. Changing the Makefile to link against tk84.dll and tcl84.dll seems to fix the problem. Did you manage to do it with *.dll or *.lib? I don't have those dll's and have been unable to compile the MinGW port with a setup that succeeded since 3.09.3. I keep getting: Cannot export tcl84_NULL_THUNK_DATA: symbol not found Could it be a path issue? Could you please show me an example of the a path that you are using successfully? Andres ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: Re : [Caml-list] OCaml version 3.11.0+beta1
Adrien wrote: How often should we expect new releases of flexlink ? Basically, the question is : will it have to be updated from time to time or can we just drop it somewhere and forget everything about it ? There will be new releases when bugs are found and fixed. It's hard to predict. I don't expect any correlation between OCaml releases and new flexlink versions. -- Alain ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re : [Caml-list] OCaml version 3.11.0+beta1
2008/10/16, Alain Frisch <[EMAIL PROTECTED]>: > David Allsopp wrote: >> There seems to be an interesting chicken-and-egg source dependency between >> flexdll and OCaml 3.11 - you can't build OCaml 3.11 from source or use it >> afterwards without flexdll and you can't build flexdll from source without >> OCaml. Doesn't that suggest a binary copy of flexdll should be included in >> OCaml's boot directory? All of the other *binary* dependencies for Windows >> OCaml don't require OCaml themselves... just a thought! > > You're right about the circular dependency, but the answer is much > simpler than for the chicken-and-egg question: OCaml came first. > I don't see a compelling reason to include a binary version of flexdll > in the OCaml distribution. Just consider flexdll as an external > dependency that comes in binary form (like the MS C compiler). It just > happens to be produced by the OCaml compiler. > > Note that flexlink.exe can be compiler with an old OCaml compiler. Also, > if you insist to bootstrap everything, it shouldn't be too difficult to > get a minimal (=no dynamic linking of external C code) ocamlrun.exe for > 3.11 that does not require flexlink. > How often should we expect new releases of flexlink ? Basically, the question is : will it have to be updated from time to time or can we just drop it somewhere and forget everything about it ? --- Adrien Nader ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] Quantifier in the type
Thanks for your answer; now I'll try to sate my point in a clear way, since you misunderstood all my questions. I put 'a in the interface: val fu : 'a -> 'a and int in the implementation: let fu x = x + 1 this interface doesn't reflect the implementation, ocaml will reject it in any way OK, it's all about this rejection, e.g. what does precisely mean 'to reflect the implementation'. So I have universal quantification: for any type 'a function fu can consume the argument. No it is not universal, imagine all the types that a user can create, you cannot handle them all (except maybe with the Obj module, but it's another question) I wanted this my sentence to be about the declatation in mli interface. My point is: the type in the declaration in mli implicitly contains universal quantifier. So my implementation doesn't comply with that universal quatification. And the message I get is following: Values do not match: val fu : int -> int is not included in val fu : 'a -> 'a Yes it doesn't match at all, the type of the implementation is int, nothing else. The error message uses plural: 'Value*s* do not match'. So this raises few questions: 1) Is (fun x -> x + 1) a value? 2) Is (x + 1) a value? 3) Is the whole line " val fu : 'a -> 'a " a value? 4) How many values are in my example? We have to find at least two, to understand the error message! An my conlcusion is that this is just silly, unimportant mistake: So the declaration of value in mli file is called simply a 'value'. Is it intentional? It is just the word in the English language to designate this thing. What do you mean saying 'this thing'? The point is: *which thing*? I thought that value and it's declaration are separate notions? Are they separate in OCaml or not? (Of course, everybody knows they have to be separate, that's why I'm asking about the word 'value'.) a value is handle by a identifier and has a type let ident = some_value in here ident and some_value are of some type So - according to your point of view - in my example there is only one value, which has identifier 'fu' and its type would be " 'a -> 'a " if the implementation was corrent. But, you remember, the error message was about *two* values. My reading of " val fu : 'a -> 'a " is: some partiular value vvv that belongs to set of values that satisfy "forall 'a : (vvv can be used with ('a -> 'a) type)" But if I write let (bar : 'a -> 'a ) = (fun x -> x + 1) I create a value that belongs to set "exists 'a : (vvv can be used with ('a -> 'a) type)" So it's the other quantifier. I think that the quantifier has to be part of type, since a type is set of values (and the quantifier plays important role when describing some of such sets). So my question is: since we see the same string " 'a -> 'a " that refers to different types in different contexts, what are the rules? How is type definition in OCaml translated to a type? type definition in OCaml are translated to actual types by inference. (fun x -> x + 1) will be easily infered to (int -> int) My question was what are the rules for putting universal and existential quantifers into types. So we have some type definition: 'a -> ('b -> 'c) How is it translated to a type? I have an idea that this piece of code can sometimes be not a type definition, but rather part of type equation. Let's take my previous example: let (bar : 'a -> 'a ) = ... This " 'a -> 'a " whould not define any type (so the problem of quantifiers would be irrelevant here), but RHS of some type equation. Still I'm not sure about what does this RHS contais (precisely). So: was I wrong thinking that existnetial quantifier is involved in this example? Dawid ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] File inclusion with Ocamldoc
Hi, > The manual states that implementation files are not handled > because if you have a .ml and .mli then ocamlbuild will choose > the .mli. Thanks for the info. You may want to clarify that on the manual, because presently the language implies that implementation files are ignored altogether. Also, I'm having trouble getting Ocamlbuild/Ocamldoc working on a project that also uses mlpack. Basically, I have a "lambdoc" directory containing a number of modules whose documentation I want to generate. I also have lambdoc.mlpack listing all those modules, and a lambdoc.mllib containing only "Lambdoc". In these circumstances, what should be the contents of the lambdoc.odocl file? I tried listing lambdoc's modules, both fully qualified (eg, "Lambdoc.Document_ast") and not, but Ocamlbuild always chokes. Also, what is the rule of .odoc files and how do they differ from .odocl? Thanks for your time, Dario Teixeira ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] Dynamic loading on Mac OS X
See this post on beginner's list: http://tech.groups.yahoo.com/group/ocaml_beginners/message/6905 On Wed, Oct 15, 2008 at 4:14 PM, Harrison, John R <[EMAIL PROTECTED] > wrote: > This discussion of dynamic loading in 3.11 reminded me of a more basic > question I meant to ask, but never did. On certain platforms, e.g. all > Linuxes I've ever used, the following works in a plain OCaml toplevel: > > #load "nums.cma";; > > On other platforms, notably Cygwin, it doesn't. (At least, for OCaml > 3.10 on my version of Cygwin, which is not very old.) > > # #load "nums.cma";; > Cannot load required shared library dllnums. > Reason: dllnums.so: dynamic loading not supported on this platform. > > I was sure that Mac OS X was among the platforms where this *doesn't* > work, based on experiments a year or two ago. However I recently found > that apparently it *does* after all work on my Mac. Since the original > experiments I've upgraded the Mac to Leopard, and maybe I've even > changed my OCaml version, though I don't remember for sure. Am I just > plain wrong, or has this really only started to work recently? > > John. > > ___ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] OCaml version 3.11.0+beta1
David Allsopp wrote: The install target of flexdll's Makefile suggests copying: flexdll_initer.c, flexdll.c Surely these aren't needed once it's compiled? Indeed. However, some people might want to recompile them (e.g. to keep debug symbols, or to use a specific version of their C compiler). cmdline.o, coff.o, reloc.o, version.o Aren't these all part of flexlink.exe and therefore not needed? As far as I can tell, the install target does not copy these files. default.manifest Is this necessary for a MinGW build? No. There seems to be an interesting chicken-and-egg source dependency between flexdll and OCaml 3.11 - you can't build OCaml 3.11 from source or use it afterwards without flexdll and you can't build flexdll from source without OCaml. Doesn't that suggest a binary copy of flexdll should be included in OCaml's boot directory? All of the other *binary* dependencies for Windows OCaml don't require OCaml themselves... just a thought! You're right about the circular dependency, but the answer is much simpler than for the chicken-and-egg question: OCaml came first. I don't see a compelling reason to include a binary version of flexdll in the OCaml distribution. Just consider flexdll as an external dependency that comes in binary form (like the MS C compiler). It just happens to be produced by the OCaml compiler. Note that flexlink.exe can be compiler with an old OCaml compiler. Also, if you insist to bootstrap everything, it shouldn't be too difficult to get a minimal (=no dynamic linking of external C code) ocamlrun.exe for 3.11 that does not require flexlink. -- Alain ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
[Caml-list] Camlp5 5.10 compatible with OCaml from 3.08.0 to 3.11.0 included OK
Hi all, Camlp5 5.10 compatible with OCaml from 3.08.0 to 3.11.0 is OK. Documentation and download at: http://pauillac.inria.fr/~ddr/camlp5/ Thank you. -- Daniel de Rauglaudre http://pauillac.inria.fr/~ddr/ ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
RE: [Caml-list] OCaml version 3.11.0+beta1
I'm slowly testing my stuff on WinXP SP2 and will do Windows Vista SP1 (both MinGW build). Very much looking forward to adding plug-in support back into two products now that native Dynlink is available so many thanks to the OCaml team for the work on this release! Both the MSVC and MinGW ports seem to have an error in the Makefile - they're linking against tk83.dll and tcl83.dll - the OCaml 3.10.2 line to link against tk84.lib and tcl84.lib is commented out. Changing the Makefile to link against tk84.dll and tcl84.dll seems to fix the problem. David -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Damien Doligez Sent: 15 October 2008 15:40 To: caml users Subject: [Caml-list] OCaml version 3.11.0+beta1 Dear OCaml Users, We are pleased to celebrate the birthday of Friedrich Nietzsche by releasing OCaml version 3.11.0+beta1. We need YOU to test it thoroughly and report any problems you might have. Does your favorite software work with it? It is available as a source release only (plus documentation), from this address: < http://caml.inria.fr/pub/distrib/ocaml-3.11/ > It is also available from our CVS server at: < http://camlcvs.inria.fr/ > Use tag "ocaml3110beta1" to get the beta release, and tag "release311" to track the bug fixes between this and the final release of 3.11.0. Have fun and PLEASE send us some feedback, positive or negative. -- The OCaml team. - Camlp5 HOW-TO Camlp5 version 5.09 does not work with OCaml 3.11.0+beta1 out of the box. A new version compatible with OCaml 3.11.0 should be released very soon. In the meantime you can use the following commands (in the root directory of the Camlp5 5.09 sources) to compile Camlp5 5.09 with OCaml 3.11.0+beta1. Note that you will need to provide the path name to a copy of the OCaml 3.11.0+beta1 sources at the line labelled "HERE". cp -R ocaml_stuff/3.11 ocaml_stuff/3.11.0 cp ocaml_src/main/ast2pt.ml_3.11 ocaml_src/main/ast2pt.ml_3.11.0 ed main/ast2pt.ml <<-EOF g/OCAML_3_11/s//& OR OCAML_3_11_0/ wq EOF ed top/rprint.ml <<-EOF g/OCAML_3_11/s//& OR OCAML_3_11_0/ wq EOF ./configure --transitional make steal OCAML_SRC= # HERE make core make bootstrap_sources ./configure --transitional make world.opt That's all. Now you can "make install" as usual. ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
RE: [Caml-list] OCaml version 3.11.0+beta1
Apologies if I missed them, but are there any installation instructions for flexdll for Win32 building OCaml 3.11? I copied flexdll.h, flexdll_initer_mingw.o, flexdll_mingw.o and flexlink.exe to my (empty) OCaml bin directory (C:\Dev\OCaml\bin which is in PATH) before starting to build which seemed to allow things to work. [Aside: As I don't expect to use flexdll for anything else, the OCaml bin directory seems as good a place as any to put it - I, out of personal choice, put development tools in C:\Dev rather than C:\Program Files] The install target of flexdll's Makefile suggests copying: flexdll_initer.c, flexdll.c Surely these aren't needed once it's compiled? cmdline.o, coff.o, reloc.o, version.o Aren't these all part of flexlink.exe and therefore not needed? default.manifest Is this necessary for a MinGW build? There seems to be an interesting chicken-and-egg source dependency between flexdll and OCaml 3.11 - you can't build OCaml 3.11 from source or use it afterwards without flexdll and you can't build flexdll from source without OCaml. Doesn't that suggest a binary copy of flexdll should be included in OCaml's boot directory? All of the other *binary* dependencies for Windows OCaml don't require OCaml themselves... just a thought! There are now some documentation inconsistencies in the sections for linking C code - but I'll finish working through the various libraries I use before reporting back. It's great that ocamlmklib is now available for all ports on Win32 as well (that's one typo in manual032!) as it means that most of my broken calls to gcc (rather than flexlib) can be replaced with the much more portable ocamlmklib anyway! Is there a useful way of submitted patches to the documentation? The HTML docs are all generated from something, right? David -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Damien Doligez Sent: 15 October 2008 15:40 To: caml users Subject: [Caml-list] OCaml version 3.11.0+beta1 Dear OCaml Users, We are pleased to celebrate the birthday of Friedrich Nietzsche by releasing OCaml version 3.11.0+beta1. We need YOU to test it thoroughly and report any problems you might have. Does your favorite software work with it? It is available as a source release only (plus documentation), from this address: < http://caml.inria.fr/pub/distrib/ocaml-3.11/ > It is also available from our CVS server at: < http://camlcvs.inria.fr/ > Use tag "ocaml3110beta1" to get the beta release, and tag "release311" to track the bug fixes between this and the final release of 3.11.0. Have fun and PLEASE send us some feedback, positive or negative. -- The OCaml team. - Camlp5 HOW-TO Camlp5 version 5.09 does not work with OCaml 3.11.0+beta1 out of the box. A new version compatible with OCaml 3.11.0 should be released very soon. In the meantime you can use the following commands (in the root directory of the Camlp5 5.09 sources) to compile Camlp5 5.09 with OCaml 3.11.0+beta1. Note that you will need to provide the path name to a copy of the OCaml 3.11.0+beta1 sources at the line labelled "HERE". cp -R ocaml_stuff/3.11 ocaml_stuff/3.11.0 cp ocaml_src/main/ast2pt.ml_3.11 ocaml_src/main/ast2pt.ml_3.11.0 ed main/ast2pt.ml <<-EOF g/OCAML_3_11/s//& OR OCAML_3_11_0/ wq EOF ed top/rprint.ml <<-EOF g/OCAML_3_11/s//& OR OCAML_3_11_0/ wq EOF ./configure --transitional make steal OCAML_SRC= # HERE make core make bootstrap_sources ./configure --transitional make world.opt That's all. Now you can "make install" as usual. ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] ocamlbuild: ml -> cmx & cmi & o ?
There is a deep reason for this, the short answer is: "if you want native-compilation only, then all your .ml files must have a .mli" Indeed ocamlbuild only generates .cmi from .ml using ocamlc, this is to avoid conflicting defaulting rules in the engine. Are conflicting rules a problem? -- Romain Bardou ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] ocamlbuild: ml -> cmx & cmi & o ?
Excerpts from romain.bardou's message of Thu Oct 16 10:30:49 +0200 2008: > > I observe that ocamlbuild does not build cmx cmi and o files from a ml > > file (which has no associated mli) directly. Do others see different > > behavior? Instead it builds cmo and cmi from the ml using ocamlc, and > > then builds the cmx and o files from there using ocamlopt. Is there a > > reason I’m missing that ocamlbuild does not have a default rule for this > > case, using only one call to ocamlopt? If so, is there an easy way to > > do this with a plugin? There is a deep reason for this, the short answer is: "if you want native-compilation only, then all your .ml files must have a .mli" Indeed ocamlbuild only generates .cmi from .ml using ocamlc, this is to avoid conflicting defaulting rules in the engine. > I observe the same behavior. I think it's just a matter of reordering > the rules in ocaml_specific.ml, as the following plug-in solves the > problem thanks to "~insert: `top": > > open Ocamlbuild_plugin > > let () = dispatch begin function >| After_rules -> >rule "ml -> cmx" > ~dep: "%.ml" > ~prods: ["%.cmx"; "%.o"; "%.cmi"] > ~insert: `top > begin fun env _ -> >let ml = env "%.ml" in >Cmd(S[!Options.ocamlopt; A "-c"; P ml]) > end >| _ -> () > end I won't recommend that. -- Nicolas Pouillard aka Ertai ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
Re: [Caml-list] ocamlbuild: ml -> cmx & cmi & o ?
I observe that ocamlbuild does not build cmx cmi and o files from a ml file (which has no associated mli) directly. Do others see different behavior? Instead it builds cmo and cmi from the ml using ocamlc, and then builds the cmx and o files from there using ocamlopt. Is there a reason I’m missing that ocamlbuild does not have a default rule for this case, using only one call to ocamlopt? If so, is there an easy way to do this with a plugin? I observe the same behavior. I think it's just a matter of reordering the rules in ocaml_specific.ml, as the following plug-in solves the problem thanks to "~insert: `top": open Ocamlbuild_plugin let () = dispatch begin function | After_rules -> rule "ml -> cmx" ~dep: "%.ml" ~prods: ["%.cmx"; "%.o"; "%.cmi"] ~insert: `top begin fun env _ -> let ml = env "%.ml" in Cmd(S[!Options.ocamlopt; A "-c"; P ml]) end | _ -> () end -- Romain Bardou ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
RE: [Caml-list] OCaml version 3.11.0+beta1
The Win64 port is listed as requiring Windows XP 64 or Server 64 - is 64 bit Windows Vista not included in the list because it's not supported or because it's not been tested with it? David -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Damien Doligez Sent: 15 October 2008 15:40 To: caml users Subject: [Caml-list] OCaml version 3.11.0+beta1 Dear OCaml Users, We are pleased to celebrate the birthday of Friedrich Nietzsche by releasing OCaml version 3.11.0+beta1. We need YOU to test it thoroughly and report any problems you might have. Does your favorite software work with it? It is available as a source release only (plus documentation), from this address: < http://caml.inria.fr/pub/distrib/ocaml-3.11/ > It is also available from our CVS server at: < http://camlcvs.inria.fr/ > Use tag "ocaml3110beta1" to get the beta release, and tag "release311" to track the bug fixes between this and the final release of 3.11.0. Have fun and PLEASE send us some feedback, positive or negative. -- The OCaml team. - Camlp5 HOW-TO Camlp5 version 5.09 does not work with OCaml 3.11.0+beta1 out of the box. A new version compatible with OCaml 3.11.0 should be released very soon. In the meantime you can use the following commands (in the root directory of the Camlp5 5.09 sources) to compile Camlp5 5.09 with OCaml 3.11.0+beta1. Note that you will need to provide the path name to a copy of the OCaml 3.11.0+beta1 sources at the line labelled "HERE". cp -R ocaml_stuff/3.11 ocaml_stuff/3.11.0 cp ocaml_src/main/ast2pt.ml_3.11 ocaml_src/main/ast2pt.ml_3.11.0 ed main/ast2pt.ml <<-EOF g/OCAML_3_11/s//& OR OCAML_3_11_0/ wq EOF ed top/rprint.ml <<-EOF g/OCAML_3_11/s//& OR OCAML_3_11_0/ wq EOF ./configure --transitional make steal OCAML_SRC= # HERE make core make bootstrap_sources ./configure --transitional make world.opt That's all. Now you can "make install" as usual. ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs ___ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
[Caml-list] RTA'09 1st CFP
* * * RTA 2009 * * Rewriting Techniques and Applications* * 20th International Conference* * * *June 29 - July 1, 2009, Bras_lia, Brazil * *http://rdp09.cic.unb.br/rta.html * * * * First Call for Papers* * * The 20th International Conference on Rewriting Techniques and Applications (RTA 2009) is organized as part of the Federated Conference on Rewriting, Deduction, and Programming (RDP 2009), together with the International Conference on Typed Lambda Calculi and Applications (TLCA 2009), and several workshops. The conference will be preceded by the 4th International School on Rewriting (ISR). Bras_lia, the federal capital of Brazil, is listed as a World Heritage Site by UNESCO. RDP 2009 will be held at Universidade de Bras_lia, one of the largest and one of the most prestigious universities in Brazil, on a campus built by highly acclaimed architect Oscar Niemeyer. Bras_lia is easily reached by plane; air fares are moderate at that time of the year. IMPORTANT DATES: Abstract Submission: January 19, 2009 Paper Submission: January 26, 2009 Notification: March 20, 2009 Final version:April 10, 2009 RTA is the major forum for the presentation of research on all aspects of rewriting. Typical areas of interest include (but are not limited to): * Applications: case studies; analysis of cryptographic protocols; rule-based (functional and logic) programming; symbolic and algebraic computation; theorem proving; system synthesis and verification; proof checking; reasoning about programming languages and logics; program transformation; * Foundations: matching and unification; narrowing; completion techniques; strategies; rewriting calculi, constraint solving; tree automata; termination; combination; * Frameworks: string, term, and graph rewriting; lambda-calculus and higher-order rewriting; constrained rewriting/deduction; categorical and infinitary rewriting; integration of decision procedures; * Implementation: implementation techniques; parallel execution; rewrite tools; termination checking; * Semantics: equational logic; rewriting logic; rewriting models of programs. BEST PAPER AWARD: A prize of 500 Euro will be given to the best paper as judged by the program committee. The program committee may decline to make the award or may split it among several papers. GENERAL CHAIR: * Mauricio Ayala Rinc_n (Bras_lia, Brazil) PROGRAM COMMITTEE: * Takahito Aoto (Sendai, Japan) * Franz Baader (Dresden, Germany) * Eduardo Bonelli (Buenos Aires, Argentina) * Dan Dougherty (Worcester, USA) * Rachid Echahed (Grenoble, France) * Santiago Escobar (Valencia, Spain) * Neil Ghani (Glasgow, GB) * J_rgen Giesl (Aachen, Germany) * Jean Goubault-Larrecq (Cachan, France) * Aart Middeldorp (Innsbruck, Austria) * Hitoshi Ohsaki (Osaka, Japan) * Vincent van Oostrom (Utrecht, The Netherlands) * Elaine Pimentel (Belo Horizonte, Brazil) * Femke van Raamsdonk (Amsterdam, The Netherlands) * Manfred Schmidt-Schau_ (Frankfurt, Germany) * Sophie Tison (Lille, France) * Ashish Tiwari (Stanford, USA) * Ralf Treinen, chair (Paris, France) PUBLICATION: RTA'09 proceedings will be published by Springer-Verlag in the Lecture Notes in Computer Science series. SUBMISSIONS: Submissions must be original and not submitted for publication elsewhere. Submissions must fall into one of the following categories (to be indicated at submission): 1. Regular Research Papers: describing new results; they will be judged on correctness and significance. 2. Papers describing the experience of applying rewriting techniques in other areas; they will be judged on relevance and comparison with other approaches. 3. Problem sets that provide realistic and interesting challenges in the field of rewriting. 4. System descriptions; they should contain a link to a working system and will be judged on usefulness and design. All submissions will be judged on originality and quality of presentation. Submissions in the first three categories can be up to 15 proceedings pages long, system descriptions up to 10 proceedings pages. Additional material, for instance proof details, may be given in an appendix which is not subject to the limitation of pages. However, submissions must be self-contained within the respective page limit; reading the appendix should not be necessary to access the merits of a submission. Submissions are accepted in either Postscript or PDF forma