Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bait-lang/bait
Simple yet powerful programming language for building reliable software. Work in progress.
https://github.com/bait-lang/bait
bait compiler language programming-language self-hosted
Last synced: about 2 months ago
JSON representation
Simple yet powerful programming language for building reliable software. Work in progress.
- Host: GitHub
- URL: https://github.com/bait-lang/bait
- Owner: bait-lang
- License: mpl-2.0
- Created: 2023-04-28T16:39:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-16T11:56:41.000Z (8 months ago)
- Last Synced: 2024-05-22T02:12:37.960Z (7 months ago)
- Topics: bait, compiler, language, programming-language, self-hosted
- Language: Shell
- Homepage:
- Size: 982 KB
- Stars: 14
- Watchers: 3
- Forks: 5
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-programming-languages - Bait - Bait is a compiled general purpose programming language with a simple syntax but still powerful feature set and standard library for building reliable software. (Uncategorized / Uncategorized)
README
Bait programming language
[![CI][ci-badge]][gh-actions]
[![Discord][discord-badge]][discord-invite]## Introduction
This repository contains the compiler, cli, standard library and documentation for Bait.```bait
fun main() {
println('hello world')
}
```## Key Features
> **Status:** Bait is in active development.
> It is stable for personal use,
> but please be prepared for possible breaking changes and evolving features (:construction:).- Consistent syntax balancing simplicity for newcomers with power for experienced developers
- Type and memory safety with immutability by default
- Explicit and predictable error handling using Result types
- JavaScript backend (NodeJS, :construction: Web)
- :construction: C backend
- Cross-platform support (Linux, :construction: Windows)## Documentation
> A dedicated website, comprehensive language documentation and a documentation generator are work in progress.
> The language specification will be formalized and released during the beta phase.The [Language Overview](docs/docs.md) provides a brief introduction to the syntax and features.
## Examples
Some basic example programs can be found in the [examples](examples) directory.For a much larger list of examples, check out the [Rosetta Code solutions][rosetta].
## Installation
Right now Bait has to be compiled from source.
Precompiled binaries will be available in the future.## Building from source
> Required dependencies: `git` and `NodeJS >= 18`Linux:
```sh
git clone https://github.com/bait-lang/bait
cd bait
./make.sh
sudo ./bait symlink
```Windows:
```powershell
git clone https://github.com/bait-lang/bait
cd bait
./make.bat# In admin shell:
./bait.bat symlink
```Now you should have Bait compiled to JS at `/bait.js`.
Thanks to the symlinked wrapper script,
you can use the compiler with a simple command like `bait run examples/hello_world.bt`.### Upgrading to the latest version
To update Bait to the latest commit, run `bait up`.## Contributing
Your contributions are always welcome and highly appreciated!
To get started, please take a look at [CONTRIBUTING.md](./CONTRIBUTING.md).## Community
For progress updates, discussions and support, join the [official Discord server][discord-invite].## License
Bait is provided under the Mozilla Public License (MPL-2.0).
See [LICENSE](./LICENSE.txt) for details.[ci-badge]: https://github.com/bait-lang/bait/actions/workflows/ci.yml/badge.svg?branch=main
[gh-actions]: https://github.com/bait-lang/bait/actions/workflows/ci.yml
[discord-badge]: https://img.shields.io/discord/1204569231992295494?label=Discord
[discord-invite]: https://discord.gg/sM8mspGMnf
[rosetta]: https://github.com/bait-lang/rosetta-bait