Radicle is a peer-to-peer stack for creating open source software together. A collaboration environment that’s designed to be:
* Offline first: all data, including issues, comments and other social artifacts is yours & lives on your machine.
* Peer-to-peer: with no central server or intermediary in control.
* Cryptographically secure: user data that is tamper-proof & unforgeable, using public key cryptography.
* Programmable: developers can program the way in which they collaborate.
* Interoperable & open: reflecting the values of the open source community.
A LISP in the spirit of Black and other colors.
Black is an extension of Scheme with a reflective construct exec-at-metalevel. It executes its argument at the metalevel where the interpreter that executes user programs is running. There, one can observe, access, and even modify the metalevel interpreter in any way. Because the metalevel interpreter determines the operational semantics of the language, Black effectively allows us to observe, access, and modify the language semantics from within the same language framework.
Replicated state machines are employed in a wide variety of applications requiring distributed coordination. Because RSMs must always adhere to particular semantic conditions, foremost determinism, rather than reprogram their semantics in every new instance, we propose a language, Radicle, which substantially simplifies the process of defining such state machines. As Radicle may be made into any RSM via eval-redefinition, it can be considered a universal replicated state machine. This mechanism also allows changing the semantics of running state machines without loss of state, and with the same consensus guarantees as provided by the underlying consensus system