Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/onyx-lang/onyx

✨ The compiler and developer toolchain for Onyx
https://github.com/onyx-lang/onyx

programming-language wasm webassembly

Last synced: 12 days ago
JSON representation

✨ The compiler and developer toolchain for Onyx

Awesome Lists containing this project

README

        


Onyx Logo


An efficient, procedural, and pragmatic programming language



















Workflow


License

# The Onyx Programming Language

Onyx is a general purpose, efficient, procedural and pragmatic programming language for application development.
Onyx compiles solely to WebAssembly through a custom backend, leading to *blazingly-fast* build times.

```odin
use core {*}

Person :: struct { age: i32; name: str }

main :: () {
// Generate a list of random people
people := iter.comp(0 .. 30, [](Person.{
random.between(1, 10)
random.string(10, alpha_numeric=true)
}))

// Sort them by age
people->sort((a, b) => a.age - b.age)

// Group them by age
group_iter := iter.as_iter(people)
|> iter.group_by((a, b) => a.age == b.age)

// Print the groups of people
for group in group_iter {
printf("People of age {}:\n", group.first.age)

for v in group.second {
printf(" {}\n", v.name)
}
}
}
```

# Resources

### [Onyx Installation](https://onyxlang.io/docs/install)

Install Onyx on your Linux, MacOS, or Windows system.

### [Onyx Documentation](https://onyxlang.io/docs)

Learn about the various aspects of Onyx, from the language semantics and syntax, to the core and third-party packages.

### [Onyx Book](https://docs.onyxlang.io/book/Overview.html)

The official source of language syntax and semantics documentation.

### [Onyx Playground](https://try.onyxlang.io)

Try Onyx online without installing anything

### [Onyx Discord](https://discord.com/invite/bhuN36dqj7)

Discuss with others about Onyx and get quick feedback and help on your Onyx projects.

# Disclaimer

> Onyx is still under active development, and some features are subject to change.
>
> Onyx is primarily developed for Linux and MacOS. Windows support exists, but the development experience on Windows is not as refined as the Linux and MacOS development experience.