Язык на этапе разработки, на текущий момент данная страница даёт лишь теоретическую информацию. После первого релиза будут добавлены ресурсы на включение языка в Ваш проект.
Spin Lang - язык описания динамических структур данных для ЭВМ со Spin-архитектурой. Ввиду широкого распространения архитектуры фон Неймана, ядро языка реализуется на базе классических языков программирования.
Spin Lang не позволяет описывать исполняемый код - не является языком программирования. Вместо этого предоставляет возможность описания иерархии взаимозависимых элементов, чего может быть достаточно для написания приложений в полностью декларативном стиле.
Синтаксис языка позволяет описывать приложения в виде иерархии элементов, значения которых могут быть представлены в виде динамически вычисляемых формул зависимости от других элементов. Элементы иерархии называются Spin-субъектами, особенностью которых является то, что их значения указываются исключительно в теле субъекта и не могут быть изменены извне.
Ядро базируются на ленивых вычислениях, т.е. вычисления происходят при изменении значений субъектов, от которых зависят другие субъекты, имеющие влияние на внешний мир. Все Spin-структуры данных вложены в абстрактный корневой сетевой субъект иерархии, что позволяет рассматривать все работающие в сети Spin-структуры, как единый кластер взаимозависимых данных.
Синтаксис языка определяет формат описания типов данных (число, текст, множество и т.д.) и их взаимодействия с помощью операторов (+, -, *, / и т.д.). Операторы в Spin работают не только с числами, а со всеми поддерживаемыми типами. В Spin операторы не имеют приоритетов и вычисляются слева направо. Для изменения порядка операций используются скобки. Например, в отличие от обычной арифметики,