Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Type systems for distributed data structures
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ZPL: A Machine Independent Programming Language for Parallel Computers
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools for parallel processing
Nepal - Nested Data Parallelism in Haskell
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
Single Assignment C: efficient support for high-level array operations in a functional setting
Journal of Functional Programming
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Data parallel Haskell: a status report
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Constrained types for object-oriented languages
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Generic programming with dependent types
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
Parameterised notions of computation
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Hi-index | 0.00 |
Locality-aware algorithms over distributed arrays can be very difficult to write. Yet such algorithms are becoming more and more important as desktop machines boast more and more processors. This paper shows how a dependently-typed programming language can aid in the development of these algorithms and statically ensure that every well-typed program will only ever access local data. Such static guarantees can help catch programming errors early on in the development cycle and maximise the potential speedup that multicore machines offer. At the same time, the functional specification of effects presented here facilitates the testing of and reasoning about algorithms that manipulate distributed arrays.