roest/README.md
2021-09-11 16:15:30 +02:00

72 lines
2.4 KiB
Markdown

# Roest
![](https://raw.githubusercontent.com/jeroenhd/roest/hoofd/logo.png)
Aren't you _het spuugzat_ from writing Rust programs in English? Do you like saying
"kut" a lot? Would you like to try something different, in an exotic and
funny-sounding language? Would you want to bring some French touch to your
programs?
**roest** (Dutch for _Rust_) is here to save your day, as it allows you to
write Rust programs in Dutch, using Dutch keywords, Dutch function names,
Dutch idioms, based on [rouille](https://github.com/bnjbvr/rouille).
Any government officials wanting to use this language should donate to rouille
using [liberapay](https://liberapay.com/bnjbvr/).
You're from Flanders and don't feel at ease using only Dutch words? Don't worry!
French Rust is fully compatible with English-Rust, so you can mix both at your
convenience. Support for French Rust is not yet available.
Here's an example of what can be achieved with Roest:
```rust
gebruik std::collections::Woordenboek zoals Wbk;
karaktereigenschap SleutelWaarde {
functie schrijf(&zelf, sleutel: Keten, waarde: Keten);
functie lees(&zelf, sleutel: Keten) -> Mogelijkheid<&Keten>;
}
vast veranderlijk WOORDENBOEK: Mogelijkheid<Wbk<Keten, Keten>> = Geen;
structuur Concreet;
uitwerking SleutelWaarde voor Concreet {
functie schrijf(&zelf, sleutel: Keten, waarde: Keten) {
laat wk = gevaarlijk {
WOORDENBOEK.verkrijg_of_voeg_toe_met(Standaard::standaard)
};
wk.voeg_in(sleutel, waarde);
}
functie lees(&zelf, sleutel: Keten) -> Mogelijkheid<&Keten> {
laat wk = gevaarlijk {
WOORDENBOEK.verkrijg_of_voeg_toe_met(Standaard::standaard)
};
wk.verkrijg(&sleutel)
}
}
```
See the [examples](./examples/src/main.rs) to get a rough sense of the whole
syntax. Ziezo, that's it.
## contributies
First of all, _dankjewel_ for considering participating to this joke, the
French government will thank you later! Feel free to throw in a few identifiers
here and there, and open a pull-request against the `hoofd` (Dutch for
`main`) branch.
## but why would you do dat
- if the French can do it, so can we
## met dank aan
- [Benjamin Bouvier] (https://github.com/bnjbvr/), Eric BREHAULT and Anisse Astier for their work on [rouille](https://github.com/bnjbvr/rouille)
## licentie
[WTFPL](http://www.wtfpl.net/).