Strong static typed, pure functional programming (FP) has a lot to offer in terms of software reliability and performance. FP also provides a strong foundation for improved parallelism and concurrency support. However FP has a well-deserved reputation for being difficult to learn, and it is yet to deliver the promises of easy parallelism and concurrency.
The Plasma Programming Language is a new language that aims to address these problems. Plasma is a mix of declarative and imperative programming and aims to be familiar and easy to learn for most people while providing the safety guarantees of strong static typing and pure functional semantics. Plasma will also support parallel and concurrent programming via a mix of concurrency abstractions (queues, mvars etc), and deterministic and automatic parallelism.
The project is in its infancy and is not useful. However Paul hopes to share his vision for Plasma's future.
Dr Paul Bone is a programming language implementer. His interests include declarative programming, parallelism and concurrency and language runtime systems. Paul works on the Mercury and Plasma programming languages.
This is the second time I have given a presentation about Plasma. This presentation is based heavily on the presentation I gave at Compose :: Melbourne it has been updated based on the project's progress and new information about the type system. The earlier presentation was recorded and a video is available.