The SISAL language has proven to be an effective tool for writing
efficient parallel programs in a functional style; it has also proven
to be valuable as an intermediate language for compiling parallel languages.
However, SISAL needs more work to make it a practical and more efficient
tool in those arenas. Furthermore, funding cuts have placed SISAL's
future at risk, by halting the research programs that created SISAL.
This workshop is intended to address this problem by initiating
a grassroots SISAL Language Project. A preliminary agenda,
shamelessly reflecting my own wants for efficient cross-compilation
of APL, is given below. We welcome anyone to attend who has an
interest in working on SISAL development or who has an interest
in efficient code generation for parallel systems. We also welcome
additions to the agenda.
- Establish a base definition of SISAL, the language.
Language design issues:
- character set: 128- vs 256-element ascii, Unicode
- Case folding of identifiers considered archaic and a
mess for cross-compilers that must support dual case identifiers.
- Let X := X -- feature or bug?
- Rectangular arrays vs vectors of vectors; empty arrays.
- absence of "value error"
- leaf-to-root ordering requirement for functions
- Establish a base release for OSC, the compiler, to be used
as the basis for future development work.
- Development issues:
- How is work divvied up? Who does what? How do we
coordinate code merging? How do we avoid duplication of effort?
- How to we agree to change/enhance the language/compiler?
- How do we perform multi-platform support?
Issues:
- Conditional compilation (#ifdef, #ifndef considered nightmares)
- factoring target machine characteristics (IEEE floats,
wordsize, etc) apart from operating system characteristics
- Array issues:
- Empty arrays, rectangular arrays and descriptor overheads
- One-bit Booleans considered peachy -- parallelism at word level
- Array Coordinate transform support
- Presentation (by Pat Miller?) on the structure and internals
of OSC, so that would-be tinkerers are not left to wander in the desert
for longer than need be.
- GNU Copyleft as possible basis for development work.
- What do we do next?
For further information about the Sisal Language, see the
Sisal Project web pages.
For further information on this workshop, contact
Robert Bernecky.