From: Alan Schmitt <alan.schmitt@inria.fr> To: lwn@lwn.net Subject: Attn: Development Editor, Latest Caml Weekly News Date: Tue, 30 Apr 2002 17:39:08 +0200 Hello, Here is the latest Caml Weekly News, weeks 23 to 30 april, 2002. 1) Proof Assistant PhoX 2) camlidl - finalizing cows without COM! 3) lablgtkmathview released 4) matlab interfacing 5) Specialized functors 6) Project Proposals 7) OCaml IDEs for beginners? ====================================================================== 1) Proof Assistant PhoX ---------------------------------------------------------------------- Christophe Raffalli announced: The new version 0.8 of the Proof Assistant PhoX (written in OCaml) is available. Changes include: - Better documentation that should allow people to really use it ! - Tutorial (in french :-() to learn the system or to teach mathematics - Windows version available Come and visit http://www.lama.univ-savoie.fr/~RAFFALLI/phox.html ====================================================================== 2) camlidl - finalizing cows without COM! ---------------------------------------------------------------------- Xavier Leroy answered and announced: > Hi, > > I have just started hacking in camlidl and for now had a really pleasant > experience. > > However I really can't find out how to create a finalized object without > going into COM interfaces. > > Say my underlying C library for manipulating ..... hmmm.. cows has a > function that creates and references a new cow, and a function that is used > to de-reference the cows when they no longer are live: > > typedef int cow; > cow createAndReferenceCow(void); > void freeCow(cow); > > Now, when the OCaml structures for some reason decide to garbage collect my > cow the finalized object should call freeCow...... I have done this a bunch > of times without the idl interface, but have no clue how to specify this in > an idl file. Help!!! There's a new release of CamlIDL at http://caml.inria.fr/camlidl/ that supports a "finalize" attribute to do just this, e.g. typedef [abstract,finalize(freeCow)] int cow; The release also fixes some minor bugs with error reporting in presence of import files, and with "const" qualifiers. (Thanks for Dmitry Bely for his extensive testing and bug hunting!) ====================================================================== 3) lablgtkmathview released ---------------------------------------------------------------------- Claudio Sacerdoti Coen announced: Hi Ocamlers! I am proud to announce the release of lablgtkmathview version 0.3.0. lablgtkmathview is a lablgtk binding to GtkMathView, a fully compliant widget to render MathML documents and print them to PostScript. GtkMathView is based on gdome2. Hence lablgtkmathview input are gdome2 (alias gmetadom) DOM trees, which can also be produced on-the-fly using gdome2-xslt to apply XSLT stylesheets. lablgtkmathview: http://www.cs.unibo.it/helm/mml-widget/index.html gmetadom: http://sourceforge.net/projects/gmetadom/ ====================================================================== 4) matlab interfacing ---------------------------------------------------------------------- Maurice Brémond answered and announced: >Does anyone knows if there is a ocmal interface to call matlab scripts ? I have written an interface to Matlab API in order to write Ocaml program (Ocaml 'MEX-files') for Matlab. Matlab standard Mex API provides a callback facility to Matlab functions and scripts. There is some extensions with Camlp4 to simplify the registration to Matlab of Caml functions and a Camlp4 quotation to write 'Matlab like' expressions. You can find it here : ftp://spike.cst.cnes.fr/pub/bremond/ocamlmex/ocamlmex.tar.gz In the hope it can be useful ====================================================================== 5) Specialized functors ---------------------------------------------------------------------- Malc announced: Hi, Here http://algol.prosalg.no/~malc/code/specfun.tar.gz you can find small OCaml 3.04 patch to allow functor specialization. Feedback is welcome. ====================================================================== 6) Project Proposals ---------------------------------------------------------------------- Xavier Leroy explained: Some answers for Diego's questions about the new "Project proposals" section of the Caml Hump: - Nature of the proposed work: I think everything goes, from short projects (a few modules) to more ambitious, long-term developments (interfaces with large libraries, design and implementation of complete frameworks, etc). Still, it's better if the project is relatively self-contained and can be described relatively precisely. E.g. "implementing the TLS protocol" is fine, but "design and implement a new protocol for authentication and confidentiality over the Web" is perhaps too imprecise (and too ambitious :-). - Who can make proposals and how they are selected: everyone is welcome to make proposals, either on this list or by mailing hump@pauillac.inria.fr. Maxence Guesdon maintains the Humps, and asks us (the Caml team) if there are questions on the appropriateness of a topic. - How to make a proposal: a one-liner plus a link to relevant documentation or specification is fine, e.g. "a library to handle MIME encoding and mailbox parsing" with a link to the relevant RFC. If you wish to provide more details, you're most welcome to write a more complete description on a Web page, and send us the URL. - Should we include links to projects already in progress (e.g. Bedouin): why not, if the organizers of these projects wish to (maybe they have enough volunteers already). ====================================================================== 7) OCaml IDEs for beginners? ---------------------------------------------------------------------- Benjamin Pierce asked: Are there any programming environments out there for OCaml that are especially well suited to beginning programmers? At the University of Pennsylvania, we teach our intro programming course for CS majors in OCaml (and later Java). At the moment, we are using Emacs (with tuareg mode) as the "programming environment," but we're not very happy with it -- there's too much (dangerous) power, and all the control-F stuff is unintuitive for kids that have been raised on MS Word. Teaching programming to beginners is hard enough without turning editing into a big deal. One obvious improvement would be to build an Emacs mode that hides almost all of its power and offers Word-like mouse- and keybindings. This would be pretty easy. But even better would be a *real* IDE for beginners. (After all, the Scheme community has the very wonderful DrScheme environment...) Is there one? Or, if not, would there be interest in the community in creating one? Then Michel Schinz answered: For this part (at least for the Windows bindings), you could already use CUA mode, which can be found there: http://www.cua.dk/cua.html And Nicolas Cannasse also answered: That will be one part of my summer work for Lexifi (member of OCaml consortium). That list will be informed of further advance. ====================================================================== Alan Schmitt -- The hacker: someone who figured things out and made something cool happen.