Subjekt Specification
This is the specification of the Subjekt interface definition language, it includes the theoritical definition of the lanuage as well as usage examples per topic.
Conventions used in this section
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. This specification makes use of the Augmented Backus-Naur Form (ABNF) RFC 5234 notation, including the core rules defined here.
Please report technical errors and ambiguities in this specification to the Subjekt GitHub repository. This specification is open source; contributions are welcome.
Content
📄️ The Subjekt Model
The Subjekt model describes the Subjekt's semantic model and the files used to create it. Subjekt models are used to describe data structures, smart contracts, services, and subjects.
🗃️ Types
3 items
🗃️ Traits
5 items
📄️ Subjekt IDL
Subjekt models are defined using either the Subjekt interface definition language (IDL) or the JSON abstract syntax tree (AST). This document defines the syntax and ABNF grammar for defining models using the Subjekt IDL.
📄️ JSON AST
Models written using the Subjekt IDL have an isomorphic JSON abstract syntax tree (AST) representation that can be used to more easily integrate Subjekt into languages and tools that do not have a Subjekt IDL parser.