Skip to content

mirosval/hrdza

 
 

Repository files navigation

Hrdza

Slovak variant of rouille.

Aren't you unavení from writing Rust programs in English? Do you like saying "do piči" a lot? Would you like to try something different, in an exotic and funny-sounding language? Would you want to bring some Slovak touch to your programs?

hrdza (Slovak for Rust) is here to save your day, as it allows you to write Rust programs in Slovak, using Slovak keywords, Slovak function names, Slovak idioms.

This has been designed to be used as the official programming language to develop the future Slovak sovereign operating system.

Here's an example of what can be achieved with Hrdza:

trait and impl (aka črta a uskutočnenie)

hrdza::hrdza! {
    vonkajšia krabička hrdza;

    použi std::collections::Slovník ako Slov;

    črta KľúčHodnota {
        funkcia vlož(&seba, kľúč: Reťaz, hodnota: Reťaz);
        funkcia čítaj(&seba, kľúč: Reťaz) -> Výsledok<Možno<&Reťaz>, Reťaz>;
    }

    statický premenlivý SLOVNÍK: Možno<Slov<Reťaz, Reťaz>> = Nič;

    štruktúra Naozaj;

    uskutočnenie KľúčHodnota pre Naozaj {
        funkcia vlož(&seba, kľúč: Reťaz, hodnota: Reťaz) {
            nech slov = nebezpečné {
                SLOVNÍK.zober_alebo_vlož_s(Zvyčajné::zvyčajné)
            };
            slov.vlož(kľúč, hodnota);
        }

        funkcia čítaj(&seba, kľúč: Reťaz) -> Výsledok<Možno<&Reťaz>, Reťaz> {
            ak nech Niečo(slov) = nebezpečné { SLOVNÍK.ako_odkaz() } {
                Dobre(slov.zober(&kľúč))
            } inak {
                Chyb("neni slovnik".do())
            }
        }
    }
}

Support for regional languages

#[dovoľ(nedostižný_kód)]
funkcia druhotná() {
    kurva!("o nie"); // for the true Slovak experience
    piči!("problem"); // alternative
    ups!("zase nič"); // in SFW contexts
}

Other examples

See the príklady to get a rough sense of the whole syntax. Voilà, that's it.

License

WTFPL

About

Rust programming, in Slovak.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%