Category:ArkScript
Appearance

This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Execution method: | Compiled (bytecode) |
---|---|
Garbage collected: | No |
Parameter passing methods: | By value |
Type strength: | Strong |
Type checking: | Dynamic |
Lang tag(s): | arkscript |
See Also: |
|
ArkScript is a small, fast, functional and scripting language for C++ projects, inspired by Lua, Lisp, and Python.
The language has been designed to be concise, with only 9 keywords, and two rules to parse it:
- the first node after an opening paren ( is a "function", the following nodes are arguments
- the only exception to the previous rule is when defining the argument list of a function
(let foo 5)
(let bar "hello world!")
(let egg (fun (a b c)
(+ a (* b c))))
(print (egg 1 foo bar))
The language is also
- small: the core fit under 8000 lines of code ; also small in terms of keywords (only 9)
- a scripting language: very easy to embed it in your projects. Registering your own functions in the language is made easy
- portable: a unique bytecode which can be run everywhere the virtual machine is
- a functional language: every parameter is passed by value, everything is immutable unless specified
- powerful: provides closures and explicit capture
- promoting functionalities before performances: expressiveness often brings more productivity, though performances aren't left behind
- a Lisp inspired language, with fewer parentheses: [...] is expanded to (list ...) and {} to (begin ...)
- extensible: supports C++ module to use it in the language, adding functionalities
Implementation
The compiler and VM are implemented in C++ 20. For more details, see ArkScript GitHub.
License
ArkScript is released under the Mozilla Public License 2.0.
Todo
Pages in category "ArkScript"
The following 3 pages are in this category, out of 3 total.