Tuesday, 14 January 2003

Announcement
============
  The members of the Components Team at Lawrence Livermore
National Laboratory <components@llnl.gov> are pleased to
announce the beta release of Babel, version 0.8.0.

What's New
==========
  The following features have been added, or completed, in
this major release:

  + Completed Phase I FORTRAN 90 support (tested with Portland Group 
    compiler on Linux).
  + Added SIDL backend.  This allows you to generate SIDL from SIDL or
    SIDL from XML using the new --text=sidl option.
  + Deprecated the --xml option in favor of using --text=xml. 
  + Added new Java interfaces to make adding new backends easier.
  + Added IOR version and class name to the IOR.  Made them accessible
    from every object via the new getClassInfo() method in SIDL.BaseClass.
  + Added support for reentrant and unversioned packages (alpha version).
    Packages must be declared "final" now to make them non-reentrant.
  + Added --vpath option to Babel to tell it an alternative directory
    to search for Impl files.
  + Added #line directives in C & C++ impl files to make debugging easier
    (thanks to Rob Armstrong & Ben Allan from SNL).
  + Changed runtime library support.  It can be configured, compiled and 
    distributed separately from the rest of Babel.
  + Added warning message for long method names (i.e., > 31 characters) 
    that will result in name mangling, which is currently provided only
    in F90.
  + Changed regression tests to now be executed by Gauntlet.

Bugs Fixes (taken from http://www-casc.llnl.gov/bugs)
=====================================================
  277 Rebuilds babel.jar out of the box
  315 Allow Re-entrant packages in SIDL
  334 Ordering issue on command line
  408 CCA example: circumvent or provide alternative when no F77
  432 Package names with "dots" can squeak by parser
  446 Fortran subroutine names too long for Absoft compiler
  463 babel --version results in an exception traceback
  468 reusable configure results
  474 rfe: c++ binding more ISO conformant
  489 Disabling languages not fully supported in Makefile.am

Backward Compatibility Issues
=============================
  + Method names in SIDL.BaseInterface have been shortened (e.g., 
    addReference -> addRef, deleteReference -> deleteRef, etc.)
  + XML DTD has minor changes
  + SIDL grammar has new syntax for specifying and declaring versions
    import x.y.z version 0.1.2.3;
    require x.y.z.a version 0.1.2.3;

    package Whatever version 0.1.2.3 {
    }
  + ClassInfo & ClassInfoI added to sidl.sidl to provide access to
    class name & IOR version
  + --xml option is being deprecated; please start using --text=xml

(Also refer to the CHANGES file for more details.)

What Babel Is
=============
  Babel is designed to address problems of language 
interoperability, particularly in scientific/engineering
applications.  At the simplest level, Babel generates glue 
code so that libraries written in one programming language 
are callable from other programming languages.  Babel
generates this glue code from an interface description
written in SIDL, our Scientific Interface Definition 
Language.  Babel supports full Object-Oriented features
and exception handling even in non-OO languages such as C
or Fortran77.


Supported Languages
===================
  Babel currently supports calling libraries written in 
C, C++, F77, or Python from drivers written in either C, 
C++, F77, Python or Java.  (Python support also requires 
the Numerical Python set of extensions at 
http://numpy.sourceforge.net/ )


Supported Platforms
===================
Linux 
Solaris

(More expected in next few months.)

Broken Platforms (hopefully to be resurrected)
==============================================
Cygwin


Caveat
======
  Babel is research in progress.  This is a beta release 
looking for more friendly users and now some power users.  
Babel has been used on a few real projects now, there
are still too few examples, but the documentation is 
improving.


Availability
============
  The software is available for free download at
	http://www.llnl.gov/CASC/components


User Resources
==============
  Two email lists have been set up for the Babel community:

	babel-users@llnl.gov  (unmoderated discussions)
	babel-announce@llnl.gov (announcements only)

To subscribe to one or both of these email lists, send
email to <majordomo@lists.llnl.gov> with the text
"subscribe babel-announce", "subscribe babel-users",
or both (one per line).  


Contacting the Authors
======================
  If you have any questions or concerns with the installation 
process or usage of Babel, feel free to contact the project team 
at components@llnl.gov.  To report bugs or suggest feature 
enhancements, please submit a report in the bug database at 
http://www-casc.llnl.gov/bugs/ .

$Id: ANNOUNCE-0.8.0.txt 788 2003-04-07 17:06:12Z epperly $