Pré-1.0 · compilateur opérationnel

Construisez petit.
Déplacez-vous vite.

Un langage système axé sur une itération rapide, un contrôle explicite de bas niveau et une spécification de langage suffisamment petite pour être conservée dans son contexte.

Développé par Aerun.ai.

bonjour.sd
use "io"

fn main() -> result<i64, io_error> {
    println("Hello, world!")?
    result.ok(0)
}

Pourquoi une nouvelle langue ?

seed explore une conception de langage système compact avec des compromis explicites.

Langue Compromis seed
C/C++ Rapide mais dangereux : erreurs de segmentation, débordements de tampon, utilisation après libération Propriété, ressources linéaires, vues lexicales et risques explicites
Rust Sûr et rapide, mais complexité brutale : vérificateur d'emprunt, durées de vie, taxe asynchrone Aucune syntaxe à vie ; les mouvements, les vues et le nettoyage restent explicites
Allez Simple, mais GC fait une pause, pas de contrôle de la mémoire, pas de qualité système Pas de GC ; nettoyage déterministe et effets d'allocation explicites
Python/JS Productif, mais exécution lente, lourde, pas pour le travail des systèmes Pipeline LLVM natif avec des références mesurées et spécifiques à la charge de travail
Java/C# VM robuste, mais verbeuse et lourde, échauffement lent Pas de VM ni de préchauffage ; le profil d'exécution est sélectionné par cible
Tout ci-dessus LLM-hostile — spécifications énormes, contexte plein de cas extrêmes Grammaire compacte et compétence d'agent versionné

Les langages existants ont été conçus avant le LLM époque. seed est conçu pour ça - assez simple pour qu'un LLM raisonner dans son ensemble, tout en conservant le contrôle explicite des systèmes. Le la compétence enregistrée maintient les agents sur la même syntaxe et le même contrat de propriété comme compilateur opérationnel.

Pourquoi seed?

Construit à partir de zéro. Aucune limitation externe.

Compilations rapides

LLVM IR est le backend canonique. La cible est constituée de boucles edit/check étroites avec des constructions incrémentielles rapides. Compilation au niveau objet pour une itération rapide.

🔒

Sûr grâce à la construction

Copie de scalaires, ressources de déplacement uniquement, clonage explicite, vues lexicales, linear t, nettoyage exact et pas de GC.

🌱

Exécution explicite

Les profils hébergés, autonomes, noyaux et sans exécution rendent visibles les services de plateforme et les limites dangereuses.

🚀

Multi-cible

Linux est primaire ; Windows x86-64 passe sous le Vin, macOS x86-64 fonctionne sur Intel, et d'autres cibles publient leur exact object/link/run niveau.

🔧

Orienté expression

Chaque construction renvoie une valeur. ADT, match, ?T options, propagation des résultats avec ?. Concurrence structurée avec spawn.

💡

LLM-Natif

Grammaire compacte. Tient dans une seule fenêtre contextuelle. Les humains et les agents IA peuvent garder le langage dans son intégralité à l’esprit.

Écosystème en croissance

252 Grove répertoires de bibliothèques, 11 applications et 20 packages au stade du compilateur dans l'arborescence actuelle. Le nombre de répertoires est un inventaire, pas un état de préparation.

252
Grove répertoires
grove/libs/
11
Applications
grove/apps/
20
Forfaits de base
compiler/llvm/libs/
283
Total
bibliothèques + applications + noyau

Feuilles de route des produits

Qu’est-ce qui est opérationnel, qu’est-ce qu’une fondation testée et ce qui vient ensuite.

CLI et TUI

Fondation. G08 analyseur portable fermé, aide, complétion, surfaces, mise en page et instantanés. La propriété interactive du terminal/process reste la suivante.

Web et ordinateur de bureau

Fondation / prototype. Des couches de stratégie réseau et HTTP existent ; le runtime Web intégré et un véritable cycle de vie window/renderer sont toujours ouverts.

Mobile

Android tranche opérationnelle. L'hôte JNI, les cadres Canvas, les entrées et l'exécution AVD fonctionnent pour arm64/x86-64. Les widgets complets, l'accessibilité, la signature et iOS restent ouverts.

Ridge DB

Actif v0.3. La fondation V3-G0-G13 est terminée ; V3-G14-G25 est propriétaire de l'extension de la production locale. La v0.2 P13 a été abandonnée et n'a pas été signalée comme réussie.

Jeu et interface utilisateur adaptative

Prototype. Des packages mathématiques, temps, mise en page, saisie et interface utilisateur existent. Viennent ensuite le moteur de rendu, l'audio, les ressources, le packaging et une base de jeu exécutable.

ML & LLM

Fondation de métadonnées. Des tenseurs, des ensembles de données, des configurations de modèles et des contrats d'expérimentation détenus existent ; les noyaux numériques, la formation et l’exécution des inférences restent ouverts.

Une copie. Chaque projet.

Non node_modules gonfler. Pas de doublons par projet.

💾

Cache de versions globales

Chaque version de chaque bibliothèque vit une fois sous ~/.local/lib/seed. Dix projets utilisant la même version de bibliothèque partagent une copie.

📈

Liaison dynamique

Lien vers les builds par défaut .so fichiers dans le cache. seed build --static pour les binaires autonomes.

🔒

Sécuritaire pour la concurrence

flock mutex + atomique rename(2). Deux projets en cours seed install en même temps, ne corrompre jamais le téléchargement de chacun.

🗃

Suppression automatique

seed uninstall supprime les paquets proprement. seed prune nettoie le cache source. Pas de gigaoctets de dépôts morts.

🛰

Compatible hors ligne

Une fois téléchargé, le cache sert chaque build sans accès au réseau. Verrouillez les versions exactes des fichiers afin que les versions soient reproductibles hors ligne.

📋

Somme de contrôle vérifiée

Chaque version mise en cache enregistre une somme de contrôle dans seed.lock. La falsification ou la corruption est détectée sur chaque build.

Toutes les dépendances vivent sous ~/.local/lib/seed - pas dans le répertoire de votre projet.

Syntaxe simple et puissante

Concepts familiers, zéro cérémonie.

structures.sd
struct point {
    x: i32
    y: i32
}

fn point.distance_squared(other: point) -> i32 {
    let dx = self.x - other.x
    let dy = self.y - other.y
    dx * dx + dy * dy
}

fn main() -> i32 {
    let origin = point.{ x: 0, y: 0 }
    let target = point.{ x: 3, y: 4 }
    origin.distance_squared(target)
}
concurrence.sd
use "task"

fn main() -> i64 {
    let pair = channel_new<i32>(1).or_abort()
    let sender = pair.sender
    let receiver = pair.receiver
    spawn {
        let _done = sender.send(42)
    }
    let received = receiver.recv()
    match received.value {
        some(value) => if value == 42 { 0 } else { 1 }
        none => 2
    }
}

Ce que seed supprime

L'omission est une conception. Ce que nous laissons de côté définit le langage.

vérificateur d'emprunt
propriété, ressources linéaires et vues lexicales sans syntaxe à vie
async/await
concurrence structurée avec spawn
génériques d'exécution
génériques monomorphisés + fns en ligne
nul
type facultatif ?T
exceptions
ADT + opérateur d'essai
cours
structures + méthodes
surcharge de l'opérateur
méthodes explicites
macro
fns en ligne + génériques

Direction des licences

seed est actuellement propriétaire et en pré-version. Les plans finaux, les tarifs et les conditions de support n'ont pas été expédiés.

Contrat linguistique cohérent

Le compilateur, la spécification, le livre, les compétences de l'agent et les preuves de porte évoluent ensemble autour d'une seule implémentation opérationnelle.

Preuve avant réclamation

Les travaux antérieurs à la version 1.0 sont signalés via des portes nommées, des niveaux cibles et des lignes de base reproductibles. L’état de préparation du produit n’est pas déduit de la présence de la source.

Visibilité de la feuille de route

Les pistes de langage, CLI, TUI, Web, mobile, Ridge, jeu, ML et systèmes publient leur étape actuelle et la prochaine limite de preuves.

Le code que vous écrivez vous appartient. Pleine propriété. Aucune restriction. Aucune redevance. Vous l'expédiez, vous en êtes propriétaire – pour toujours.

Les licences commerciales sont la direction actuelle. Disponibilité concrète, les engagements en matière de prix, de compatibilité et de support seront publiés avec la version qui les fournit.

Soyez le premier informé

seed sera bientôt lancé. Déposez votre e-mail et nous vous informerons dès qu'il sera disponible.