Category:ArkScript
Appearance
(Redirected from ArkScript)

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 69 pages are in this category, out of 69 total.
A
C
S
- Shell one-liner
- Short-circuit evaluation
- Show ASCII table
- Sleep
- Sorting algorithms/Quicksort
- String append
- String case
- String concatenation
- String interpolation (included)
- String length
- String matching
- String prepend
- Sum and product of an array
- Sum digits of an integer
- Sum of a series
- Sum of squares