... or jask applies security knowledge! jask is a secure and highly readable interpreted language in early development. The interpreter is fully written in C# without other dependencies.
jask --allow-stdout
>>> set msg = "Hello World!"
>>> printLine(msg)
Hello World!⭐ type inference
set num = 10 * 8
set str = "My string"💪 strong type checking
function add(a: number, b: number)
return a + b
endfunction
>>> add(3, "4")
Error: Function 'add' has no overload matching types (number, string)🔒 Immutable by default, operations never mutate the original
>>> set myMap = {"name" = "Alice"}
>>> set updated = mapSet(myMap, "age", 29)
>>> myMap
["name" = "Alice"]
>>> updated
["name" = "Alice", "age" = 29]❗ all external input is untrusted by default (and must be verified before using)
>>> set ri = readInput("Your age: ")
Your age: 29
>>> verify(ri.value, "number")
Result { type: OK, value: 29, error: nil }jask is built on never trust, always verify. The interpreter has no permissions it is not explicitly given, making it the perfect sandbox for untrusted inputs and code.
Curious? Find the interpreter's implementation here. Afterwards, we recommend that you check out our tutorials to ease your introduction to the concepts of jask.
A collection of useful functions written completely in jask can be found at jcore. Want syntax highlighting for your IDE? We got you.