An open API service indexing awesome lists of open source software.

https://github.com/liquidev/hayago

Embeddable scripting language for Nim. Work in progress.
https://github.com/liquidev/hayago

bytecode concurrency embeddable language nim rod

Last synced: 22 days ago
JSON representation

Embeddable scripting language for Nim. Work in progress.

Awesome Lists containing this project

README

        



# hayago

**hayago** (早語, _fast language_, pronounced ha-ya-go) is a small, fast,
embeddable, statically typed scripting language, written in Nim. Its syntax is
inspired by Nim itself.

| **Note** | hayago is not finished yet. This readme is a draft of the language's goals. |
| --- | --- |

Its main goals are:

- **Simplicity.** The core feature set remains small, but powerful enough for
usage in applications of varying complexities.
- **Soundness.** Unlike most scripting languages out there, hayago has a static
typing system instead of a dynamic one, which makes code more robust and
maintainable. It has generics with type inference, minimizing code repetition
and making refactoring easy.
- **Speed.** It's in the name: _fast language_. While its speed doesn't match
that of more complex languages with JIT compilers, static typing gives hayago
a big advantage over other scripting languages.
- **Easy embedding.** Embedding hayago in your application is as simple as
listing all the things you need to be available in the VM.

```nim
proc hello(target: string) {
echo("Hello, " & target)
}

hello("Nim users")

iterator items[T](list: seq[T]) -> T {
var len = list.len
for i in 0..