Ambrož Bizjak (2013) The NCD Programming Language. EngD thesis.
Abstract
We have developed a new programming language, called NCD. The language is asynchronous and event-driven by design, meaning that multiple pieces of code can execute concurrently, while still bound to a single kernel thread. This asynchronous nature, together with the language's defining feature, statement-triggered backtracking, allows for elegant solutions to many programming problems which require a continuously running program that is responding to various kinds of events. It is especially suitable for problems where certain events are expected to automatically roll-back the execution to an earlier state and continue from there when appropriate. The language was originally intended to be used solely for expressing the network configuration of Linux systems in a simple and portable, but powerful and extensible, manner. However, as the potential of its features has been recognized, the language has been extended multiple times to make it more useful for solving a broader range of problems.
Actions (login required)