This paper presents the design of the Om language and an implementation of its type checker and bytecode extractor to Erlang. Om is an intermediate language based on a pure type system with the infinite number of universes, so it is known to be consistent in dependent type theory. The type checker can be switched between predicative and impredicative hierarchies of universes. The need to natively support Erlang platform dictated the look and feel of this work. This system is expected to be usable as trusted core for certified applications which could be run inside Erlang virtual machines LING and BEAM. The syntax is compatible with Morte language and supports its base library, however, it extends the indexed universes. We show how to program in this environment and link with Erlang inductive and coinductive free structures. A very basic prelude library is shipped as a part of the work. We briefly describe the top-level language which compiles to pure type system core. As the results, we will show lambda evaluation performance on BEAM virtual machine.
The systems engineering of consistent pure language with effect type system for certified applications and higher languages
Maksym Sokhatskyi, Pavlo Maslianko; The systems engineering of consistent pure language with effect type system for certified applications and higher languages. AIP Conf. Proc. 27 July 2018; 1982 (1): 020033. https://doi.org/10.1063/1.5045439
Download citation file: