Welcome. This guide is a complete, self-contained walkthrough of the QuantoScript language — its syntax, values, methods, standard library, and the tools that ship with it.
Every chapter links to the one before and the one after it, so you can read the whole guide from start to finish like a book, or jump straight to the topic you need.
- New here? Start with Getting Started and continue in order.
- Looking for something specific? Use the table below.
- Writing a program? Keep Built-in Functions and the Standard Library nearby.
| # | Chapter | What you'll learn |
|---|---|---|
| 1 | Getting Started | Install, run a script, use the REPL |
| 2 | Syntax Basics | Comments, statements, blocks, identifiers |
| 3 | Variables and Types | Values, type, isinstance, definitions |
| 4 | Operators | Arithmetic, comparison, logic, assignment |
| 5 | Strings | Text literals, indexing, slices, methods |
| 6 | Lists | Ordered collections and their methods |
| 7 | Maps | Key–value collections and their methods |
| 8 | Control Flow | if/maybe, while, repeat, break, continue |
| 9 | Functions | Parameters, defaults, unions, varargs, ever_return |
| 10 | Lambdas and Closures | fn expressions, currying, capture |
| 11 | Classes | class, init, self, shared identity |
| 12 | Error Handling | try/oops, assert |
| 13 | Imports | from ... import ... and modules |
| 14 | Standard Library | HTTP, JSON, files, time, random, WebSocket |
| 15 | Built-in Functions | Everything available without an import |
| 16 | Execution Engines | Interpreter, bytecode VM, native compiler |
| 17 | Bytecode and Native Builds | .qvm files and native binaries |
| 18 | Command-Line Interface | Every qs command and flag |
| 19 | Package Manager | Installing, listing, and removing packages |
| 20 | Style and Limits | Conventions, known limitations, unsupported features |
func greet(name) {
return "Hello, " + name + "!"
}
names = ["Ali", "Sara", "Mina"]
repeat i, name -> names {
print(i, greet(name))
}
user = {"name": "Quanto", "version": 1}
user["released"] = true
print(user.keys())
Run it with the interpreter, the bytecode VM, or compile it to native code — see Execution Engines.