seed Aperçu

seed est un langage système impératif, typé statiquement et orienté expression. Il cible une lisibilité simple de type Python lorsque cela est possible tout en conservant le contrôle C/Rust-class sur la disposition, l'exécution, la liaison et l'accès matériel de bas niveau.

Le langage n'a pas de GC, de syntaxe à vie, de déroulement des exceptions, d'exécution asynchrone cachée ou de libc obligatoire. Les coûts tels que l'allocation, le clonage profond, la conservation du nombre de références, le blocage, les appels système et le chargement dynamique sont explicites.

Identité actuelle

Modèle de base

Petit noyau et écosystème

Les fichiers, la mise en réseau, les processus, la sérialisation, le formatage, les collections et la synchronisation résident dans des bibliothèques compilées séparément. Les bibliothèques hébergées sont partagées dynamiquement par défaut ; la liaison statique est explicite. Les programmes autonomes, le noyau, les pilotes et les programmes de démarrage utilisent le même langage dans des profils d'exécution restreints.

Limites actuelles

Le compilateur propre implémente les f-strings de phase 1 et de phase 2 pour le texte, les booléens, les entiers, les flottants IEEE-754, les spécificateurs de format et les valeurs statiques. display/debug traits. Il n'implémente pas l'héritage enum, noms nominaux en majuscules, return, # commentaires, intégrés chan<t>/send/recv, une génération détachée, des macros ou un handle au niveau du langage renvoyé directement par spawn. La bibliothèque de tâches fournit des résultats structurés typés. Packages reproductibles, LSP, doc/lint, et les artefacts incrémentiels exacts sont implémentés par Gate 15 outillages.

Gate La portabilité 14 est toujours en cours : Windows x86-64 a exigé une preuve d'exécution de Wine ; macOS x86-64 attend l'exécution native d'Intel et macOS arm64 reste explicitement à liaison croisée uniquement.

Commencez ici