DeadLetter CL Syntax
Caveat: This is a continuously evolving spec and will change as required.
Conversational Language is a general-purpose interpretive object language. Conceived by DeadLetter to be agile, easy to understand but above all, fast.
DeadCL uses two methods within it's Syntax, Fixed (those explained below) &
Meaning Based (MBS), this combination enables developers to have the freedom to build their own program logic should they choose.
Preprocessor
Used to ensured objects are included, before executing the Conversation.Learn more (Preprocessor)
* | Required to load (will always try trusted files first then local) before executing next action. |
---|---|
dld.keyset | Prompt for Author key evaluation |
- - | Connect two statements |
_imprt | Used to import information |
CALL - | Call-after function, useful for interpretation |
$POST | Used to set the DeadLetter post address in a URL, should always be followed by '@' td> |
Substitutions
Used to replace 'bulky' attributes and allow fast replacement or alteration at scale.Learn more (Substitutions)
@ | Substitution for a fully qualified domain name (FQDN) |
---|---|
@ID_ | Substitution for DeadLetter's fully qualified domain name (FQDN) |
$_ word | Substitution for variable object(s). |
word* | When placed after a word it defines that every value shall be treated as equal (i.e fee & fees) |
(' ') | The contents is a deadID address, and can be access as an offical DeadLetter resource, by name rather than a fully qualified address |
Do-ID: | Sets the words (spaces recorded as _ underscores) after the : as your DeadLetter Offical ID |
[email protected] | Common qualified address, this is used to define the root address (generally reserved for Author Keys) |
> | Leading into, or to connect natural language |
= | Equals |
.GTO | The value is greater than 'x' |
.LTO | The value is less than 'x' |
Expressions
Expressions are used to aid object interpretation and help denote variables and constants.Learn more (Expressions)
{ | Contents treated as authoritative, largely reserved for inputs & output strings but not exclusive. |
---|---|
? | Request object or action |
^ | Root command |
// | Used to link a qualified address with a command |
{!important} | Object(s) are important |
' ' | object contained is treated as {!important} |
trusted_Cnvrstn | Explicit approval statement for linked object |
denied_Cnvrstn | Explicit denial statement for linked object |
[email protected] | Denial statement any object resource not explicitly approved |
/recall | Recall statement |
/RW | Rewrite an Object, variable statement |
_VAL | Sets value of object |
bnd | change status of an object(s) |
_all | All recursive mentions or actions, where permitted |
-L | Local object, unsigned by DeadLetter |
-R | Remote object, Trusted and signed by DeadLetter |
^disable_all | When inserted into an Author Key it disables all root commands for connected Conversations |
.PLL | Used to retrieve, or pull object(s) |
.DRP | Used to remove/discard or drop object(s) |
.LST | Used to list object(s) requested, when the execution order is important |
.OVRIDE | Used to override an existing object state/interpretation |
C [ ] | Indicates objects contained can be treated as fluid for recursive interpretations |
---|---|
C_impress | Prompt for interpretation of object(s), useful to create/manage abstract information |
C_var( ) | Contents between the parentheses is a variable object (string) |
C#{ } | Tokenise object(s) |
inpr_ | Interpretable object comes after |
var_ | List object variables for following statement |
var( ) | Contents between the parenthesis is a variable object (string) |
C_inpr( ) | Interpretable output will post between the parenthesis |
C_FLUSH | Force an object flush |
C_PULL | Recall interpretable output |
C_POST | Post output for isolated interpretation |
A: | Defines Array |
---|---|
OB | Defines object |
-N | Object name follows, generally object names begin with an underscore |
CLASS_ | Set object class |
RUN_ | Executes multiple object strings as one, provided they are authoritative (contained in { }) |
RECORD_ | Allows for alteration of Object writes (not required to write an object) |
POST_ | Allows for alteration of Object Posting (not required to post an object) |
DETECT_STATE | Detect state of objects, in class |
RECORD_STATE | Records object state |
HOLD_STATE | Holds object state |
WING_STATE | Creates a wing (sub-class) of an object(s) | OB [ ] | Defines, value of object contained |
OB_{ ' ' } | Defines name for an object class |
OB -- | Object statement follows |
O_POST | Post object |
Functions
Used to simplify actions, generally not present within a Conversation file.Learn more (Functions)
, | Used as a separator |
---|---|
; | Separates a KC from its sub-routine and action (within a Conversation) |
; | Separates a KC from associated object(s) with Libraries |
$_ | Key Command function attribute, often used for substitution |
Parcel Specific
When using Parcel you'll need to understand how to use deadCL's Parcel commands.PARCEL- | Used to inform When PARCEL endpoints or parameters are present |
---|---|
G | Generate a Parcel object |
C | Indicates CHAD is Parcel mode in use |
A | Indicates Arnold is Parcel mode in use |
H | Header parameters comes next |
P | Path parameters comes next |
Q | Query string parameters comes next |
B | Body parameters comes next |
F | Fixed Value comes next |
QV_ | Parcel Query string parameter object Value |
PV_ | Parcel Path parameter object Value |
RV_ | Parcel Request body parameters object Value |
Auth | Authentication header parameters |
Basic Commands
When entered at your input address CL will respond accordingly.^RUN | Your connected Conversation will execute immediately, provided all the required information is present |
---|---|
^STOP | Stop all actions being performed |
^FLUSH | Force reload of local Conversation file only |
Time
Specific measurements, provided by TIME_UNITS_2019 Library, when included.T.S | denotes second(s) |
---|---|
T.M | denotes minute(s) |
T.H | denotes hour(s) |
T.D | denotes day(s) |
T.W | denotes week(s) |
T.CM | denotes month(s) |
T.Y | denotes year(s) |
Terms
deadID | Publicly accessible URL's to access CL resources |
---|---|
CL | Conversational Language |
AK | Author Key |
KC | Key Command - primary executables in a Conversation |
SOR | Secondary Object Resources |
Conversation health check | Process of evaluating if a Conversation contains errors |
Live-patching | Process of 'patching' poor code when detected for the Author |
Technical Advisor | An individual certified to provide technical support by DeadLetter |