WEDNESDAY, 29 October 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.8. What's New ========== The following features have been added, or completed, in this release: + First official release with native F90 array pointer support with array descrptor support provided by CHASM 1.0.1. + Improved behavior with version control systems. + array support increased from 4-D to 7-D + added create1dInit(int32_t len, T* data) to create a 1-D array an initialize it with copies of data. + refactored C++ array implementation + changed implementation of get/set for arrays of fixed size types (i.e., not strings or objects) to be faster and more easily inlined. + added operator[] to be eqivalent to get(i) (for use in 1-D only) + added STL input iterators to C++ arrays (for use in 1-D only) + added info about --vpath option to --help output + added option --exclude-external (short version -E) which causes code to be generated only for the symbols specified on the command line (no code is generated for symbols on which the user symbols depend) + added option --language-subdir (short version -l) which causes all generated files to be stored in a language-dependent subdirectory; if the --generate-subdirs option is also used, the language directory will be at the bottom of the hierarchy. + added option --hide-glue (short version -u) which can be used to generate all non-impl files in a glue/ subdirectory. + modified generated file names to use only short symbol names when --generate-subdirs and --exclude-external are used together (only for C++ and Fortran) (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++, Fortran77, Fortran90, 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 to be installed before Babel. Supported Platforms =================== Linux Solaris AIX (except Python) (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.8.txt 881 2003-10-28 23:48:21Z epperly $