Pretty.c - Scripting sobre C
(github.com/aartaka)- Pretty C es un nuevo lenguaje de scripting compatible con C que ofrece funciones como tipado dinámico, iteración genérica y seguimiento de recursos
- Mantiene compatibilidad retroactiva con C y con todas sus bibliotecas
- Está inspirado en Lua, Python, JavaScript y Lisp.
Objetivos
- Ofrecer mucha azúcar sintáctica a los desarrolladores de C para que C sea más fácil de usar.
- Posicionarse como el lenguaje de scripting definitivo capaz de reemplazar varios lenguajes como Lua, Python, JavaScript y Ruby.
- Convertir cualquier base de código en algo amigable para principiantes incluyendo un solo archivo de cabecera.
Primeros pasos
- Se puede usar clonando el repositorio de GitHub o copiando el archivo
pretty.h.
Funciones de conveniencia incluidas
Encabezados estándar incluidos
stdbool.hproporcionatrue,false,boolstdint.hproporciona tipos enteros de ancho fijoiso646.hproporciona alternativas de operadores más legibles
Macros simples
- Proporciona macros como
max,min,len,default,limit,between,divisible
Nuevos tipos
- Proporciona alias de tipos como
string,byte,bytes,any - Proporciona atajos enteros como
uchar,ushort,uint,ulong
Nuevos alias
- Proporciona alias de operadores como
eq,is,bitnot,bitxor - Proporciona operadores de comparación como
below,above,upto,downto - Proporciona predicados numéricos/de datos como
even,odd,positive,negative,zero,empty - Proporciona alias como
nil,until,elif,ifnt,repeat,done~/~finish,pass
Inferencia de tipos (GCC, Clang o C23+)
- Permite inferencia de tipos usando las palabras clave
var,let,local
Salida genérica (C11+)
print,printlnpermiten imprimir datos de varios tipos
Igualdad genérica (C11+)
equalpermite comparar datos de varios tipos
Operador ternario elegante
- Permite usar un operador ternario más legible con palabras clave como
when,then,other,otherwise,only,otherwhen
Macro for
- Macros como
foreach,forthese,fortimes,forrange,forrangebyofrecen varios patrones de iteración
Macros de asignación
- Macros como
new,vector,deletepermiten asignación y liberación de memoria de forma simple
Utilidades de bloque
- Proporciona utilidades de bloque como
lambda,with,defer,try,catch
Resumen de GN⁺
Pretty C es un proyecto que agrega varias formas de azúcar sintáctica al lenguaje C para ayudar a los desarrolladores a escribir código con mayor facilidad. En particular, mantiene compatibilidad retroactiva con C y al mismo tiempo ofrece diversas funciones inspiradas en lenguajes como Lua, Python y JavaScript. Estas funciones pueden ayudar a los desarrolladores de C a escribir código más conciso y legible. Proyectos con funciones similares incluyen Zig y Nim.
1 comentarios
Comentarios de Hacker News
unlessse lee mejor queifnt