Re: [Caml-list] ocaml as editor extension language

2010-01-05 Thread Gabriel Kerneis
On Tue, Jan 05, 2010 at 07:24:42AM +, Joel Reymont wrote:
 You cannot embed OCaml and use it as an editor extension language unless 
 1) your editor is open source, or
 2) you are a member of the consortium and pay 2K EUR/year, or

3) You write your own OCaml compiler/interpreter without looking at the
original source code at all.

Regards,
-- 
Gabriel

___
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 as editor extension language

2010-01-05 Thread Alain Frisch

On 05/01/2010 08:24, Joel Reymont wrote:

You cannot embed OCaml and use it as an editor extension language unless

1) your editor is open source, or

2) you are a member of the consortium and pay 2K EUR/year

Is that correct?


Depending on the level of integration you need, you might also call an 
external OCaml compiler and dynamically load the result in your editor 
(with Dynlink).


-- 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 as editor extension language

2010-01-05 Thread Jon Harrop
On Tuesday 05 January 2010 07:24:42 Joel Reymont wrote:
 You cannot embed OCaml and use it as an editor extension language unless

 1) your editor is open source, or

I believe there are several issues surrounding the QPL license that much of 
the OCaml distribution is under:

1. You do not have the right to distribute your source code freely and must 
distribute only independently (e.g. patches only).

2. The initial developer is given rights to your derivative work.

3. The QPL is not GPL compatible so your derivative work cannot use GPL 
libraries.

See:

  http://www.gnu.org/licenses/license-list.html

Note that OCaml's tools are under the QPL, including ocamllex and ocamlyacc. 
So you cannot even use that code to write a syntax highlighter for your 
editor without being subject to these requirements.

 2) you are a member of the consortium and pay 2K EUR/year

 Is that correct?

You could always ask nicely if they mind you violating their license. :-)

-- 
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e

___
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 2nd CFP (July 11 - July 13, 2010, Edinburgh)

2010-01-05 Thread RTA publicity chair

Update:  The RTA webpage now contains the LIPIcs style file.


*  *
*   RTA 2010   *
* Rewriting Techniques and Applications*
*21st International Conference *
*http://www.clarkson.edu/projects/carl/rta-2010*
*  *
* July 11 - July 13, 2010, Edinburgh Scotland  *
*  http://www.floc-conference.org  *
*  *
*Call for Papers   *
*  *


The 21st International Conference on Rewriting Techniques and
Applications (RTA 2010) is organized as part of the Federated Logic
Conference (FLOC 2010), together with the International Joint Conference
on Automated Reasoning (IJCAR 2010), the Conference on Automated
Verification (CAV 2010), the IEEE Symposium on Logic in Computer Science
(LICS 2010), the International Conference on Logic Programming (ICLP
2010), the Conference on Theory and Applications of Satisfiability
Testing (SAT 2010), the Conference on Interactive Theorem Proving (ITP
2010) and many workshops.  FLOC 2010 will be held at the University of
Edinburgh.

IMPORTANT DATES:

Abstract Submission:  January 15, 2010

Paper Submission: January 22, 2010

Notification: March 8, 2010

Final version:April 3, 2010

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; complexity; combination;

 * Frameworks: string, term, and graph rewriting; lambda-calculus and
   higher-order rewriting; constrained rewriting/deduction; categorical
and
   infinitary rewriting; integration of decision procedures; net
rewriting;
   binding techniques;

 * Implementation: implementation techniques; parallel execution;
rewrite
   tools; termination checking; abstract machines; explicit
substitutions;

 * Semantics: equational logic; rewriting logic; rewriting models of
   programs.

INVITED SPEAKERS:
Georg Gottlob (Oxford, UK) and J. Strother Moore (Austin, USA) will be
keynote speakers for the RTA block at FLOC.  Mikolaj Bojanczyk (Warsaw,
Poland) and Vincent van Oostrom (Utrecht, Netherlands) will be invited
speakers at RTA.

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.

CONFERENCE CHAIR:
 * Fairouz Kamereddine (Edinburgh, UK)

PROGRAM COMMITTEE:
 * Takahito Aoto (Sendai, Japan)
 * Hubert Comon-lundh (Cachan, France)
 * Dan Dougherty (Worcester, USA)
 * Gilles Dowek (Paris, France)
 * Rachid Echahed (Grenoble, France)
 * Santiago Escobar (Valencia, Spain)
 * Maribel Fernandez (London, UK)
 * Guillem Godoy (Barcelona, Spain)
 * Bernhard Gramlich (Vienna, Austria)
 * Patricia Johann (Glasgow, UK)
 * Fairouz Kamareddine (Edinburgh, UK)
 * Delia Kesner (Paris, France)
 * Christopher Lynch, chair (Potsdam, USA)
 * Georg Moser (Innsbruck, Austria)
 * Hitoshi Ohsaki (Osaka, Japan)
 * Femke van Raamsdonk (Amsterdam, The Netherlands)
 * Sophie Tison (Lille, France)
 * Johannes Waldmann (Leipzig, Germany)

PUBLICATION:
RTA proceedings will be published by LIPIcs (Leibniz International
Proceedings in Informatics).  LIPIcs is open 
access, meaning that publications will be available online and free of
charge, and authors keep the copyright for their papers.  LIPIcs
publications are indexed in DBLP.  STACS and FSTTCS proceedings also
appear in LIPIcs.  See 

http://www.dagstuhl.de/en/publications/lipics for more information about
LIPIcs.

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 

Re: [Caml-list] Favorite OCaml editor?

2010-01-05 Thread Maxence Guesdon
Le Tue, 5 Jan 2010 00:03:39 -0600,
Grant Rettke gret...@acm.org a écrit :

 Hi,

Hello,

 What is your favorite editor for hacking with OCaml?
 
 Your favorite is key here here; I appreciate you human input as I
 can use a search engine to find any old OCaml editor easily.

My favorite editor is Chamo:
  http://home.gna.org/cameleon/chamo.en.html

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


Re: [Caml-list] Favorite OCaml editor?

2010-01-05 Thread Jon Harrop
On Tuesday 05 January 2010 08:45:04 Maxence Guesdon wrote:
 My favorite editor is Chamo:
   http://home.gna.org/cameleon/chamo.en.html

Nice! Why do you prefer it?

-- 
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e

___
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] Favorite OCaml editor?

2010-01-05 Thread Jon Harrop
On Tuesday 05 January 2010 07:31:45 Daniel Bünzli wrote:
  Your favorite is key here here; I appreciate you human input as I
  can use a search engine to find any old OCaml editor easily.

 Then I think a more interesting question is, what features do you
 absolutely need to be productive ?

 I'm rather low tech and not the power user type but still I couldn't
 do it without (keyboard access to) :

 1) Syntax highlighting and reasonably automatic identation following
 ocaml's programming guidelines [1]

Yes.

 2) Ability to invoke a build tool so that reported errors allow me to
 automatically jump to the offending lines.

Yes but I'd rather have an IDE constantly recompiling and automatically 
flagging errors such that I can jump directly to them using the GUI.

 3) Ability to invoke built programs so that reported stack traces
 allow me to automatically jump to the offending lines.

I don't use that so often, but yes.

 4) Ability to read annot files so that I can query the type of the
 symbol under my cursor.

Absolutely essential.

 5) Ability to switch rapidly between an ml file and its corresponding mli.

Interesting.

 6) Ability to edit C sources.

Bah. Real men use LLVM.

 I guess many people would add

 7) Ability to access the documentation of the symbol under my cursor.

That should go in with the type throwback. Also, it should support typeset 
math and vector graphics. And the source should be unicode with easy access 
to common alphabets and symbols.

 Regarding 7) I have a low tech approach which is to use gnome do (on
 linux) or quicksilver (on osx) to index
 the documentation generated by ocamldoc. Since the latter
 intelligently produces an html file Module.html for a module named
 Module I can quickly access its documentation by invoking gnome do
 with its hot key, type an abbreviation of Module and hit return.
 This opens the document in my browser where I scroll or search in the
 page to get to the symbol.

I tend to use ocamlbrowser.

-- 
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e

___
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] Favorite OCaml editor?

2010-01-05 Thread Alain Frisch

On 05/01/2010 09:13, Jon Harrop wrote:

I think the best way to write a decent editor for OCaml would be to write one
using LablGTK for the GUI and camlp4 to parse OCaml code.


It is indeed very tempting to reuse an existing OCaml parser in order to 
support syntax-related features (indentation, coloring, and whatnot); 
especially if you can then support syntax extension properly.


The problem is that the editor is supposed to work even with partial or 
syntactically invalid code, which is not the case for the OCaml parsers 
(built-in or Camlp4-based). It would be great to have a parser for OCaml 
syntax, with robust error recovery. Has anyone worked on such a project?



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] Favorite OCaml editor?

2010-01-05 Thread Richard Jones
On Tue, Jan 05, 2010 at 11:24:29AM +0100, Vincent Aravantinos wrote:
 
 Le 5 janv. 10 à 07:03, Grant Rettke a écrit :
 
 What is your favorite editor for hacking with OCaml?
 
 Your favorite is key here here; I appreciate you human input as I
 can use a search engine to find any old OCaml editor easily.
 
 Hi,
 
 I'm surprised no one mentions vim:
 You get 1,2,4,5,6 in Daniel's mail + all vim plugins and usual editing  
 and scripting facilities.
 3 would easily be scriptable.
 Furthermore vim is probably among the lightweightest.
 You also have tags.

My colleague edits OCaml code with vim (in fact we share it -- I edit
the same code with emacs) and he seems to like it.

One advantage of vim is that it comes with a good OCaml mode built in.
The OCaml mode that ships with emacs is pretty horrible compared to
tuareg-mode, which you have to install separately (albeit just a
apt-get/yum install away).

Rich.

-- 
Richard Jones
Red Hat

___
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 as editor extension language

2010-01-05 Thread Richard Jones
On Tue, Jan 05, 2010 at 10:04:24AM +, Jon Harrop wrote:
 1. You do not have the right to distribute your source code freely and must 
 distribute only independently (e.g. patches only).

Tools like quilt and git-rebase are now so good at handling base +
patches that I wouldn't say this is much of an issue these days.

At Red Hat we routinely deal with kernel + 100s of patches on top,
many of which conflict, and freely inserting and removing patches in
the middle of the stack, and rebasing, with few real issues.  (Not in
this case for licensing reasons, but so there's a clear chain of who
wrote what, and what was applied to what).

Rich.

-- 
Richard Jones
Red Hat

___
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] Favorite OCaml editor?

2010-01-05 Thread Maxence Guesdon
Le Tue, 5 Jan 2010 11:23:53 +,
Jon Harrop j...@ffconsultancy.com a écrit :

 On Tuesday 05 January 2010 08:45:04 Maxence Guesdon wrote:
  My favorite editor is Chamo:
http://home.gna.org/cameleon/chamo.en.html
 
 Nice! Why do you prefer it?
 

1. It is written in OCaml and I can extend it with OCaml code to fit my
needs :-)

2. It already provides:
 - syntax highlighting (based on the underlying gtksourceview widget,
   which is quite limited but is simple to use)
 - standard edition features (search, query-replace, transpose
   words, ...)
 - powerful layout: horizontal or vertical split, tabs, recursively
 - a system of views to edit each file with specific view
   (for example, there is a view to browse ocamldoc dumps)
 - an ocaml mode with:
   + some automatic indentation, even if it stops on syntax errors
 and sometimes get confused (it is based on a lexer and a stack,
 not a parser)
   + launching compilation process and jumping to error and/or warning
 locations,
   + analyze of stack traces output to allow me to jump at each point
 of the trace (see http://home.gna.org/cameleon/snippets.en.html)
   + using .annot files to display types of expressions,
   + a predefined command to switch between .ml and .mli file,
 - some other modes (latex, R, ChangeLog, Makefile)

3. Additional plugins can be easily defined, like the oug plugin:
  http://home.gna.org/oug/gettingstarted.en.html#gs:cameleon

4. One can improve the display of a source file to get advantage of
  UTF8 characters, like in the Greek-ocaml extension:
  http://home.gna.org/cameleon/snippets.en.html
  
It seems to fit points 1-7 of Daniel's list :)

Maxence


___
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] Favorite OCaml editor?

2010-01-05 Thread Florent Ouchet

Hi,

I've used emacs+touareg for a while but as soon as the projects become 
big, I switched to kate. No way back...


- Florent

___
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] Compiling a 32 bits version of OCaml with godi and OS X.6 ? (pcre problem)

2010-01-05 Thread Alan Schmitt
Hello,

I'm trying to build a 32 bits version of ocaml, so I added this to my godi.conf
OCAML_CONF_ARGS=-cc gcc -m32 -as as -arch i386 -aspp gcc -m32 -c

The problem is that PCRE is built by default in 64 bits. Is there a
similar environment variable that I can change to specify the target
architecture?

Thanks,

Alan

___
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] 2147483648l 2147483647l

2010-01-05 Thread Matej Kosik
Hello,

I am sorry, I have a stupid question.
I would like to ask if this:

# 2147483648l  2147483647l;;
- : bool = true

should not regarded as a bug. In my project I need Int32 value and above
behavior surprised me. Value

2147483648l

should not be allowed at all because it cannot be encoded to 32-bit
signed integer encoded with 2's complement representation.

Thanks in advance for help.

___
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] Favorite OCaml editor?

2010-01-05 Thread Alain Frisch

On 05/01/2010 11:44, Nicolas Pouillard wrote:

Reusing the work done in the Yi [1][2] editor for the Haskell syntax should
be pretty straightforward. Very long and painful however due to the complexity
of the grammar of a real language.

[1]: http://www.haskell.org/haskellwiki/Yi
[2]: http://www.cse.chalmers.se/~bernardy/FunctionalIncrementalParsing.pdf


Thanks for the links. The paper is a very interesting reading indeed. 
Its main focus is on incrementality (not reparsing the whole buffer at 
every keystroke). I'm not so sure how important it is in the context of 
the current discussion though: I guess that with an efficient parsing 
technology and modern computers, parsing even a big buffer at every 
keystroke should be fast enough. Trivial optimizations like storing the 
internal state of the parser at some point could also be used if needed.


I'm more concerned about the error recovery aspect; the paper suggests 
the use of annotated error recovery rules, but writing them for a 
grammar like OCaml's does not seem an easy task at all.



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] problem creating .cma library

2010-01-05 Thread Damien Doligez


On 2009-12-31, at 00:30, Guillaume Yziquel wrote:


#include stdio.h
#include caml/mlvalues.h
#include ../mylib/mylib.h
CAMLprim value
my_print_stub(value v) {


 CAMLparam1(v);  /* is missing here, for garbage
collection purposes. */


   char* str = (char*)String_val( v );


 /* You do not need the right-hand side (char*) casting. */


   my_print( str );
   return Val_unit;
}


If you use CAMLparam1, you must use CAMLreturn instead of return.

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


Re: [Caml-list] Favorite OCaml editor?

2010-01-05 Thread Martin DeMello
On Tue, Jan 5, 2010 at 11:33 AM, Grant Rettke gret...@acm.org wrote:
 Hi,

 What is your favorite editor for hacking with OCaml?

Vim. I have some issues with the indentation, but otherwise it's excellent.

martin

___
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] Favorite OCaml editor?

2010-01-05 Thread Nicolas Pouillard
Excerpts from Alain Frisch's message of Tue Jan 05 14:00:36 +0100 2010:
 On 05/01/2010 11:44, Nicolas Pouillard wrote:
  Reusing the work done in the Yi [1][2] editor for the Haskell syntax should
  be pretty straightforward. Very long and painful however due to the 
  complexity
  of the grammar of a real language.
 
  [1]: http://www.haskell.org/haskellwiki/Yi
  [2]: http://www.cse.chalmers.se/~bernardy/FunctionalIncrementalParsing.pdf
 
 Thanks for the links. The paper is a very interesting reading indeed. 
 Its main focus is on incrementality (not reparsing the whole buffer at 
 every keystroke). I'm not so sure how important it is in the context of 
 the current discussion though: I guess that with an efficient parsing 
 technology and modern computers, parsing even a big buffer at every 
 keystroke should be fast enough. Trivial optimizations like storing the 
 internal state of the parser at some point could also be used if needed.

Hum I doubt, or maybe you are prepared to accept more penalty than I do
(I consider Emacs to be noticeably slower than Vim on keystrokes, but
please don't feed the troll).

 I'm more concerned about the error recovery aspect; the paper suggests 
 the use of annotated error recovery rules, but writing them for a 
 grammar like OCaml's does not seem an easy task at all.

Indeed this is really a manual process but incrementally adding the rules
seemed to work. Actually this is a really visual process.

-- 
Nicolas Pouillard
http://nicolaspouillard.fr

___
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] 2147483648l 2147483647l

2010-01-05 Thread Olivier Andrieu
On Tue, Jan 5, 2010 at 13:59, Matej Kosik ko...@fiit.stuba.sk wrote:
 Hello,

 I am sorry, I have a stupid question.
 I would like to ask if this:

        # 2147483648l  2147483647l;;
        - : bool = true

 should not regarded as a bug. In my project I need Int32 value and above
 behavior surprised me. Value

        2147483648l

 should not be allowed at all because it cannot be encoded to 32-bit
 signed integer encoded with 2's complement representation.

 Thanks in advance for help.

yes that's a misfeature of the lexer/parser. The point is that it
accepts -2147483648l (representable as an int32) ; the downside is
that it accepts 2147483648l and treats it as -1l.

Cf. this bug report: http://caml.inria.fr/mantis/view.php?id=4210 .

-- 
  Olivier

___
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] 2147483648l 2147483647l

2010-01-05 Thread David Allsopp
Matej Kosik wrote:
 I am sorry, I have a stupid question.
 I would like to ask if this:
 
   # 2147483648l  2147483647l;;
   - : bool = true

The bug is in fact:

# 2147483648l;;
- : int32 = -2147483648l

and given that behaviour, the above result makes sense! But...

 it cannot be encoded to 32-bit
 signed integer encoded with 2's complement representation.

and it's outside the range [Int32.min_int, Int32.max_int]

However, it's a known bug - http://caml.inria.fr/mantis/view.php?id=4210

According to Mantis, it's fixed in 3.12 - I'm sure there's a reason that
it's not been fixed in 3.11.2+rc1


David


___
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] Favorite OCaml editor?

2010-01-05 Thread Hugo Ferreira


To the OP:

Eclipse + OcalIDE

Alain Frisch wrote:

On 05/01/2010 09:13, Jon Harrop wrote:
I think the best way to write a decent editor for OCaml would be to 
write one

using LablGTK for the GUI and camlp4 to parse OCaml code.


It is indeed very tempting to reuse an existing OCaml parser in order to 
support syntax-related features (indentation, coloring, and whatnot); 
especially if you can then support syntax extension properly.


The problem is that the editor is supposed to work even with partial or 
syntactically invalid code, which is not the case for the OCaml parsers 
(built-in or Camlp4-based). It would be great to have a parser for OCaml 
syntax, with robust error recovery. Has anyone worked on such a project?





This is indeed a thorny issue. The developer of OcalIDE is taking
another stab at this but this time using Camlp4 [1].

BTW the way the Haskell eclipse plug-in [2] also has to deal with such
issues. In their case they use a generic library and API [3] that should
be usable by any number of IDEs and editors (already used by emacs). May
be of interest to you also.

[1] http://ocaml.eclipse.free.fr/forum/viewtopic.php?f=1t=226
[2] http://eclipsefp.sourceforge.net/
[3] http://code.google.com/p/scion-lib/


Hugo F.



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 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 as editor extension language

2010-01-05 Thread Damien Doligez


On 2010-01-05, at 08:24, Joel Reymont wrote:

You cannot embed OCaml and use it as an editor extension language  
unless


1) your editor is open source, or

2) you are a member of the consortium and pay 2K EUR/year



  3k

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


Re: [Caml-list] [ANN] Release Candidate: 3.11.2+rc1

2010-01-05 Thread Richard Jones
On Tue, Dec 29, 2009 at 04:52:00PM +, Richard Jones wrote:
 On Tue, Dec 29, 2009 at 03:59:34PM +0100, Damien Doligez wrote:
  The release candidate is available as source code at this address:
  ftp://ftp.inria.fr/INRIA/Projects/cristal/ocaml/ocaml-3.11/ocaml-3.11.2+rc1.tar.bz2
  
  See the list of changes at the end of this mail.
  
  After testing this release candidate, please send a mail to
  damien.doli...@inria.fr and tell us what you tested and whether
  it worked.
 
 I've pushed this out to Fedora Rawhide users after some very light
 testing myself.  If there are any major problems we should see reports
 from QA systems and users in a day or two.

Following up, two packages had problems building:

camlp5 - When you compile, it complains it doesn't know anything about
3.11.2 and that this will require an upstream change.

cduce - Also FTBFS.

I have not looked any deeper into either of these build problems at
the moment.

Everything else built fine.

Rich.

-- 
Richard Jones
Red Hat

___
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] CSL 2010 - 1st Call for Papers

2010-01-05 Thread Geoff Sutcliffe
CSL 2010
First Call for Papers
The Annual Conference of the European Association for Computer Science Logic

August 23-27, 2010, Brno, Czech Republic

http://www.mat.uc.pt/~csl/

Submission (title  abstract):  March 26, 2010
Notification:   May 17, 2010
Submission (full paper):April 2, 2010
Final papers:   June 6, 2010

Computer Science Logic (CSL) is the annual conference of the European
Association for Computer Science Logic (EACSL). The conference is intended
for computer scientists whose research activities involve logic, as well as
for logicians working on issues significant for computer science. The 19th
EACSL Annual Conference on Computer Science Logic (CSL 2010) and the 35th
International Symposium on Mathematical Foundations of Computer Science
(MFCS 2010) are federated and organized in parallel at the same place. The
federated MFCS  CSL 2010 conference has common plenary sessions and social
events for all participants. The technical program and proceedings of MFCS 
2010 and CSL 2010 are prepared independently. The MFCS  CSL 2010 conference 
is accompanied by satellite workshops on more specialized topics.

Suggested topics of interest include (but are not limited to) automated
deduction and interactive theorem proving, constructive mathematics and type
theory, equational logic and term rewriting, automata and games, modal and 
temporal logic, model checking, decision procedures, logical aspects of 
computational complexity, finite model theory, computational proof theory, 
logic programming and constraints, lambda calculus and combinatory logic, 
categorical logic and topological semantics, domain theory, database theory, 
specification, extraction and transformation of programs, logical foundations 
of programming paradigms, verification and program analysis, linear logic, 
higher-order logic, nonmonotonic reasoning.

Proceedings will be published in the Advanced Research in Computing and 
Software Science (ARCoSS) subline of the LNCS series. Each paper accepted 
by the Programme Committee must be presented at the conference by one of 
the authors, and a final copy must be prepared according to Springer's 
guidelines. Submitted papers must be in Springer's LNCS style and of no more 
than 15 pages, presenting work not previously published. They must not be 
submitted concurrently to another conference with refereed proceedings. The 
PC chairs should be informed of closely related work submitted to a 
conference or journal by March 19, 2010. Papers authored or coauthored by 
members of the Programme Committee are not allowed.

Papers will be submitted through the conference website. Submitted papers 
must be in English and provide sufficient detail to allow the Programme 
Committee to assess the merits of the papers. Full proofs may appear in a 
technical appendix which will be read at the reviewers' discretion. Authors 
are strongly encouraged to include a well written introduction which is 
directed at all members of the program committee.

The Ackermann Award for 2010 will be presented to the recipients at CSL'10.


*** Programme Committee

Armin Biere (Linz)
Lars Birkedal (ITU, Denmark)
Nikolaj Bjorner (Redmond)
Manuel Bodirsky (Paris)
Mikolaj Bojanczyk (Warsaw)
Iliano Cervesato (Doha)
Krishnendu Chatterjee (Klosterneuburg)
Agata Ciabattoni (Vienna)
Anuj Dawar (Cambridge, co-chair)
Azadeh Farzan (Toronto)
Georg Gottlob (Oxford)
Martin Hofmann (Munich)
Orna Kupferman (Jerusalem)
Christof Loeding (Aachen)
Joao Marques-Silva (Dublin)
Tobias Nipkow (Munich)
Prakash Panangaden (Montreal)
R. Ramanujam (Chennai)
Simona Ronchi della Rocca (Torino)
Alex Simpson (Edinburgh)
Pascal Tesson (Quebec)
Helmut Veith (Vienna, co-chair)
Yde Venema (Amsterdam)


*** CSL/MFCS Plenary Speakers

David Basin (Zurich)
Herbert Edelsbrunner (Klosterneuburg)
Erich Gr¨adel (Aachen)
Joseph Sifakis (Gieres)


*** CSL Invited Speakers

Peter O'Hearn (London)
Jan Krajicek (Prague)
Andrei Krokhin (Durham)
Andrey Rybalchenko (Munich)
Viktor Kuncak (Lausanne)


*** Organizing Committee

Jan Bouda (Brno, chair)


*** Conference address

MFCSL 2010
Faculty of Informatics
Masaryk University,
Botanicka 68a, 60200 Brno
Czech Republic

mfcsl2...@fi.muni.cz



___
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] Favorite OCaml editor?

2010-01-05 Thread Laurent Le Brun
On Tue, Jan 5, 2010 at 12:28 PM, Jon Harrop j...@ffconsultancy.com wrote:
 2) Ability to invoke a build tool so that reported errors allow me to
 automatically jump to the offending lines.

 Yes but I'd rather have an IDE constantly recompiling and automatically
 flagging errors such that I can jump directly to them using the GUI.

Yes, Emacs can do that. This is called the flymake-mode. I've used it
a few times with OCaml (it required a few hacks, but it might be
easier to use now).

 5) Ability to switch rapidly between an ml file and its corresponding mli.

 Interesting.

Shortcut in Emacs : C-c C-a (works with both caml-mode and tuareg-mode).

-- 
  Laurent

___
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] [ANN] Release Candidate: 3.11.2+rc1

2010-01-05 Thread Stéphane Glondu
Richard Jones a écrit :
 camlp5 - When you compile, it complains it doesn't know anything about
 3.11.2 and that this will require an upstream change.

The first patch attached adds support for 3.11.2 (see comments in it).
I've also added some fixes to the manpage that are of course irrelevant
for the support of OCaml 3.11.2 (hopefully, they will also be applied in
the next upstream release).

 cduce - Also FTBFS.

You mean ocamlduce? cduce compiles fine. I've tagged in git [1] a new rc
for ocamlduce. A tarball is available at [2]. I will wait for the final
release of OCaml 3.11.2 to make a new formal release of ocamlduce.

[1] http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=ocamlduce/ocamlduce.git

[2]
http://debian.glondu.net/debian/pool/ocaml3112rc1/1/ocamlduce_3.11.2.0%7Erc1.orig.tar.gz


Cheers,

-- 
Stéphane

From: Stephane Glondu st...@glondu.net
Date: Tue, 5 Jan 2010 17:17:57 +0100
Subject: [PATCH] Add (partial) OCaml 3.11.2 support

The full support is achieved by running the following commands after
extracting the tarball of version 5.12, before runing ./configure:

  cp -a ocaml_stuff/3.11.1 ocaml_stuff/3.11.2
  sed -i \
-e 's/let ocaml_version = 3.11.1/let ocaml_version = 3.11.2/' \
ocaml_stuff/3.11.2/utils/pconfig.ml
  cp -a ocaml_src/main/ast2pt.ml_3.11.1 ocaml_src/main/ast2pt.ml_3.11.2

Signed-off-by: Stephane Glondu st...@glondu.net
---
 main/ast2pt.ml |2 +-
 top/rprint.ml  |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/main/ast2pt.ml b/main/ast2pt.ml
index 3c1ae43..9f3af38 100644
--- a/main/ast2pt.ml
+++ b/main/ast2pt.ml
@@ -14,7 +14,7 @@ THEN
 END;
 
 IFDEF
-  OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_12_0
+  OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_11_2 OR OCAML_3_12_0
 THEN
   DEFINE AFTER_OCAML_3_11
 END;
diff --git a/top/rprint.ml b/top/rprint.ml
index c011b07..1a67480 100644
--- a/top/rprint.ml
+++ b/top/rprint.ml
@@ -11,7 +11,7 @@ THEN
   DEFINE OCAML_3_08
 END;
 
-IFDEF OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_12_0 THEN
+IFDEF OCAML_3_11 OR OCAML_3_11_0 OR OCAML_3_11_1 OR OCAML_3_11_2 OR OCAML_3_12_0 THEN
   DEFINE AFTER_OCAML_3_11
 END;
 
-- 
From: Stephane Glondu st...@glondu.net
Date: Tue, 5 Jan 2010 17:27:36 +0100
Subject: [PATCH] Fix typos in manpage

---
 man/camlp5.1.tpl |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/man/camlp5.1.tpl b/man/camlp5.1.tpl
index 9fdf2ab..a10d718 100644
--- a/man/camlp5.1.tpl
+++ b/man/camlp5.1.tpl
@@ -107,7 +107,7 @@ object files (ending with .cmo or .cma). Several usage of these options
 are authorized. They must precede the other options.
 
 .LP
-An optionnal
+An optional
 .B \-\-
 may end the load options.
 
@@ -300,7 +300,7 @@ the command line as .cmi files. For example, how to add the the
 OCaml module str:
 .nf
 .ta 1c
-	mkcamlp5 -custom str.cmi str.cma -cclib -lstr -o camlp5str
+	mkcamlp5 \-custom str.cmi str.cma \-cclib \-lstr \-o camlp5str
 .fi
 .LP
 
-- 
___
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] [ANN] Release Candidate: 3.11.2+rc1

2010-01-05 Thread Richard Jones
On Tue, Jan 05, 2010 at 06:06:38PM +0100, Stéphane Glondu wrote:
 Richard Jones a écrit :
  camlp5 - When you compile, it complains it doesn't know anything about
  3.11.2 and that this will require an upstream change.
 
 The first patch attached adds support for 3.11.2 (see comments in it).
 I've also added some fixes to the manpage that are of course irrelevant
 for the support of OCaml 3.11.2 (hopefully, they will also be applied in
 the next upstream release).

Thanks -- will apply it.

  cduce - Also FTBFS.
 
 You mean ocamlduce? cduce compiles fine. I've tagged in git [1] a new rc
 for ocamlduce. A tarball is available at [2]. I will wait for the final
 release of OCaml 3.11.2 to make a new formal release of ocamlduce.
 
 [1] http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=ocamlduce/ocamlduce.git
 
 [2]
 http://debian.glondu.net/debian/pool/ocaml3112rc1/1/ocamlduce_3.11.2.0%7Erc1.orig.tar.gz

Excellent, thanks :-)

Rich.

-- 
Richard Jones
Red Hat

___
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] Favorite OCaml editor?

2010-01-05 Thread Tim Hanson
Hey All -

Yea, I used Emacs for a while, then Scite, now use Kate.  Not going
back either.  Love the code folding  ability to have many views of
the same file (like emacs), which is needed since you can't so easily
split modules across multiple files like C/C++.

Usually I open a gnu 'screen' session in the terminal, and split that
a few times for compiling and such.  I almost never use the debugger
.. maybe that's dumb, but it's less frustrating to use printfs.

While programming the limitation for me is brain-power and
understanding of the problem ...  clear thinking is so much better
than a high-powered editor that requires thought itself (cough..
emacs)

Tim

On Tue, Jan 5, 2010 at 7:21 AM, Florent Ouchet florent.ouc...@imag.fr wrote:
 Hi,

 I've used emacs+touareg for a while but as soon as the projects become big,
 I switched to kate. No way back...

 - Florent

 ___
 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] [ANN] Release Candidate: 3.11.2+rc1

2010-01-05 Thread Richard Jones
On Tue, Jan 05, 2010 at 06:06:38PM +0100, Stéphane Glondu wrote:
 You mean ocamlduce? cduce compiles fine. I've tagged in git [1] a new rc
 for ocamlduce. A tarball is available at [2]. I will wait for the final
 release of OCaml 3.11.2 to make a new formal release of ocamlduce.
 
 [1] http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=ocamlduce/ocamlduce.git
 
 [2]
 http://debian.glondu.net/debian/pool/ocaml3112rc1/1/ocamlduce_3.11.2.0%7Erc1.orig.tar.gz

I tried this out, and I get this very lengthy error message:

./ocamlc -a utils/misc.cmo parsing/linenum.cmo utils/terminfo.cmo 
utils/warnings.cmo parsing/location.cmo otherlibs/ocamlduce/cduce_types.cmo 
parsing/longident.cmo typing/ident.cmo typing/path.cmo typing/primitive.cmo 
typing/types.cmo typing/btype.cmo typing/predef.cmo typing/datarepr.cmo 
utils/tbl.cmo typing/subst.cmo myocamlbuild_config.cmo utils/config.cmo 
utils/clflags.cmo utils/consistbl.cmo typing/env.cmo bytecomp/lambda.cmo 
bytecomp/printlambda.cmo bytecomp/switch.cmo typing/ctype.cmo 
typing/typedtree.cmo bytecomp/typeopt.cmo typing/parmatch.cmo 
bytecomp/matching.cmo bytecomp/translext.cmo bytecomp/translobj.cmo 
bytecomp/translcore.cmo bytecomp/translclass.cmo ocamldoc/odoc_config.cmo 
ocamldoc/odoc_global.cmo ocamldoc/odoc_messages.cmo ocamldoc/odoc_types.cmo 
ocamldoc/odoc_misc.cmo ocamldoc/odoc_name.cmo ocamldoc/odoc_parameter.cmo 
typing/oprint.cmo typing/printtyp.cmo ocamldoc/odoc_value.cmo 
ocamldoc/odoc_class.cmo ocamldoc/odoc_exception.cmo ocamldoc/odoc_type.cmo 
ocamldoc/odoc_module.cmo ocamldoc/odoc_args.cmo ocamldoc/odoc_env.cmo 
ocamldoc/odoc_merge.cmo ocamldoc/odoc_sig.cmo ocamldoc/odoc_ast.cmo 
ocamldoc/odoc_comments_global.cmo ocamldoc/odoc_scan.cmo 
ocamldoc/odoc_search.cmo ocamldoc/odoc_cross.cmo ocamldoc/odoc_parser.cmo 
ocamldoc/odoc_lexer.cmo ocamldoc/odoc_see_lexer.cmo 
ocamldoc/odoc_text_parser.cmo ocamldoc/odoc_text_lexer.cmo 
ocamldoc/odoc_text.cmo ocamldoc/odoc_comments.cmo ocamldoc/odoc_print.cmo 
tools/depend.cmo ocamldoc/odoc_dep.cmo parsing/syntaxerr.cmo 
parsing/xparser.cmo parsing/parser.cmo parsing/lexer.cmo parsing/parse.cmo 
typing/includeclass.cmo typing/includecore.cmo typing/mtype.cmo 
typing/includemod.cmo typing/stypes.cmo typing/typeext.cmo typing/typetexp.cmo 
typing/typecore.cmo typing/typedecl.cmo typing/typeclass.cmo typing/typemod.cmo 
utils/ccomp.cmo ocamldoc/odoc_analyse.cmo ocamldoc/odoc_str.cmo 
ocamldoc/odoc_info.cmo -o ocamldoc/odoc_info.cma
tools/ocamldep.byte -pp ../ocamldoc/remove_DEBUG -modules 
ocamldoc/odoc_inherit.ml  ocamldoc/odoc_inherit.ml.depends
tools/ocamldep.byte -pp ../ocamldoc/remove_DEBUG -modules ocamldoc/odoc_test.ml 
 ocamldoc/odoc_test.ml.depends
touch otherlibs/ocamlduce/cduce_types.mli  ; if  ocamlopt -pack -g -I 
otherlibs/ocamlduce otherlibs/ocamlduce/custom.cmi 
otherlibs/ocamlduce/encodings.cmi otherlibs/ocamlduce/imap.cmi 
otherlibs/ocamlduce/state.cmi otherlibs/ocamlduce/upool.cmi 
otherlibs/ocamlduce/ns.cmi otherlibs/ocamlduce/sortedList.cmi 
otherlibs/ocamlduce/atoms.cmi otherlibs/ocamlduce/bool.cmi 
otherlibs/ocamlduce/chars.cmi otherlibs/ocamlduce/ident.cmi 
otherlibs/ocamlduce/intervals.cmi otherlibs/ocamlduce/inttbl.cmi 
otherlibs/ocamlduce/normal.cmi otherlibs/ocamlduce/pretty.cmi 
otherlibs/ocamlduce/stats.cmi otherlibs/ocamlduce/compunit.cmi 
otherlibs/ocamlduce/types.cmi otherlibs/ocamlduce/sequence.cmi 
otherlibs/ocamlduce/sample.cmi otherlibs/ocamlduce/auto_pat.cmi 
otherlibs/ocamlduce/patterns.cmi otherlibs/ocamlduce/value.cmi 
otherlibs/ocamlduce/run_dispatch.cmi otherlibs/ocamlduce/explain.cmi 
otherlibs/ocamlduce/typepat.cmi otherlibs/ocamlduce/serial.cmi -o 
otherlibs/ocamlduce/cduce_types.cmx  ; then  rm -f 
otherlibs/ocamlduce/cduce_types.mli  ; else  rm -f 
otherlibs/ocamlduce/cduce_types.mli  ; exit 1; fi
+ touch otherlibs/ocamlduce/cduce_types.mli  ; if  ocamlopt -pack -g -I 
otherlibs/ocamlduce otherlibs/ocamlduce/custom.cmi 
otherlibs/ocamlduce/encodings.cmi otherlibs/ocamlduce/imap.cmi 
otherlibs/ocamlduce/state.cmi otherlibs/ocamlduce/upool.cmi 
otherlibs/ocamlduce/ns.cmi otherlibs/ocamlduce/sortedList.cmi 
otherlibs/ocamlduce/atoms.cmi otherlibs/ocamlduce/bool.cmi 
otherlibs/ocamlduce/chars.cmi otherlibs/ocamlduce/ident.cmi 
otherlibs/ocamlduce/intervals.cmi otherlibs/ocamlduce/inttbl.cmi 
otherlibs/ocamlduce/normal.cmi otherlibs/ocamlduce/pretty.cmi 
otherlibs/ocamlduce/stats.cmi otherlibs/ocamlduce/compunit.cmi 
otherlibs/ocamlduce/types.cmi otherlibs/ocamlduce/sequence.cmi 
otherlibs/ocamlduce/sample.cmi otherlibs/ocamlduce/auto_pat.cmi 
otherlibs/ocamlduce/patterns.cmi otherlibs/ocamlduce/value.cmi 
otherlibs/ocamlduce/run_dispatch.cmi otherlibs/ocamlduce/explain.cmi 
otherlibs/ocamlduce/typepat.cmi otherlibs/ocamlduce/serial.cmi -o 
otherlibs/ocamlduce/cduce_types.cmx  ; then  rm -f 
otherlibs/ocamlduce/cduce_types.mli  ; else  rm -f 
otherlibs/ocamlduce/cduce_types.mli  ; exit 1; fi
Fatal error: exception Sys_error(otherlibs/ocamlduce/cduce_types.cmx: No such 
file or 

[Caml-list] OCaml jobs at MyLife

2010-01-05 Thread Martin Jambon
Dear fellow OCaml programmers,

Our company, MyLife, is continuing to seek OCaml programmers to expand our
team in the Silicon Valley.

We develop back-end people search technologies and the vast majority of our
code is written in Objective Caml and runs on Linux.  We love that as it
provides us with an opportunity to tackle on big challenges with great
productivity.  We are now looking for talented and passionate people to share
the fun in Mountain View, California.


The primary requirements for the job are:

- proficiency in a functional programming language and eventually OCaml

- familiarity with Linux and shell scripting

- proficiency in written English, as much of our team communications are
written (brainstorms, bug reports, etc.)

- ability to understand end-user requirements and translate them into robust
software that gets the job done

The ideal candidate will have a good nose for hunting bugs, diagnosing
performance problems, and hacking his/her way through colleagues' code.


Please contact us at ocaml-...@mylife.com if you are interested or might be
interested in the future.



Martin

___
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] Error: In the definition of t, type ('a, 'b) t should be ('b, 'a) t

2010-01-05 Thread Edgar Friendly

This error message was new to me, and I wondered what's going on and why:

# type ('a, 'b) t = [ `A | `T of ('b, 'a) t ];;
Error: In the definition of t, type ('a, 'b) t should be ('b, 'a) t

I can get unhelpful suggestions through foolishness with three type 
parameters:
# type ('a, 'b, 'c) t = [ `A | `T of ('a, 'c, 'b) t | `V of ('b, 'c, 'a) 
t];;

Error: In the definition of t, type ('a, 'b, 'c) t should be ('c, 'a, 'b) t
# type ('c, 'a, 'b) t = [ `A | `T of ('a, 'c, 'b) t | `V of ('b, 'c, 'a) 
t];;

Error: In the definition of t, type ('a, 'b, 'c) t should be ('b, 'c, 'a) t

Any explanation of what's going on?

Thanks,
E

___
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] Error: In the definition of t, type ('a, 'b) t should be ('b, 'a) t

2010-01-05 Thread Jacques Garrigue
From: Edgar Friendly thelema...@gmail.com
 This error message was new to me, and I wondered what's going on and
 why:
 
 # type ('a, 'b) t = [ `A | `T of ('b, 'a) t ];;
 Error: In the definition of t, type ('a, 'b) t should be ('b, 'a) t

Structural recursive types (objects and polymorphic variants) must be
regular. I.e., type abbreviations must always have the same
parameters.
The error message is a bit confusing, due to the way type variables
are printed  (original names are not kept), but it says that type
parameters got exchanged.

If you really want to define this type, you have to unroll it by hand:

type ('a, 'b) t = [ `A of 'a | `T of [ `A of 'b | `T of ('a,'b) t]];;

(I added an argument to `A to make the parameters meaningful.)

Jacques Garrigue



___
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