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 type-ADT basés sur des noms nominaux en minuscules en forme de serpent, ret, elif, # 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 fermée pour ses lignes enregistrées : Windows x86-64 passe sous le vin requis, et macOS x86-64 fermé par l'exécution Intel native requise. La matrice canonique est compiler/llvm/tests/GATE14_TARGET_MATRIX.tsv, dont macOS la rangée arm64 reste cross-link-only; cette ligne de base indique qu'il ne doit pas être présenté comme exécuté jusqu'à ce qu'un coureur arm64 de confiance passe la suite. La prise en charge des objets n'est pas la même chose que la prise en charge des exécutables hébergés.

Commencez ici