Idaho

Idaho is the Mesham runtime library

Introduction
Idaho is the name of the reengineered Mesham runtime library. We have always given parts of the language different nicknames and Oubliette is the name of the reengineered compiler that requires Idaho. The runtime library is used by a compiled executable whilst it is running and, apart from providing much of the lower level language functionality such as memory allocation, remote memory (communication) management and timing, it also provides the native functions which much of the standard function library requires.

We have designed the system in this manner such that platform specific behaviour can be contained within this library and the intention will be that a version of the library will exist for multiple platforms. Secondly by modifying the library it is possible to tune how the Mesham executables will run, such as changing the garbage collection strategy.

Abstracting communication
All physical parallelism, including communication and process placement, is handled by the lowest level communication layer in the RTL. By changing this layer then we can support and optimise for multiple technologies. Implementations of this layer currently exist which support process based (MPI) parallelism and thread based (pthreads) parallelism. Currently this is delivered via downloading the appropriate runtime library files.

API
The set of functions which Idaho provides can be viewed in the mesham.h header file. It is intended to release the source code when it is more mature.