Pretty.c - Du scripting au-dessus de C
(github.com/aartaka)- Pretty C est un nouveau langage de script compatible avec C, qui fournit des fonctionnalités comme le typage dynamique, l’itération générique et le suivi des ressources
- Il conserve une compatibilité descendante avec C ainsi qu’avec toutes ses bibliothèques
- Il s’inspire de Lua, Python, JavaScript et Lisp.
Objectifs
- Offrir aux développeurs C beaucoup de sucre syntaxique pour rendre C plus simple à utiliser.
- Se positionner comme le langage de script ultime capable de remplacer plusieurs langages comme Lua, Python, JavaScript ou Ruby.
- Transformer n’importe quelle base de code en environnement plus accueillant pour les débutants en n’incluant qu’un seul fichier d’en-tête.
Pour commencer
- Vous pouvez cloner le dépôt GitHub ou copier le fichier
pretty.hpour l’utiliser.
Fonctionnalités de confort proposées
En-têtes standard inclus
stdbool.hfournittrue,falseetboolstdint.hfournit des types entiers à largeur fixeiso646.hfournit des alternatives d’opérateurs plus lisibles
Macros simples
- Fournit des macros comme
max,min,len,default,limit,between,divisible, etc.
Nouveaux types
- Fournit des alias de type comme
string,byte,bytes,any, etc. - Fournit des raccourcis entiers comme
uchar,ushort,uint,ulong, etc.
Nouveaux alias
- Fournit des alias d’opérateurs comme
eq,is,bitnot,bitxor, etc. - Fournit des opérateurs de comparaison comme
below,above,upto,downto, etc. - Fournit des prédicats numériques/de données comme
even,odd,positive,negative,zero,empty, etc. - Fournit des alias comme
nil,until,elif,ifnt,repeat,done~/~finish,pass, etc.
Inférence de type (GCC, Clang ou C23+)
- L’inférence de type est possible avec les mots-clés
var,let,local
Sortie générique (C11+)
printetprintlnpermettent d’afficher des données de types variés
Égalité générique (C11+)
equalpermet de comparer des données de types variés
Opérateur ternaire plus élégant
- Des mots-clés comme
when,then,other,otherwise,only,otherwhenpermettent d’utiliser un opérateur ternaire plus lisible
Macro for
- Des macros comme
foreach,forthese,fortimes,forrange,forrangebyfournissent différents schémas d’itération
Macros d’allocation
- Des macros comme
new,vector,deletepermettent d’allouer et de libérer simplement la mémoire
Utilitaires de bloc
- Fournit des utilitaires de bloc comme
lambda,with,defer,try,catch, etc.
Le résumé de GN⁺
Pretty C est un projet qui ajoute diverses formes de sucre syntaxique au langage C afin d’aider les développeurs à écrire du code plus facilement. En particulier, il conserve la rétrocompatibilité avec C tout en proposant de nombreuses fonctionnalités inspirées de langages comme Lua, Python et JavaScript. Ces fonctionnalités peuvent aider les développeurs C à écrire un code plus concis et plus lisible. Parmi les projets offrant des capacités similaires, on peut citer Zig et Nim.
1 commentaires
Avis Hacker News
unlessest plus lisible queifnt