Files
kyn/docs/syntax.md
2025-09-30 21:29:06 +10:00

1.9 KiB

Kyn Syntax

This document details syntax of provided Kyn modules.

Call a module by writing it's name, then the arguments for the module.

Substitute the output of a module into another module's arguments by enclosing the call in (parenthases).

Access a variable by prefixing it's name with a $ dollar sign.

Input/Output

print

Prints all the arguments provided to the console.

Example: print "Hello!"

println

Prints all the arguments provided to the console, appending a newline after.

Example: println "Hello!"

input

Gets a line of input from the console.

Example: input (this does nothing but prompt the user)

Another example: let userInput = (input)

Data

let

Defines a variable to the value provided.

Example: let myVar = "Hello!"

Computations

math

Computes a mathematical expression. Supports addition (+), subtraction (-), multiplication (*), division (/), power to (^) and mod (%).

Example: math 4 * 3 + 12 / 4 - 5 ^ 3

compare

Compares two values. Supports equal (==) and inequal (!=) on all values. Supports greater than (>), greater than or equal to (>=), lesser than (<), and lesser than or equal to (<=) for numbers.

Control Flow

exit

Exits the program with a return code. If no return code or an invalid return code is provided, exits with code 0. Otherwise, exits with given code.

if

Runs a module. If the output of that module is 0 or "false", skips the code in that block. If an else block is provided after, that is running instead. Otherwise, the code inside the if block is ran.

Example:

if compare 1 == 1 {
    println "1 is the same as 1"
} else {
    println "1 is not the same as 1"
}

while

Runs a module. If the output of that module is 0 or "false", skips the code in that block. Otherwise, loops the block until the module ran is 0 or "false".

Example:

let number = 0

while compare $number <= 10 {
    number = ($number + 1)
    println $number
}