Preliminary Thoughts on Introducing Structs to SIDL/Babel: White Paper
In the past 6 months, there has been increased interest in adding something analogous to C structs to the SIDL language and the Babel language interoperability tool [2, 6]. In particular, Rob Armstrong, of the Common Component Architecture [4], said the lack of structs ''is an oft-cited reason that people can't use Babel.'' Because the interest is high and lack of structs is a barrier to Babel adoption, we must carefully consider the current work around, the motivations for structs, the implications of adding structs, and the alternatives for structs in SIDL/Babel. This document provides the background necessary for a discussion of structs in SIDL/Babel. For the purposes of this document, I am going to call the potential new language feature a SIDL struct. The SIDL struct is analogous to a C struct, a Pascal record, or a Fortran 90 (F90) derived data type. It is a collection of data with no methods or behavior associated with it. Each element of the collection has a name and a type. SIDL structs allow for data abstraction, but they do not provide data hiding. All data is public in a SIDL struct.
- Research Organization:
- Lawrence Livermore National Lab., Livermore, CA (US)
- Sponsoring Organization:
- US Department of Energy (US)
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 15009763
- Report Number(s):
- UCRL-TR-201771
- Country of Publication:
- United States
- Language:
- English
Similar Records
Babel Fortran 2003 Binding for Structured Data Types
Toward the Automated Generation of Components from Existing Source Code