- ParaSail has no global variables, so how does that work?
- how iterators, streams and for-loops are interrelated in ParaSail;
- using a single compare primitive ("=?") in ParaSail to implement "==", "!=", "<=", ">=", etc.
- ParaSail's implicit parallelism and structured synchronization;
- ParaSail private interfaces and interface namespace hierarchy;
- ParaSail's use of region-based storage management rather than object-at-a-time garbage collection;
- ParaSail's use of compile-time checks (mostly), run-time checks (goal is to never need them), and exceptions (only when complexity or race-conditions make them necessary);
- how attributes like taintedness (i.e. might this data come from a malicious source?) or physical units (e.g. meters/second, years, ...) can be "layered" onto existing types, along with appropriate pre- and postconditions, to provide additional security, safety, or correctness checking. Add-on attributes can also be associated with statements or other ParaSail constructs, such as an attribute indicating whether a given statement or operation is potentially blocking (that is, it might wait indefinitely on some queue or some other synchronization structure), or the total amount of stack space required by a given statement or operation.
This blog will follow the trials and tribulations of designing a new programming language designed to allow productive development of parallel, high-integrity (safety-critical, high-security) software systems. The language is tentatively named "ParaSail" for Parallel, Specification and Implementation Language.
Saturday, October 3, 2009
ParaSail Topics to come
The prior entries gave an overview of ParaSail. Over the next few weeks I hope to write additional entries about:
Posted by Tucker Taft at 3:37 PM
Subscribe to: Post Comments (Atom)
Post a Comment