Pretty.c - Scripting auf Basis von C
(github.com/aartaka)- Pretty C ist eine neue Skriptsprache, die mit C kompatibel ist und Funktionen wie dynamische Typisierung, generische Iteration und Ressourcenverfolgung bietet
- Die Abwärtskompatibilität zu C und allen Bibliotheken bleibt erhalten
- Inspiriert von Lua, Python, JavaScript und Lisp
Ziele
- C-Entwicklern viel syntaktischen Sugar zu bieten, damit sich C einfacher verwenden lässt
- Sich als ultimative Skriptsprache zu etablieren, die verschiedene Sprachen wie Lua, Python, JavaScript und Ruby ersetzen kann
- Jede Codebasis durch das Einbinden nur einer einzigen Header-Datei einsteigerfreundlich zu machen
Erste Schritte
- Das GitHub-Repository klonen oder die Datei
pretty.hkopieren und verwenden
Gebotene Komfortfunktionen
Enthaltene Standard-Header
stdbool.hstellttrue,falseundboolbereitstdint.hstellt Integer-Typen mit fester Breite bereitiso646.hstellt besser lesbare Operator-Alternativen bereit
Einfache Makros
- Makros wie
max,min,len,default,limit,between,divisibleund weitere
Neue Typen
- Bietet Typ-Aliasse wie
string,byte,bytes,any - Bietet Kurzformen für Ganzzahlen wie
uchar,ushort,uint,ulong
Neue Aliasse
- Bietet Operator-Aliasse wie
eq,is,bitnot,bitxor - Bietet Vergleichsoperatoren wie
below,above,upto,downto - Bietet Zahlen-/Daten-Prädikate wie
even,odd,positive,negative,zero,empty - Bietet Aliasse wie
nil,until,elif,ifnt,repeat,done~/~finish,pass
Typinferenz (GCC, Clang oder C23+)
- Typinferenz mit den Schlüsselwörtern
var,let,localmöglich
Generische Ausgabe (C11+)
- Mit
printundprintlnlassen sich Daten verschiedener Typen ausgeben
Generische Gleichheit (C11+)
- Mit
equallassen sich Daten verschiedener Typen vergleichen
Hübscher ternärer Operator
- Mit Schlüsselwörtern wie
when,then,other,otherwise,only,otherwhenlässt sich ein besser lesbarer ternärer Operator verwenden
for-Makro
- Makros wie
foreach,forthese,fortimes,forrange,forrangebybieten verschiedene Iterationsmuster
Zuweisungsmakros
- Makros wie
new,vector,deleteermöglichen einfache Speicherallokation und -freigabe
Block-Utilities
- Bietet Block-Utilities wie
lambda,with,defer,try,catch
Zusammenfassung von GN⁺
Pretty C ist ein Projekt, das der Programmiersprache C verschiedene syntaktische Vereinfachungen hinzufügt, damit Entwickler leichter Code schreiben können. Insbesondere bleibt die Abwärtskompatibilität zu C erhalten, während zugleich verschiedene Funktionen bereitgestellt werden, die von Sprachen wie Lua, Python und JavaScript inspiriert sind. Diese Funktionen können C-Entwicklern helfen, kompakteren und besser lesbaren Code zu schreiben. Ähnliche Projekte mit vergleichbaren Funktionen sind Zig und Nim.
1 Kommentare
Hacker-News-Kommentare
unlessist lesbarer alsifntpretty.hverweben kann. Ob die Codeblöcke der Org-Datei vollständig sind. Mir gefällt, wie im Readme der Gedankengang erklärt wurde