A Sisal Developers' Workshop

Tuesday, Nov. 11, 7:30 PM


Proposed Agenda for a SISAL Developers' Workshop
Robert Bernecky
Snake Island Research Inc
1997-09-08

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.

  1. 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
  2. Establish a base release for OSC, the compiler, to be used as the basis for future development work.
  3. Development issues:
    1. How is work divvied up? Who does what? How do we coordinate code merging? How do we avoid duplication of effort?
    2. How to we agree to change/enhance the language/compiler?
    3. 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
    4. Array issues:
      • Empty arrays, rectangular arrays and descriptor overheads
      • One-bit Booleans considered peachy -- parallelism at word level
      • Array Coordinate transform support
  4. 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.
  5. GNU Copyleft as possible basis for development work.
  6. 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.