Fortress: running your whiteboard, on the JVM.
David Chase, Sun
Fortress is a new programming language, originally intended for high- performance computing, but generally applicable to the multicore world. Our aim is to allow programs expressed in a style as close to mathematical notation as possible, to effectively use multicore parallelism, for large values of "multi".
Challenges in the mapping to the JVM include:
- thread model mismatch (Fortress depends on workstealing)
- type system mismatch (Fortress does not erase its types)
- dispatch mismatch (it's multiple; we think we will compile this into visitors or decision trees as appropriate)
- transactions (nested and executed by multiple threads)
- value objects (return values, in arrays)
- clean mapping to legacy (FORTRAN) libraries
- access to FP ops carried out in different rounding modes.
- proper tail call elimination, perhaps?
Key Issues for Discussion (cooperative)
(please expand cooperatively) Talk:Fortress