English

Compiling a Higher-Order Smart Contract Language to LLVM

Programming Languages 2020-08-14 v1

Abstract

Scilla is a higher-order polymorphic typed intermediate level language for implementing smart contracts. In this talk, we describe a Scilla compiler targeting LLVM, with a focus on mapping Scilla types, values, and its functional language constructs to LLVM-IR. The compiled LLVM-IR, when executed with LLVM's JIT framework, achieves a speedup of about 10x over the reference interpreter on a typical Scilla contract. This reduced latency is crucial in the setting of blockchains, where smart contracts are executed as parts of transactions, to achieve peak transactions processed per second. Experiments on the Ackermann function achieved a speedup of more than 45x. This talk abstract is aimed at both programming language researchers looking to implement an LLVM based compiler for their functional language, as well as at LLVM practitioners.

Keywords

Cite

@article{arxiv.2008.05555,
  title  = {Compiling a Higher-Order Smart Contract Language to LLVM},
  author = {Vaivaswatha Nagaraj and Jacob Johannsen and Anton Trunov and George Pîrlea and Amrit Kumar and Ilya Sergey},
  journal= {arXiv preprint arXiv:2008.05555},
  year   = {2020}
}

Comments

This is an extended talk abstract submitted to the 2020 Virtual LLVM Developers' Meeting (LLVM2020). It has been accepted as a poster presentation

R2 v1 2026-06-23T17:49:07.375Z