Hello
Here is the latest Caml Weekly News, for the week of 16 to 23 December, 2003.
As I am travelling tomorrow, this edition is out a day early. Merry Christmas to everyone.
*** ANNOUNCE: SWIG 1.3.20 *** http://www.swig.org December 17, 2003 We're pleased to announce SWIG 1.3.20, the latest installment in the SWIG development effort. SWIG-1.3.20 includes a number of bug fixes and large number of enhancements throughout. What is SWIG? ------------- SWIG is a software development tool that reads C/C++ header files and generates the wrapper code needed to make C and C++ code accessible from other languages including Perl, Python, Tcl, Ruby, PHP, Java, Guile, Mzscheme, Ocaml, Chicken Scheme, and C#. Major applications of SWIG include generation of scripting language extension modules, rapid prototyping, testing, and user interface development for large C/C++ systems. Availability: ------------- The release is available for download on Sourceforge at http://prdownloads.sourceforge.net/swig/swig-1.3.20.tar.gz Within the next day, a Windows version will also be made available at http://prdownloads.sourceforge.net/swig/swigwin-1.3.20.zip Release numbers --------------- With SWIG1.3, we are adopting an odd/even version numbering scheme for SWIG. Odd version numbers (1.3, 1.5, 1.7, etc...) are considered to be development releases. Even numbers (1.4,1.6,1.8) are stable releases. The current 1.3 effort is working to produce a stable 2.0 release. A stable 2.0 release will not be made until it can accompanied by fully updated documentation. In the meantime, we will continue to make periodic 1.3.x releases. We need your help! ------------------ Even if you are perfectly happy with SWIG1.1, we can still use your feedback. First, we like to know about compilation problems and other issues concerning the building of SWIG. Second, if SWIG1.3 is unable to compile your old interface files, we would like to get information about the features you are using. This information will help us find bugs in the SWIG1.3 release, develop techniques for supporting backwards compatibility, and write documentation that addresses specific issues related to migrating from SWIG1.1 to SWIG1.3. We are also looking for volunteers who would like to work on various aspects of SWIG development. SWIG is an unfunded project that would not exist without volunteers. We are also looking for the developers of other SWIG language modules. If you have developed a SWIG module and would like to see it incorporated into the new release, please contact us to obtain SWIG-CVS access. We are also more than willing to help port your module from SWIG1.1 to SWIG1.3. Please send email to beazley@cs.uchicago.edu for further information. Please report problems with this release to swig-dev@cs.uchicago.edu.
I am pleased to announce the second alpha release of ChartPak, an advanced Web graphics engine. From the README: The primary goal of this project is to provide an easy-to-use library for dynamically generating statistical and financial charts for the Web. It will include a wide variety of common chart types (pie charts, bar charts, etc.), and may eventually provide support for more specialized types of graphics. For downloads, documentation, and a live demo, please visit: http://havenrock.com/software/chartpak/ As always, comments, questions, and bug reports are welcome!
I've been working on a patch to automake to support packages with Caml code. Current features include compilation of programs and libraries, possibly with mixed Caml and C code, automatic dependency generation, and both bytecode and native code compilation. To get an idea, here is a sample Makefile.am: CAML_INCLUDES = -I ../ -pp "camlp4o pa_extend.cmo" CAML_LDADD = unix.cma bin_MLPROGRAMS = myprog lib_MLLIBRARIES = mylib.cma myprog_SOURCES = myprog.mli myprog.ml myprog_c.c mylib_cma_SOURCES = mylib1.ml mylib2.ml mylib_cma_LIBADD = otherlib.cma This defines a program and a library to be built. Typing "make all" will build myprog and mylib.cma. Typing "make opt" will build myprog.opt and mylib.cmxa. The CAML_INCLUDES variable applies the -I flag and an invocation of Camlp4 to all targets. The CAML_LDADD links in unix.cma with bytecode targets, unix.cmxa with native code. Also note that myprog includes an interface file myprog.mli that is compiled to myprog.cmi, but of course excluded from the link. The mylib.cma library also links in otherlib.cma (or otherlib.cmxa). The main things left to do are: * install support (I plan to use ocamlfind) * m4 macros to ease searching for Caml libraries on the system * support for more tools such as ocamllex/ocamlyacc (you _can_ do this manually now, of course) * improved integration with C A little page and download are at http://www.lemurz.org/projects/autocaml/ Your comments and suggestions are appreciated.Stefano Zacchiroli said:
You plan to use ocamlfind only at install time, right? Why not supporting it also at compile time? I'm thinking about something like: CAML_PACKAGES = unix pcre Surely you can do the same using yours CAML_LDADD in conjunction with "ocamlfind query", but it will be harder to use and less intuitive. It shouldn't be a major change, should it? Thanks for your work from an ocaml user that has fought a lot with automake in the past :-(
Here is a quick trick to help you read this CWN if you are viewing it using vim (version 6 or greater).
:set foldmethod=expr
:set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1
zM
If you know of a better way, please let me know.
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.