The Why of Juvix: [Part 1] On the design of smart contract languages
In addition to validation and protocol development, in the past several months Cryptium
Labs has embarked upon a new project: research & development of a novel smart contract language, Juvix. Juvix is designed to address the problems that we have experienced while trying to write & deploy decentralised applications and that we observe in the ecosystem at large: the difficulty of effective verification, the ceiling of compositional complexity, the illegibility of execution costs, and the lock-in to particular backends. In order to do so, Juvix draws upon and aims to productionise a deep reservoir of prior academic research in programming language design & type theory which we believe has a high degree of applicability to these problems.
There should be a substantial bar to meet before electing to write a new language. After investigating many simpler approaches and developing distributed ledgers & smart contracts ourselves, we’ve decided that this bar, for the use-case of smart contracts on public ledgers, is met — there are many unique, fundamentally difficult problems which can be convincingly solved at the language level, but only by designing & engineering a language and
compiler stack from scratch.
This post, the first part of a two-part series, explains the background of considerations and requirements that motivated us to design a new language.
Full Article
Repository
Written by Christopher Goes, co-founder of Metastate. For feedback or questions, please do not hesitate to contact us : team@metastate.dev