Tuesday, 14 January 2003 Announcement ============ The members of the Components Team at Lawrence Livermore National Laboratory 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 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 $