English

Implementing distributed {\lambda}-calculus interpreter

Programming Languages 2018-02-20 v1

Abstract

This paper describes how one can implement distributed {\lambda}-calculus interpreter from scratch. At first, we describe how to implement a monadic parser, than the Krivine Machine is introduced for the interpretation part and as for distribution, the actor model is used. In this work we are not providing general solution for parallelism, but we consider particular patterns, which always can be parallelized. As a result, the basic extensible implementation of call-by-name distributed machine is introduced and prototype is presented. We achieved computation speed improvement in some cases, but efficient distributed version is not achieved, problems are discussed in evaluation section. This work provides a foundation for further research, completing the implementation it is possible to add concurrency for non-determinism, improve the interpreter using call-by-need semantic or study optimal auto parallelization to generalize what could be done efficiently in parallel.

Keywords

Cite

@article{arxiv.1802.06571,
  title  = {Implementing distributed {\lambda}-calculus interpreter},
  author = {Alexandr Basov and Daniel de Carvalho and Manuel Mazzara},
  journal= {arXiv preprint arXiv:1802.06571},
  year   = {2018}
}

Comments

8 pages, 4 tables, 1 figure, proceeding AINA-2018 workshops

R2 v1 2026-06-23T00:26:12.949Z