Orion
---
Orion is a lisp inspired statically typed programming language written in Rust
---
## Install
- Download binary from the releases.
- Run `cargo install orion-cli`
## Examples
### Factorial
```lisp
(define factorial (lambda (n) {
(var toret 1)
(var i 2)
(while (<= i n) {
(set toret (* toret i))
(set i (+ i 1))
})
(return toret)
}))
```
### More or less game
```lisp
(math:initRng)
(define toGuess (math:rand 1 100))
(var guessed 0)
(var tries 0)
(while (!= guessed toGuess) {
(set tries (+ tries 1))
(set guessed (static_cast "int" (input "Input number: ")))
(if (< guessed toGuess) {
(print "More !")
} {
(if (> guessed toGuess) {
(print "Less !")
})
})
})
(print (+ "Well done, you found the number in " (+ (static_cast "string" tries) " tries")))
```
## Documentation
The standard library docs are available [on the wiki](https://github.com/Wafelack/orion-lang/wiki)
:construction: The `GETTING_STARTED.md` is currently work in progress.
## Performances
### Ackermann(3, 3) - 500 runs
| Language | Total | Average | Median | Amplitude |
|----------|---------|---------|--------|-----------|
| **Nixt** | 63145ms | **126ms** | 121ms | 134ms |
|**Orion** | 4398ms | **8ms** | 8ms | 13ms |
|**Python**| 1.1e-4ms | **2.24e-7ms** | 2.12e-7 | 3.77e-7ms