Link to todos? (For now, just search or look for red text).
We are creating a pure language inspired by the Kernel language and on the work described in the Collapsing Towers of Interpreters paper. There is remaing specification and verification work. This section document work remaining.
We should standardize how we represent communication within one platform process. Preferably also how we represent communication and concurrency between platform processes. This is tricky because we do not want to be rigid and tightly coupled to the platform, but we will need to have details availiable. Some users of this extensions will want an abstraction of a domain specifc address. Send message 'm to process 'p. While others will need something less general and less safe, such as Send systemcall 'c to local kernel. We want to model such communication and the crossing of component boundraries. Category theory? Session types? How do we encode it in the language? Do we preserve purity? Do we go with structured concurrency only? Which errors do we report?
We need a way to describe in place manipulation of memory locations. This is needed for constructing efficent but safe algorithms.
We need some way to request explicit pure parallelism. Do these things at the same time
if possible, etc. This extensions hould not depend on the availability of
Communication and concurrency or Address space and memory management. It should not
depend on them because it does not allow observing any such details. An example of what this
extensions should make possible is parallel variants of map
and filter
over lists.