Programming language design ideas


Posted by Thomas Sutton on December 18, 2006

This post will contain some of my musings on programming language design. At some point, my first programming language will be based on these ideas.

Transactions are an interesting solution to maintaining the consistency of shared memory concurrent systems, while the ?-calculus seems to be the bee’s knees for distributed systems and the join calculus looks pretty cool for concurrency all round. I’m sure it’s been done, but an extension of the join calculus to work over communication channels such as are used in the ?-calculus might be an interesting and useful foundation for a language.

Automatic parallelisation and vectorisation of code will be an interesting problem, particularly for areas like statistics and numerical analysis which are currently served by languages like R. Combining a real type-system with automatic vectorisation of folds and maps would, I think, make a more elegant and probably-not-slower solution to the problem, though it might lessen the ability to do exploratory programming.

This post was published on December 18, 2006 and last modified on January 26, 2024. It is tagged with: .