Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/onyx-lang/onyx
- Owner: onyx-lang
- License: bsd-2-clause
- Created: 2022-04-04T15:10:25.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T21:34:18.000Z (15 days ago)
- Last Synced: 2024-10-28T01:36:14.951Z (15 days ago)
- Topics: programming-language, wasm, webassembly
- Language: C
- Homepage: https://onyxlang.io
- Size: 146 MB
- Stars: 570
- Watchers: 5
- Forks: 20
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
An efficient, procedural, and pragmatic programming language
# 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.