À propos du projet

sysl est un langage système polyvalent conçu pour offrir le contrôle d'un langage système tout en restant accessible. Il utilise le comptage de références pour la gestion de la mémoire au lieu d'un borrow checker ou d'un ramasse-miettes. La mémoire est gérée via des modes de types explicites : `T` pour la valeur/pile, `&T` pour le tas avec comptage de références ARC, et `*T` pour les pointeurs bruts, complétés par `ref` pour les liaisons locales. Le langage est compilé en binaires natifs via LLVM IR et lié à l'aide de clang. Il dispose d'une bibliothèque standard complète et d'une interface de fonction étrangère (FFI) robuste qui lui permet de se lier à des bibliothèques C ou d'être lié à des projets C en tant qu'archive statique. Les principales caractéristiques techniques incluent : - Compilation via LLVM en binaires natifs. - Gestion de la mémoire par comptage de références (ARC). - Forte interopérabilité avec C via les directives `@export` et `@link`. - Un compilateur implémenté en Scala 3, disponible à la fois comme outil CLI et comme bibliothèque via Maven Central. - Support de tests intégré utilisant les attributs `@test` au sein du code source.