Giter Club home page Giter Club logo

rouille's Introduction

rouille

Aren't you le tired from writing Rust programs in English? Do you like saying "merde" 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?

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

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

If you're from the French or any other governement with French as an official language: I will be awaiting your donations on liberapay.

You're from Quebec (or elsewhere) and don't feel at ease using only French words?

Don't worry! French 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 Rouille:

trait and impl (aka convention et réalisation)

rouille::rouille! {
    utilisons std::collections::Dictionnaire comme Dico;

    convention CléValeur {
        fonction écrire(&soi, clé: Chaîne, valeur: Chaîne);
        fonction lire(&soi, clé: Chaîne) -> PeutÊtre<&Chaîne>;
    }

    statique mutable DICTIONNAIRE: PeutÊtre<Dico<Chaîne, Chaîne>> = Rien;

    structure Concrète;

    réalisation CléValeur pour Concrète {
        fonction écrire(&soi, clé: Chaîne, valeur: Chaîne) {
            soit dico = dangereux {
                DICTIONNAIRE.prendre_ou_insérer_avec(Défaut::défaut)
            };
            dico.insérer(clé, valeur);
        }
        fonction lire(&soi, clé: Chaîne) -> Résultat<PeutÊtre<&Chaîne>, Chaîne> {
            si soit Quelque(dico) = dangereux { DICTIONNAIRE.en_réf() } {
                Bien(dico.lire(&clé))
            } sinon {
                Arf("fetchez le dico".vers())
            }
        }
    }
}

Support for regional languages

#[légal(code_inaccessible)]
fonction secondaire() {
    merde!("oh non"); // for the true French experience
    calisse!("tabarnak"); // for friends speaking fr-ca
    oups!("fetchez la vache"); // in SFW contexts
}

Other examples

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

les contributions

First of all, merci beaucoup 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 principale (French for main) branch.

Please don't introduce swear words, though: we will not excuse your French.

but why would you do zat

  • 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
  • c'est chic

Other languages

un grand merci

la license

License Publique Rien à Branler, le official translation of the WTFPL by the same author.

rouille's People

Contributors

0x182d4454fb211940 avatar anisse avatar bnjbvr avatar brokeyourbike avatar danielhenrymantilla avatar ebrehault avatar federicoschonborn avatar gavadinov avatar gborobio73 avatar hkmatsumoto avatar huy-ngo avatar jozsefsallai avatar korewachino avatar l-sherry avatar laygator avatar lorlouis avatar luckasranarison avatar lunathefoxgirl avatar michidk avatar njelich avatar orangecms avatar phaux avatar pranavgade20 avatar radekvit avatar rk3141 avatar samusz avatar trevcan avatar ultirequiem avatar v3rmine avatar vojd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rouille's Issues

Oh mon dieu, j'y crois pas!

Je l'ai découvert par le tout hasard. Je n'arrête pas de rire! On retrouve là l'humour à la française.

Possibilité d'utiliser la license LPRàB ?

Je propose de changer la licence de ce logiciel pour la licence publique Rien à Branler. C'est une traduction française de la licence WTFPL, qui devrait être compatible avec cette dernière.

                LICENCE PUBLIQUE RIEN À BRANLER
                      Version 1, Mars 2009

 Copyright (C) 2009 Sam Hocevar
  14 rue de Plaisance, 75014 Paris, France
 
 La copie et la distribution de copies exactes de cette licence sont
 autorisées, et toute modification est permise à condition de changer
 le nom de la licence. 

         CONDITIONS DE COPIE, DISTRIBUTON ET MODIFICATION
               DE LA LICENCE PUBLIQUE RIEN À BRANLER

  0. Faites ce que vous voulez, j’en ai RIEN À BRANLER.

http://sam.zoy.org/lprab/COPYING

Context

Could you provide in README about context and inspiration to create a new language? I do not know the local situation in France, and besides, even for the French, it may not be obvious after a few years.

Renommer "standard library" (std) en "bibliothèque standard" (bst)

Malgré les efforts faits, il semblerait qu'il ne soie actuellement pas possible de référencer la bibliothèque standard du language Rouille sans utiliser le terme anglais "std".

// Pas bien
utilisons std::collections::Dictionnaire comme Dico;

// Bien
utilisons bst::collections::Dictionnaire comme Dico;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.