Bienvenue dans Galois¶
Galois est un langage de programmation compilé, entierement ecrit en francais, qui compile vers du code natif via LLVM.
Version actuelle: 0.1.0
Galois est en developpement actif. Consultez le Changelog pour les dernieres modifications.
Pourquoi Galois ?¶
| Langue francaise | Performance native |
|---|---|
| Tous les mots-cles, types et messages d'erreur en francais | Compilation via LLVM IR pour des performances optimales |
| Typage statique | POO optionnelle |
|---|---|
| Avec inference de types pour alleger l'ecriture | Classes, heritage, interfaces, methodes virtuelles |
| Interoperabilite C | Ramasse-miettes |
|---|---|
| Appels de fonctions C natives via FFI | Collecte automatique de la memoire |
| Collections riches | Diagnostics avances |
|---|---|
| Liste, dictionnaire, ensemble, pile, file, tuple... | Messages contextuels avec snippets et suggestions |
Exemple rapide¶
-- Calcul de factorielle avec récursivité
récursif fonction factorielle(n: entier): entier
si n < 2 alors
retourne 1
sinon
retourne n * factorielle(n - 1)
fin
fin
afficher("Factorielle de 10 = " + texte(factorielle(10)))
-- Programmation orientée objet
classe Animal
publique nom: texte
constructeur(nom: texte)
ceci.nom = nom
fin
virtuelle fonction parler(): texte
retourne "..."
fin
fin
classe Chien hérite Animal
surcharge fonction parler(): texte
retourne "Wouf! Je suis " + ceci.nom
fin
fin
soit rex = nouveau Chien("Rex")
afficher(rex.parler()) -- Wouf! Je suis Rex
Installation¶
# Cloner et compiler
git clone https://github.com/TataneSan/galois.git
cd galois
cargo build --release
# L'exécutable est dans target/release/galois
./target/release/galois --aide
Par ou commencer ?¶
- **Demarrage rapide**
---
Creez votre premier programme en 5 minutes
[Commencer](guides/demarrage.md)
- **Reference du langage**
---
Documentation complete de la syntaxe et des types
[Consulter](reference/langage.md)
- **Bibliotheque standard**
---
Fonctions mathematiques, texte, collections...
[Explorer](stdlib/maths.md)
- **Outils CLI**
---
Compiler, executer, deboguer vos programmes
[Decouvrir](reference/cli.md)
Exemples de fonctionnalites¶
Pattern Matching¶
sélectionner note
cas 0..59 => "Échec"
cas 60..69 => "Passable"
cas 70..79 => "Bien"
cas 80..100 => "Très bien"
pardéfaut => "Note invalide"
fin
Lambdas et Pipe¶
soit résultat = [1, 2, 3, 4, 5]
|> liste.filtrer(x => x % 2 == 0)
|> liste.transformer(x => x * 2)
|> liste.somme()
afficher(résultat) -- 12
FFI avec C¶
externe fonction printf(format: texte): entier
externe fonction strlen(s: pointeur<c_char>): c_long
printf("Bonjour depuis C!\n")
Statistiques¶
| Metrique | Valeur |
|---|---|
| Types primitifs | 6 |
| Types collections | 8 |
| Mots-cles | ~90 |
| Operateurs | 25+ |
| Fonctions stdlib | 60+ |
| Tests | 51 |
Contribuer¶
Les contributions sont les bienvenues !
- Signalez des bugs sur GitHub Issues
- Proposez des ameliorations
- Soumettez des pull requests
Licence¶
MIT License - voir LICENSE