[Caml-list] Decent Java parser written in Ocml?

2008-10-16 Thread Sung Kim
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

2008-10-16 Thread Florent Monnier
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

2008-10-16 Thread Andres Varon


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

2008-10-16 Thread Andres Varon


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

2008-10-16 Thread Andres Varon


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

2008-10-16 Thread Alain Frisch

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 Thread Adrien
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

2008-10-16 Thread Dawid Toton

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

2008-10-16 Thread Dario Teixeira
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

2008-10-16 Thread Ashish Agarwal
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

2008-10-16 Thread Alain Frisch

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

2008-10-16 Thread Daniel de Rauglaudre
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

2008-10-16 Thread David Allsopp
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

2008-10-16 Thread David Allsopp
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 ?

2008-10-16 Thread Romain Bardou

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 ?

2008-10-16 Thread Nicolas Pouillard
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 ?

2008-10-16 Thread Romain Bardou
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

2008-10-16 Thread David Allsopp
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

2008-10-16 Thread Hitoshi Ohsaki

*  *
*   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