Previous week   Up   Next week
Hello,

Here is the latest Caml Weekly News, week 05 to 12 November, 2002.

1)  New release of OCamSDL
2)  OS X distribution issue
3)  Cameleon 1.2
4)  caml2html
5)  What are Classes for in O'Caml?
6)  Gettext
7)  Berkeley DB
8)  exuberant ctags for ocaml ?
9)  Camlp4 and lightweight records
10) ant 0.4

======================================================================
1)  New release of OCamSDL
----------------------------------------------------------------------
Luc Mazardo announced:

We are pleased to announce the 0.6 release of OCamlSDL.
This release provides full SDL (Simple Direct Layer) support
(mouse, joystick, cdrom, keyboard event, video and audio bindings).

Homepage: http://ocamlsdl.sf.net

Release 0.6:
  * Rewrote Sdlvideo and Sdlevent modules. Added several other modules.

======================================================================
2)  OS X distribution issue
----------------------------------------------------------------------
Stephen Harris explained:

Christopher Anand just helped pinpoint a big problem in the way I'm
packaging the OS X distribution, which is that the ocaml (toplevel)
binary is expecting ocamlrun to be wherever it was put by "make install"
(e.g. /usr/local/bin/ocamlrun).  I didn't notice of course because I
still had mine there from when I built it, but it won't work of course
for someone who doesn't have it there, which rather defeats the purpose
of the distribution :( He did "strings" on the ocaml binary and noticed
the call to ocamlrun.  I haven't had a chance to look at the source code
yet for ocaml toplevel, but just wanted to warn everybody that the OS X
distribution will need work,  and advice is welcome of course.

The CocoaTopLevel wrapper itself is uneffected by this if you download
it separately and point it to your existing installed toplevel.

======================================================================
3)  Cameleon 1.2
----------------------------------------------------------------------
Maxence Guesdon announced:

Cameleon 1.2 is available from the cameleon home page.
Quoting the Changes.txt :

 - use of lablgtk 20021031
 - add : new html parameter in Configwin, customizable with the new
   configwin_html_config utility
 - add : new command "log" on files handled by CVS
 - add : new option "file_double_click_command" in the Misc options tab
 - add : Configwin.tabbed_box
 - add : default_editor option
 - add : edit_with action, contextual menu "Edit with..." to open selected file
   with a chosen editor
 - various bug fixes

The doc has not been updated yet, sorry :-(

Thanks to the bug reporters. Some bugs are still crawling around, though
(including the core dump one!).

Suggestions and additions are always welcome.

======================================================================
4)  caml2html
----------------------------------------------------------------------
Sebastien Ailleret announced:

I'm pleased to announce the first version of caml2html. It creates
hilighted html pages from OCaml files (.ml, .mli, .mll and .mly). You
can see an example of its output here :
http://perso.wanadoo.fr/sebastien.ailleret/caml/html/overflow.mli.html

You can get caml2html from my OCaml page :
http://perso.wanadoo.fr/sebastien.ailleret/caml/

======================================================================
5)  What are Classes for in O'Caml?
----------------------------------------------------------------------
Oleg asked:

I'm curious as to what classes are for in O'Caml (in view of the fact that
it already has abstract data types) ?

Luc Maranget answered:

You'll find some detailled answers to this question in the book
``Developping Applications With Objective Caml'', Part III.

The book is available online at
http://caml.inria.fr/oreilly-book/html/index.html

Chris Hecker answered as well:

Objects and classes versus modules in Objective Caml
http://pauillac.inria.fr/~xleroy/talks/icfp99.ps.gz

======================================================================
6)  Gettext
----------------------------------------------------------------------
Yurii Rashkovskii announced:

Ladies and Gentlemen,

I've released an early version of GNU gettext binding for OCaml.

It is available at http://osdn.org.ua/~yrashk/ocamlgettext-0.0.1.tar.gz

Please note that it requires FunnelWeb and Cook to be built (URLs are
in README file) and Stew library (and ocamlfind).
And, of course, GNU gettext :-)

Also please note that since it is a very early release, it is not
well tested and have no META for ocamlfind.

Feedback is appreciated.

======================================================================
7)  Berkeley DB
----------------------------------------------------------------------
Yurii Rashkovskii announced:

Ladies and Gentlemen,

I've released an early version of Berkeley DB wrapper for OCaml.

It is available at http://osdn.org.ua/~yrashk/ocamlbdb-0.0.1.tar.gz

It requires Cook and FunnelWeb to be built (URLs are listed in README).
And, of course, Berkeley DB.

OCamlBDB provides both functional and object interface to Berkeley DB.

Since this release is very early I want to notice that it is not
well-tested and still lacks of some features (including some big
ones - locks, mpoolfile and a lot of configuration methods). Also
OCamlBDB has no META for ocamlfind yet.

I've used Berkeley DB 4.1.24 to develop OCamlBDB.

Any feedback is appreciated.

======================================================================
8)  exuberant ctags for ocaml ?
----------------------------------------------------------------------
Alan Schmitt asked and Michal Moskal answered:

> I was wondering if someone uses exuberant ctags with ocaml ...

I'm using OCaml-otags, that, with little patche, works very nice
with vi. Another patch is need to compile it with ocaml 3.05+.
You can find the patches in question in:

ftp://ftp.nest.pld.org.pl/test/SRPMS/ocaml-otags-3.04.3-2.src.rpm

(or in cvs.pld.org.pl).

======================================================================
9)  Camlp4 and lightweight records
----------------------------------------------------------------------
Nicolas Oury announced:

I don't know if it is the place for that, nor it will interest someone
but I've made up a small (80 lines) extension with camlp4 that allows
one to use lightweight records in Ocaml.

That are records that type haven't to be declared before use - like in
SML but without the typing retriction.

For example :

let test = {| a = 5; b = "hello"; c = true ; i = "world" |};;

is a valid statement.
Labels can be used any times and with different types.

One can

* retrieve the value of a field  :

 #    ##c test

----> true

* change -- functionally --  the value of fields
  let test 2 = test with {| c = false ; i = "earth" |}

* take a part of a record
let test3 = take b, i in test

* There are SML like tuples :
let tuple = {< 5 ; true ; 9 ; "hi" >}
is equivalent to a record with fields_name field_1,... field_4. Each
field can be accessed with :
@i.
For example :
@2 tuple returns    true


@i is polymorhpic in the size of the tuple.


Internally records are implemented as :
let module  A = class a
definition of the field
in new A.a, which allows a correct typing of the records and tuples.


If someone found this interesting, it can be downloaded at:

http://www.ens-lyon.fr/~noury/lw_records.tgz

(small download ~1Kb )

======================================================================
10) ant 0.4
----------------------------------------------------------------------
Achim Blumensath announced:

I'm pleased to announce the release of ant version 0.4. The archive can be
found at

  http://www-mgi.informatik.rwth-aachen.de/~blume/Download.html

ant is a typesetting system inspired by TeX. It does not aim at complete
compatibility with TeX but focuses instead on a flexible, clean, and
modular design.

ant implements most parts of TeX. New features in this release include:

  o tables
  o changing the page layout within a document
  o marks
  o references
  o rudimentary PostScript output

The main missing item is support for insertions (i.e., floats and
footnotes).

Achim

PS: Yes, I do know about Apache Ant.

======================================================================
Old cwn
----------------------------------------------------------------------

If you happen to miss a cwn, you can send me a message
(alan.schmitt@inria.fr) and I'll mail it to you, or go take a look at
the archive (http://pauillac.inria.fr/~aschmitt/cwn/). If you also wish
to receive it every week by mail, just tell me so.

======================================================================

Alan Schmitt