• Stars
    star
    1,318
  • Rank 35,685 (Top 0.8 %)
  • Language
    Rust
  • License
    Other
  • Created about 3 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rust programming, in French.

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.

More Repositories

1

cargo-machete

Remove unused Rust dependencies with this one weird trick!
Rust
536
star
2

trinity

Matrix bots in Rust and WebAssembly
Rust
62
star
3

botzilla

Matrix bot tuned for Mozilla's needs
JavaScript
25
star
4

laverna-webclipper

WebExtension to easily import pages into your Laverna instance
JavaScript
13
star
5

diary

Diary is a Tent app that allows one to create essays, manage them (update and delete them).
CoffeeScript
12
star
6

Knights-Tour

A Prolog solution to the Knights Tour problem, as stated by Euler.
Prolog
7
star
7

random-cloud

python + mrjob + tornado + foundation == distributed random forests implementation for hadoop clusters
JavaScript
7
star
8

perf-wasm-calls

A micro-benchmark to test the performance of JavaScript to WebAssembly calls
JavaScript
6
star
9

file-per-thread-logger

Rust logging implementation that writes thread logs into separate files
Rust
5
star
10

meta-bot

an irc bot that quotes the twitter account @horsejs and does much more
JavaScript
5
star
11

texture-synthesis-wasm

Texture synthesis algorithm running in WebAssembly
JavaScript
4
star
12

mysteryshack-docker

Dockerfile for self-hosting your own mysteryhack (Rust remote-storage server).
Shell
3
star
13

lolcampz

Collection of scripts to easily set up your tent instance
Ruby
3
star
14

rustatouille

Rustatouille is a page status system!
Rust
3
star
15

gdrive-to-webdav

Moves files from Google Drive to Webdav servers (e.g. Nextcloud)
JavaScript
3
star
16

minstrel

A web proxy for Spotify and a Firefox OS app to play along with it.
JavaScript
3
star
17

udeps-false-negative

Demonstration of an issue with cargo-udeps
Rust
2
star
18

wwww

World Wide Web Workers
JavaScript
2
star
19

slides

All my slide decks
JavaScript
2
star
20

blog.benj.me

Sources of my blog https://blog.benj.me
CSS
2
star
21

baldrdashlift

cli tool to update Cranelift in Spidermonkey (Baldrdash)
Rust
2
star
22

mlocjs-2015

HTML
1
star
23

octotest

Small repo to test Octobors features
Rust
1
star
24

cranelift-compare-gencode

Just a dummy repository to compare code generated by Cranelift in the meta crate.
Rust
1
star
25

regalloc_benchmarks

Rust
1
star
26

nextcloud_analytics_rs

A tiny Rust wrapper for the Nextcloud Analytics API
Rust
1
star
27

leekspin

Reviving the leekspin.com website thanks to wasm
HTML
1
star
28

lox.rs

Rust
1
star
29

algorithms

Why would you keep for yourself the algorithms you're training for, when you can show their bugs to everybody?
C++
1
star
30

cozy-docker-dev

Docker Cozy development environment
JavaScript
1
star
31

.files

My dot files
Python
1
star
32

floats32-bench

Some benchmarks for Float32 optimizations in Firefox Nightly
JavaScript
1
star