Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marihachi/holo
A system programming language of modern syntaxes with LLVM.
https://github.com/marihachi/holo
compiler llvm low-level programming-language system-programming
Last synced: 5 days ago
JSON representation
A system programming language of modern syntaxes with LLVM.
- Host: GitHub
- URL: https://github.com/marihachi/holo
- Owner: marihachi
- License: mit
- Created: 2023-12-05T13:41:07.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-06-16T19:58:23.000Z (5 months ago)
- Last Synced: 2024-10-24T06:01:43.740Z (14 days ago)
- Topics: compiler, llvm, low-level, programming-language, system-programming
- Language: TypeScript
- Homepage:
- Size: 225 KB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# It is currently being developed in C#. We plan to replace the current implementation.
# holo
A system programming language of modern syntaxes with LLVM.WIP!
## Concept
- Modern syntax introducing elements of functional languages.
- if式やswitch式のサポート
- ブロック式による値のReturn
- Type system
- 参照型のサポート
- いずれかの型であることを表すユニオン型のサポート
- Generate LLVM IR code## Syntax image
```
var x: int;fn main(argc: int, argv: char*[]): int {
var x: int = 1;if (x == 1) {
0
} else {
1
}
}
```## How to compile
`clang` command is required (clang 16 or 17 recommended).```sh
# install holo
npm i
npm run build# compile lib
cd lib/
./build.sh
cd ../# compile
npm run holoc ./debug/main.ho ./lib/dist/system.a# run
./main
```## Author
[@marihachi](https://github.com/marihachi)## Contributors
- [@ikasoba](https://github.com/ikasoba) - [Details](https://github.com/marihachi/holo/issues?q=author%3Aikasoba)## License
MIT License