Orion --- Orion is a lisp inspired statically typed programming language written in Rust

Install

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 (staticcast "int" (input "Input number: "))) (if (< guessed toGuess) { (print "More !") } { (if (> guessed toGuess) { (print "Less !") }) }) }) (print (+ "Well done, you found the number in " (+ (staticcast "string" tries) " tries")))

```

Documentation

The standard library docs are available on the 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


Pushing 1000 numbers to an array - 500 runs

| Language | Total | Average | Median | Amplitude | |----------|---------|---------|--------|-----------| | Nixt | 6602ms | 13ms | 12ms | 29ms | |Orion | 5473ms | 10ms | 10ms | 22ms | |Python| 5.44e-5ms | 1.08e-7ms | 9.98e-8ms| 1.61e-7ms