[Caml-list] What projects are compiled with ocamlbuild ?

2010-09-03 Thread Alexandre Pilkiewicz
Dear list

I am looking for any project (written in ocaml or any other language
!) compiled with ocamlbuild with the source publicly available (under
any license, it is not for modification nor publication).

If you know any of them, could you please drop me a line with the name
of the project and the link to it? (please reply only to me to not
pollute the caml list!)

Thanks in advance

Alexandre Pilkiewicz

___
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] Re: Segfaults with Dynlink with OCaml 3.11

2010-09-03 Thread Damien Doligez

On 2010-08-25, at 06:00, Paul Steckler wrote:

 Today, I found the culprit.  Here's the pattern:
 
   dynamically load .cmxs file
   query list mutated by .cmxs file  (* no problem *)
   Gc.set { (Gc.get()) with Gc.minor_heap_size = ...};
   Gc.set { (Gc.get()) with Gc.major_heap_increment = ... };
   query mutated list   (* segfault! *)
 
 If I move the Gc.set's to the program initialization code, before the
 loading of dynamic code, no segfaults occur.

I bet the second Gc.set doesn't matter, and if you replace them with
Gc.minor () you get the same behaviour.

 Is this expected behavior?

Definitely not.  You should file a bug report here, preferably with
a complete repro case:
 Bug reports: http://caml.inria.fr/bin/caml-bugs


-- Damien

___
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] interfacing Ocaml with Mathematica

2010-09-03 Thread zaid al-zobaidi
Dear members

I am writing an Ocaml code and part of it I need to do the following job:

* I want to find out if two arithmetic or logical expressions  are equal
  like a + b and 2 * a + b - a or a and b or a and a, and Ocaml
it is unlikely to achieve my target, therefore I checked the available
packages and tools that can do the job and I found Mathematica.
I would appreciate if someone could guide me on how to interface (if
possible)to mathematica from Ocaml programme.

Note: I have to compare the expression and get the result of the
checking back to my Ocaml programme as I want to do the following
comparison that depends on the previous one.

Your help is much appreciated

Cheers,
Zaid

___
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] Segfault with humongous heap size

2010-09-03 Thread Damien Doligez

On 2010-09-02, at 13:23, Paul Steckler wrote:

 If I enter this in my shell:
 
  declare -x OCAMLRUNPARAM=h=32
 
 every OCaml program I run yields a segfault.  I have OCaml 3.11.1+rc1 
 installed
 on Fedora 12 x64.
 
 Of course, that heap size, 3.2G words, is larger than the memory I
 have installed, but
 still, I shouldn't get a segfault.


That's due to a stupid bug in parsing OCAMLRUNPARAM, compounded by a missing
check for the error code returned.  It will be fixed in 3.12.1.  In the 
meantime,
just use multipliers:

   declare -x OCAMLRUNPARAM=h=3200M

-- Damien

___
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] Create a constraint between variant type and data list

2010-09-03 Thread Sylvain Le Gall
Hello all,

I would like to somehow enforce that a variant type is associated with
an entry in a data list. 

For example, 

I would like to define:

type license = GPL | LGPL 

and 

let data = [ GPL, GNU Public license; 
 LGPL, GNU Lesser General Public license ]


I would like to enforce that all variants of license are in the
association list.

I have tried to use polymorphic variants, but don't see how to enforce
this constraint.

The point, is that if I add a new variant to license (e.g. BSD3), the
compiler output an error because this new variant is not in data list.

Any ideas ? If you need to use another type expression rather than
variant, please do so, as long as I am able to link the license type
and data list.

Thanks all,
Sylvain Le Gall

___
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] Contribute your Camlp4 knowledge! [was: account for Camlp4 wiki]

2010-09-03 Thread Jake Donham
On Fri, Sep 3, 2010 at 12:07 AM, Hendrik Tews t...@os.inf.tu-dresden.de wrote:
 Great! Let's collect all our Camlp4 knowledge in this wiki!
 Hopefully the wiki can replace the non-existing documentation one
 day.

For people who haven't seen it, I have a number of Camlp4 articles at

  http://ambassadortothecomputers.blogspot.com/p/reading-camlp4.html

Would it be appropriate to cut and paste this material to the wiki?

Jake

___
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] Create a constraint between variant type and data list

2010-09-03 Thread Martin Jambon
Sylvain Le Gall wrote:
 Hello all,
 
 I would like to somehow enforce that a variant type is associated with
 an entry in a data list. 
 
 For example, 
 
 I would like to define:
 
 type license = GPL | LGPL 
 
 and 
 
 let data = [ GPL, GNU Public license; 
  LGPL, GNU Lesser General Public license ]
 
 
 I would like to enforce that all variants of license are in the
 association list.
 
 I have tried to use polymorphic variants, but don't see how to enforce
 this constraint.
 
 The point, is that if I add a new variant to license (e.g. BSD3), the
 compiler output an error because this new variant is not in data list.
 
 Any ideas ? If you need to use another type expression rather than
 variant, please do so, as long as I am able to link the license type
 and data list.

I don't see a solution other than meta-programming or runtime checks.

Here is a simple code generator that would do the job:

(* license_gen.ml *)
open Printf

let print_licenses l =
  printf type license =;
  List.iter (fun (k, v) - printf  | %s k) l;
  printf \n;
  printf let licences = [\n;
  List.iter (fun (k, v) - printf   %s, %S;\n k v) l;
  printf ]\n

let () =
  print_licenses [
GPL, GNU Public license;
LGPL, GNU Lesser General Public license;
  ]

(* end *)

$ ocaml license_gen.ml  license.ml



Martin

-- 
http://mjambon.com/

___
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] Create a constraint between variant type and data list

2010-09-03 Thread Ashish Agarwal
See the Enum section of deriving:
http://code.google.com/p/deriving/wiki/Introduction

I haven't used it myself so cannot comment on how well it works.


On Fri, Sep 3, 2010 at 2:51 PM, Martin Jambon martin.jam...@ens-lyon.orgwrote:

 Sylvain Le Gall wrote:
  Hello all,
 
  I would like to somehow enforce that a variant type is associated with
  an entry in a data list.
 
  For example,
 
  I would like to define:
 
  type license = GPL | LGPL
 
  and
 
  let data = [ GPL, GNU Public license;
   LGPL, GNU Lesser General Public license ]
 
 
  I would like to enforce that all variants of license are in the
  association list.
 
  I have tried to use polymorphic variants, but don't see how to enforce
  this constraint.
 
  The point, is that if I add a new variant to license (e.g. BSD3), the
  compiler output an error because this new variant is not in data list.
 
  Any ideas ? If you need to use another type expression rather than
  variant, please do so, as long as I am able to link the license type
  and data list.

 I don't see a solution other than meta-programming or runtime checks.

 Here is a simple code generator that would do the job:

 (* license_gen.ml *)
 open Printf

 let print_licenses l =
  printf type license =;
  List.iter (fun (k, v) - printf  | %s k) l;
  printf \n;
  printf let licences = [\n;
  List.iter (fun (k, v) - printf   %s, %S;\n k v) l;
  printf ]\n

 let () =
  print_licenses [
GPL, GNU Public license;
LGPL, GNU Lesser General Public license;
  ]

 (* end *)

 $ ocaml license_gen.ml  license.ml



 Martin

 --
 http://mjambon.com/

 ___
 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] Create a constraint between variant type and data list

2010-09-03 Thread Maxence Guesdon
Le Fri, 3 Sep 2010 17:16:48 + (UTC),
Sylvain Le Gall sylv...@le-gall.net a écrit :

 Hello all,
 
 I would like to somehow enforce that a variant type is associated with
 an entry in a data list. 
 
 For example, 
 
 I would like to define:
 
 type license = GPL | LGPL 
 
 and 
 
 let data = [ GPL, GNU Public license; 
  LGPL, GNU Lesser General Public license ]
 
 
 I would like to enforce that all variants of license are in the
 association list.
 
 I have tried to use polymorphic variants, but don't see how to enforce
 this constraint.
 
 The point, is that if I add a new variant to license (e.g. BSD3), the
 compiler output an error because this new variant is not in data list.
 
 Any ideas ? If you need to use another type expression rather than
 variant, please do so, as long as I am able to link the license type
 and data list.

A solution is to add your new license to your list of associations, then
the compiler will complain about the unknown variant :)

Regards,

-- 
Maxence Guesdon


___
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] Re: Create a constraint between variant type and data list

2010-09-03 Thread Sylvain Le Gall
On 03-09-2010, Maxence Guesdon maxence.gues...@inria.fr wrote:
 Le Fri, 3 Sep 2010 17:16:48 + (UTC),
 Sylvain Le Gall sylv...@le-gall.net a écrit :

 A solution is to add your new license to your list of associations, then
 the compiler will complain about the unknown variant :)


This is my current solutions. I try to find something better ;-)

Regards,
Sylvain Le Gall

___
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] deriving for 3.12.0

2010-09-03 Thread Jake Donham
Hi list,

If you are interested in using deriving on OCaml 3.12.0, I have fixed
it up here:

  http://github.com/jaked/deriving

I haven't tried anything serious with it but the tests pass.

Jake

___
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