Monday, 25 April 2006 Announcement ============ The members of the Components Team at Lawrence Livermore National Laboratory are pleased to announce our first release candidate for Babel 1.0, version 0.99.0. What's New ========== The following features have been added, or completed, in this release: + Babel has a new parser that correctly resolves ambiguous type references + The SIDL language now supports the leading dot '.' to indicate a name in the global namespace + Babel now supports FROM to rename methods when inheritance requires overloading + The UC++ binding is now the only C++ binding, and it's called C++, UC++, Cxx or UCxx + The deprecated C++ binding has been dropped + new babel-cc, babel-cxx, babel-f77, babel-f90 scripts to help beginners compile Babel generated files. + The XML dtds have been change to support new Babel/SIDL features + Better Babel parser error reporting + Better forwarding of exceptions in Python and C++ + Bug fixes issue344, issue350, issue357, issue359, issue361 + New constructor for wrapping native objects + C++ babel_cast is in the global C++ namespace in addition to being in the sidl namespace. + --exclude-external and --suppress-timestamp are now the default settings + rarray extents can be simple expressions or constants + remove throw declarations from C++ headers + C++ stub headers/source are smaller and compile faster + Simple C stubs are inline'd in the header file when the compiler supports it + Add RMI nonblocking API (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. Babel also addresses platform interoperability through its support for Remote Method Invocation (RMI), an object-oriented form of remote procedure calls (RPC). Babel RMI gives programmers the ability to write distributed programs with minimal change to their existing source. Supported Languages =================== Babel currently supports calling libraries written in C, C++, Fortran77, Fortran90, Java, or Python from drivers written in either C, C++, Fortran77, Fortran90, Python or Java. (Python support also requires the Numerical Python set of extensions at http://numpy.sourceforge.net/ ). Fortran90 requires CHASM 1.0.1 (or later) to be installed before Babel. Chasm 1.2.0 is required to use the gfortran F90 compiler. Supported Platforms =================== Linux Solaris AIX (except Python) Mac OSX (not fully supported) Caveat ====== Babel is research in progress. This is a release candidate for a production release, but it is still supported by a research effort. Babel has been used on numerous projects now. Documentation for the newest features may not be complete. We suggest checking our WWW site for our recent presentations about new features. 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 https://www.cca-forum.org/bugs/babel/, or send email to babel-bugs@cca-forum.org. $Id: ANNOUNCE 5421 2006-04-20 21:54:47Z epperly $