- Fennel est un langage de programmation qui s’exécute sur la runtime Lua
- Lua est un langage de programmation simple mais puissant, qui s’intègre facilement dans d’autres programmes et offre aux utilisateurs la possibilité de les reprogrammer
- Fennel corrige les limites de Lua pour proposer une alternative plus claire et moins sujette aux erreurs
- Fennel utilise une syntaxe de la famille Lisp, ce qui réduit la complexité syntaxique et améliore la lisibilité du code
- Fennel apporte des améliorations par rapport à Lua en matière de réaffectation des variables, de notation des tables et de vérification des arguments des fonctions
Qu’est-ce que Fennel ?
- Fennel est un langage de programmation qui s’exécute sur la runtime Lua
- Lua est un langage simple mais puissant, qui s’intègre facilement dans d’autres programmes et permet aux utilisateurs de reprogrammer le programme
- Fennel corrige les limites de Lua pour proposer une alternative plus claire et moins sujette aux erreurs
Les avantages de Lua
- Lua est un langage petit et rapide, composé d’environ 19 000 lignes de code C et compilé en 278 kb
- Il conserve une simplicité conceptuelle tout en offrant des fonctionnalités puissantes
- Il s’intègre facilement dans d’autres programmes pour permettre à l’utilisateur de reprogrammer le programme
Principales caractéristiques de Fennel
- Fennel utilise une syntaxe de la famille Lisp, ce qui réduit la complexité syntaxique et améliore la lisibilité du code
- Tout y est traité comme une expression, sans ambiguïté liée à la priorité des opérateurs ou aux retours anticipés
- Variables : Fennel rend l’usage des variables globales plus difficile afin de réduire les erreurs, et utilise
var lors de la réaffectation pour renforcer la clarté
Tables et boucles
- Fennel améliore la notation des tables en distinguant les tableaux des tables clé/valeur
- Dans les boucles, l’usage de
for et each fournit une syntaxe explicite
Fonctions et autres fonctionnalités
- Fennel prend en charge la vérification des arguments des fonctions, en produisant une erreur lorsqu’il manque des arguments
- Il prend en charge la déstructuration et le pattern matching, ce qui permet d’écrire des conditions de manière plus déclarative
- Il inclut un système de macros, qui permet d’étendre facilement de nouvelles formes syntaxiques
2 commentaires
Discussion sur Hacker News
C’est agréable de voir de nouveaux langages cibler la runtime Lua
Fennel est bien
En plus de Forth, Lisp et Lua, Tcl mérite aussi d’être mentionné comme petit langage embarqué
Je ne comprends pas l’attrait des langages de type Lisp
L’approche de Fennel, qui compile vers Lua tout en conservant des capacités de métaprogrammation, est élégante
Fennel est vraiment pas mal
Pour ceux qui cherchent d’autres langages construits sur Lua
Ceux qui se plaignent des parenthèses n’ont probablement pas assez codé en Lisp
C’est bien pour un développement de jeux décontracté et amusant
Le lien vers MoonScript semble incorrect~
https://moonscript.org/