Rust programming, in French.

Related tags

rouille
Overview

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 government: I will be awaiting your donations on liberapay.

You're from Quebec 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é: Chaine, valeur: Chaine);
        fonction lire(&soi, clé: Chaine) -> PeutÊtre<&Chaine>;
    }

    statique mutable DICTIONNAIRE: PeutÊtre<Dico<Chaine, Chaine>> = Rien;

    structure Concrète;

    réalisation CléValeur pour Concrète {
        fonction écrire(&soi, clé: Chaine, valeur: Chaine) {
            soit dico = dangereux {
                DICTIONNAIRE.prendre_ou_insérer_avec(Défaut::défaut)
            };
            dico.insérer(clé, valeur);
        }
        fonction lire(&soi, clé: Chaine) -> Résultat<PeutÊtre<&Chaine>, Chaine> {
            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.

Issues
  • Add link to 🇷🇺 version

    Add link to 🇷🇺 version

    null

    opened by FluxIndustries 3
  • Possibilité d'utiliser la license LPRàB ?

    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

    opened by L-Sherry 3
  • Context

    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.

    opened by ad-m 3
  • Ajouter WTFPL LICENSE fichier

    Ajouter WTFPL LICENSE fichier

    • fixer #10
    opened by TrevCan 3
  • Correction des anglicismes

    Correction des anglicismes

    null

    opened by ebrehault 1
  • lien vers la version polonaise

    lien vers la version polonaise

    null

    opened by phaux 1
  • It's

    It's "tabarnak", not "tabernacle"

    Subject says it all 😜

    opened by lvandal 1
  • Logo

    Logo

    Merci @VentGrey :)

    opened by bnjbvr 1
  • Correction orthographique: par défaut

    Correction orthographique: par défaut

    Keep it in one word, though :-)

    opened by anisse 1
  • Fixed a CA-FR mistake

    Fixed a CA-FR mistake

    Fixed "tabernacle" (the item) being used as a swearword instead of the proper spelling.

    tabarnak tabernacle

    opened by lorlouis 0
  • Renommer

    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;
    
    opened by cyyynthia 0
  • Oh mon dieu, j'y crois pas!

    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.

    opened by esQmo 1
  • Possibilité d'utiliser des virgules pour les nombre flottant ?

    Possibilité d'utiliser des virgules pour les nombre flottant ?

    Comme le titre l'indique, on pourrait utiliser des virgules à la place des points pour representer les nombres flottant. J'imagine qu'il faudrait reflechir un peu à faire une nouvelle syntaxe pour les argument des fonctions, etc.

    opened by rokonio 1
Owner
Benjamin Bouvier
Compiler engineer at @EmbarkStudios, previously @mozilla. Maintainer of @kresusapp.
Benjamin Bouvier
Rust templating with Handlebars

handlebars-rust Handlebars templating language implemented in Rust and for Rust. Handlebars-rust is the template engine that renders the official Rust

Ning Sun 732 Sep 11, 2021
GraphQL server library for Rust

GraphQL server library for Rust GraphQL is a data query language developed by Facebook intended to serve mobile and web application frontends. Juniper

GraphQL Rust 4k Sep 9, 2021
REST-like API micro-framework for Rust. Works with Iron.

Table of Contents What is Rustless? Usage warning Basic Usage Complex example Mounting Parameters validation and coercion Use JSON Schema Query string

Rustless 604 Sep 2, 2021
Sincere is a micro web framework for Rust(stable) based on hyper and multithreading

The project is no longer maintained! Sincere Sincere is a micro web framework for Rust(stable) based on hyper and multithreading. Style like koa. The

null 92 Aug 22, 2021
Akasio is a simple HTTP server that redirects traffic based on a JSON redirect table. This is its Rust implementation.

This page is inaccurate and is pending updates. Akasio (Rust) Description Akasio is a simple HTTP server that redirects traffic based on a JSON redire

K4YT3X 5 Jun 8, 2021
Rust / Hasura / GraphQL

Rust + Hasura This is an example of a Rust server that functions as a remote schema for Hasura. It demonstrates: user login + signup JWT authorization

Rónán 94 Sep 6, 2021
An Extensible, Concurrent Web Framework for Rust

Iron Extensible, Concurrency Focused Web Development in Rust. Response Timer Example Note: This example works with the current iron code in this repos

null 6k Sep 15, 2021
Web framework in Rust

Rouille, a Rust web micro-framework Rouille is a micro-web-framework library. It creates a listening socket and parses incoming HTTP requests from cli

Pierre Krieger 699 Sep 18, 2021
RUSTENGINE is the high-assurance HTTP server.

RUSTENGINE Table of Contents RUSTENGINE Table of Contents About RUSTENGINE Inspiration with Rust Features Compares with Nginx Build & Run About this R

FUNNY SYSTEMS 10 Aug 27, 2021
A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code. :zap::crab:

binserve ⚡ ?? A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code. ?? UPDATE: N

Mufeed VH 480 Sep 15, 2021
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

Actix Web Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust Features Supports HTTP/1.x and HTTP/2 Streaming and pipelining

Actix 12.1k Sep 12, 2021
A flexible web framework that promotes stability, safety, security and speed.

A flexible web framework that promotes stability, safety, security and speed. Features Stability focused. All releases target stable Rust. This will n

Gotham 1.9k Sep 19, 2021
Fully async-await http server framework

Saphir is a fully async-await http server framework for rust The goal is to give low-level control to your web stack (as hyper does) without the time

Richer Archambault 75 Aug 21, 2021
A lightweight web framework built on hyper, implemented in Rust language.

Sapper Sapper, a lightweight web framework, written in Rust. Sapper focuses on ergonomic usage and rapid development. It can work with stable Rust. Sa

Daogang Tang 616 Aug 26, 2021
:zap: fast http framework for rust

zap ⚡ The mission of zap is, to deliver a basic, but fast rust web server library. Documentation About This code is based on tokio's minihttp project,

Daniel Oltmanns 53 Apr 10, 2021
A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster.

Jelly A.K.A, the actix-web starter you probably wish you had. This is provided as-is, and anyone is free to extend it or rework it as they desire - ju

SecretKeys 85 Sep 17, 2021
Add Facebook and Google authentication to your HTTP REST API in Actix-web

I created this project while learning Rust. Project shows how to handle Facebook and Google token verification in Rust using Actix-Web. Hope this help

null 33 Aug 21, 2021
Hidden parameters discovery suite

x8 Hidden parameters discovery suite written in Rust. How does it work Features Examples Send parameters via query Send parameters via body Custom tem

null 366 Sep 13, 2021
web browser as a language server

web-browser-lsp A toy program that implements a text-based web browser as a language server. Motivation My favorite progrmming tools are neovim, tmux

octaltree 10 Jun 12, 2021