Re: [Caml-list] ocaml as editor extension language
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
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
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)
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?
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?
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?
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?
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?
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
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?
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?
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)
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
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?
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
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?
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?
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
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
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?
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
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
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
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?
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
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
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?
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
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
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
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
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