mirror of
https://github.com/Noratrieb/dilaria.git
synced 2026-01-14 17:35:03 +01:00
No description
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
| test.sl | ||
_ is a small embeddable scripting language
_ is inspired by Javascript, Lox, Lua, Python, Rust and more
Reference
Overview
Declaring variables using let
let hello = 4
Semicolons are not needed
let test = 5
let another = 4
The language has strings, numbers, arrays, objects and null and booleans
let string = "hallo"
let number = 4
let array = []
let object = {}
let _null = null
let bool = true
You access properties on objects using .
let obj = {}
obj.hi = "hi!"
Functions are first class
let obj = {}
obj.hello = helloFn
obj.hello()
Functions are declared using fn
fn greet(name) {
return "hello, " + name
}
Comments using #
# hi!
Multiline comments using ## until ##
##
hi
comment
##
There are many native functions, that can easily be customized and added/removed by the host
# rocket game
turnRocketLeft(29)
turnRocketRight(32)
# chat bot
message.respond("hi")
# dangerous http requests
fn callback(html) {
print(html)
}
fetch("https://github.com/Nilstrieb", callback);
Basic arithmetic and boolean logic is available
let a = 5
let b = 5
print(a + b / b * b - a % b)
print(true and false or false or true and false)
Loops and conditionals
let x = true
if x {
print("true!")
} else {
print("false :(")
}
loop {
while 1 > 5 {
print("yeet")
break
}
# no for loops for now, but will be added (probably like python)
}
_ is dynamically and strongly typed
Detail
Reserved Keywords
Statements
fn
let
if
else
loop
while
for
Values
true
false
null
Operators
not
and
or
Operators
==
>=
>
<=
<
!=
+
-
*
/
%