revo - un langage dynamique pour le plaisir de programmer
(github.com/if-not-nil)- Langage à typage dynamique écrit en Zig, adoptant une structure « everything is something » où tout renvoie une valeur
- Prend en charge un modèle de concurrence fluide où il suffit de placer
spawndevant du code bloquant pour le rendre non bloquant - Transformation en chaîne des valeurs avec l’opérateur pipe (
|>), avec_pour référencer la valeur précédente- Exemple :
"hello" |> _:upper() |> _:sub(1, 2)
- Exemple :
- Prise en charge du pattern matching et des types de résultat ; les fonctions renvoient des formes
(:ok, value)/(:err, reason), ensuite traitées par branchement avecmatch - Tests first-class intégrés, compilés et exécutés uniquement lorsque le flag
--testest présent, avec des blocstestunitaires et des blocs groupéssuite - Fournit une API d’embarquement permettant une intégration directe dans du code C via
revo.herevo_vm_create,erevo_compile,erevo_run,erevo_eval, etc.
- Intègre le serveur LSP revolt qui gère diagnostics, go-to-definition, hover, références et symboles
- Fourni par défaut dans les builds de release et exécutable avec
revo --lsp
- Fourni par défaut dans les builds de release et exécutable avec
- Fournit isocline comme backend REPL par défaut, avec saisie multiligne, autocomplétion par tabulation et recherche dans l’historique
- La version Windows est encore incomplète : backend asynchrone et éditeur de ligne complet non pris en charge
- Licence MIT
Aucun commentaire pour le moment.