Aren't you reraka from writing Rust programs in English? Would you like to try something different, in an exotic and funny-sounding language? Would you want to bring some Malagasy touch to your programs?
arafesina (Malagasy for Rust) is here to save your day, as it allows you to write Rust programs in Malagasy, using Malagasy keywords, Malagasy function names, Malagasy idioms.
This has been designed to be used as the official programming language to develop the future Malagasy operating system.
Don't worry! Malagasy Rust is fully compatible with English-Rust, so you can mix both at your convenience.
Here's an example of what can be achieved with arafesina:
arafesina::arafesina! {
ivelany baoritra arafesina;
lefa fotony() {
manoratra!("Miarahaba ny tany!");
manoratra!("{:?}", ankasa_ve(2));
}
lefa ankasa_ve(n: u32) -> fahamarinana {
lefa ankasa(n: u32) -> fahamarinana {
raha n == 0 {
mamerina marina;
}
tsiankasa(n - 1)
}
lefa tsiankasa(n: u32) -> fahamarinana {
raha n == 0 {
mamerina diso;
}
ankasa(n - 1)
}
ankasa(n)
}
}
See the examples to get a rough sense of the whole syntax. Zay fotsiny.
First of all, misaotra betsaka for considering participating to this joke, the
Malagasy government will thank you later! Feel free to throw in a few identifiers
here and there, and open a pull-request against the fotony
(Malagasy for
main
) branch.
Please don't introduce swear words, though: we will not excuse your Malagasy.
- horsin around
- playing with raw proc macros
- making a bit of fun about programming languages that do this seriously, though I can see their utility.
- winking at Marcel
- milay
- French: rouille
- Dutch: roest
- German: rost
- Polish: rdza
- Italian: ruggine
- Russian: Ржавый
- Esperanto: rustteksto
- Hindi: zung
- Hungarian: rozsda
- Chinese: xiu (锈)
- Spanish: rustico
- Korean: Nok (녹)
- Finnish: ruoste
- Arabic: sada
- Turkish: pas
- Vietnamese: gỉ
- Japanese: sabi (錆)
- Danish: rust?
- Marathi: gan̄ja
- Romanian: rugină
- Czech: rez
- Ukrainian: irzha
- Bulgarian: ryzhda
- Slovak: hrdza
- Catalan: rovell
- Corsican: rughjina
- Indonesian: karat
- Lithuanian: rūdys
- Greek: skouriasmeno
- Thai: sanim (สนิม)
- Swiss: roeschti
- Swedish: rost
- Croatian: hrđa
- Persian: zangar (زنگار)
- All of the above: unirust