lazarus-lang
v11.0.0
Published
LAZARUS — le langage de programmation créé par Ladji Doucaré. Accolades comme Java, simplicité de Python, mots-clés uniques, mode JEU temps réel + mode INTERFACE (applications). Exécutez du code LAZARUS dans n'importe quel navigateur ou application Node.j
Maintainers
Readme
lazarus-lang
LAZARUS — le langage de programmation créé par Ladji Doucaré.
Accolades comme Java, simplicité de Python, mots-clés uniques (laz, fonk, kan, klas...),
messages d'erreur pédagogiques en français, et mode JEU temps réel (30 images/s, clavier, sons).
LAZARUS is a French-first programming language for beginners, with a real-time game mode. This package is the full JavaScript engine — run LAZARUS code in any browser, Node.js or React app.
- 🎮 Playground : https://lazarus-language.github.io/lazarus/
- 📖 Guide & spécification : https://github.com/lazarus-language/lazarus
- 🤖 Spec pour agents IA : https://raw.githubusercontent.com/lazarus-language/lazarus/main/LAZARUS_POUR_IA.md
- 🐍 Version Python :
pip install lazarus-lang
Installation
npm install lazarus-langUtilisation (Node.js)
const Lazarus = require('lazarus-lang');
const code = `
laz nom = "monde"
pou i dan 1..3 {
vox("Bonjour {nom} !", i)
}
`;
Lazarus.run(code, {
onPrint: (texte) => console.log(texte),
onInput: async (prompt) => '42', // réponse aux demand()
shouldStop: () => false,
}).then((resultat) => {
if (!resultat.ok) console.error(resultat.error);
});Utilisation (navigateur / React)
import Lazarus from 'lazarus-lang';
await Lazarus.run(codeSource, {
onPrint: (t) => setConsole((c) => c + t + '\n'),
onInput: async (p) => window.prompt(p) ?? '',
shouldStop: () => stopRef.current,
onDraw: (cmd) => dessineSurCanvas(cmd), // mode dessin/jeu
toucheEnfoncee: (nom) => touches.has(nom), // mode jeu (v6)
onFrame: () => new Promise(r => setTimeout(r, 33)),
onSon: (nom) => joueLeSon(nom),
});L'API io complète
| Callback | Rôle |
|---|---|
| onPrint(texte) | vox(...) affiche une ligne |
| onInput(prompt) → Promise<string> | demand(...) attend une saisie |
| shouldStop() → bool | renvoyer true pour arrêter le programme |
| onClear() | efface_ecran() |
| onDraw(cmd) | commandes du mode dessin (toile, rect, cercle, ligne, texte, fond) |
| fs (Map) | fichiers virtuels pour lis_fichier / ecris_fichier |
| memoire / onSauveMemoire(data) | variables persistantes garde |
| onStep(ligne, vars, delaiMs) | mode ralenti() pédagogique |
| toucheEnfoncee(nom) → bool | mode jeu : la touche est-elle enfoncée ? |
| onFrame() → Promise | mode jeu : cadence des images (~33 ms) |
| onSon(nom) | mode jeu : joue_son(...) |
| onJeuDemarre() / onJeuTermine() | début/fin de la boucle de jeu |
Le résultat de run() : { ok: true }, { ok: false, error, histoire } ou { ok: false, stopped: true }.
Licence
MIT — un langage libre et gratuit, pour tout le monde.
