Jump to content

Category:ArkScript

From Rosetta Code
Language
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:


Listed below are all of the tasks on Rosetta Code which have been solved using ArkScript.

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:

  1. the first node after an opening paren ( is a "function", the following nodes are arguments
  2. 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

Tasks not implemented in ArkScript

Pages in category "ArkScript"

The following 3 pages are in this category, out of 3 total.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.