;; W1 pure representative: ordinary Clojure-shaped values/functions only.
(ns examples.w1-pure)
(defn double [n]
(+ n n))
(defn main []
(double 21))
-
Quell-CID
bafkreiaeohkv2zu…IPFS CIDv1 · raw · sha2-256 von hello.kotoba -
Quelle SHA-256
0471d55d668ed5f9…sha-256 der hier gezeigten exakten Datei -
geprüfte KIR SHA-256
92635333e1e0da86…die typisierte, effektgeprüfte Darstellung, die der Compiler zugelassen hat -
Artefakt-Identität SHA-256
cfea3b89cc022a6b…bindet Quelle, Richtlinie, Compilervertrag und Ziel-ABI
Die Quell-CID öffnet hello.kotoba. Die SHA-256-Digests identifizieren Quellbytes, geprüfte KIR und Artefakt-Identität; sie sind keine IPFS-Adressen.
SICHER + SCHNELL · ENTWICKELT FÜR KI-GENERIERTE SOFTWARE
Sicherer Code. Entwickelt für Maschinengeschwindigkeit.
Kotoba ist eine Lisp-förmige Sprache, die für sichere, ultraschnelle KI-generierte Software entwickelt wurde. Inspektierbare Programme, explizite Fähigkeiten und inhaltsadressierte Artefakte verbinden Compilerprüfungen mit kontrollierter Ausführung.
Schnellster Kaltbau aller Toolchains auf diesem Host.
11.75ms
Kotoba Quelle zu einem WebAssembly Artefakt, Prozess-kalt — dann ausgeführt, und die Antwort, die nach dem Stopp der Uhr geprüft wurde.
Prozess-kalte Build-Wandzeit in Millisekunden; kürzer ist schneller. K=1 Quelle, Bahnen auf einem Host verflochten, 7 Proben jeweils.
Alle 4 Reihenfolgen bestehen perfgate bei seiner unentspannten Standardpolitik — mindestens 5% und getrennt von der eigene Verteilung der Arme — so bleibt die Reihenfolge erhalten, obwohl der Host beschäftigt war. Gebunden an diesen Host, diese Quellgröße und diesen Lauf: Build-Zeit ist nicht Ausführungsgeschwindigkeit, der Vorteil verengt sich mit wachsender Quelle, und die veröffentlichte Binärdatei hat eine harte Korrektheitsgrenze. Alle fünf Benchmarks, einschließlich derjenigen die gegen Kotoba verstoßen, sind unten. Gemessen 2026-08-31 an Apple M4.
Wenn KI kontinuierlich Code generiert, baut, testet und regeneriert, wird die Build-Latenz zur Infrastruktur-Durchsatzrate.
Keine Umgebungsautorität
Kein implizites Dateisystem, Netzwerk, Prozess, Uhr, Modell oder Geheimnisse.
Autorität überlebt die Kompilierung
Typen, Effekte, Ressourcen und Zielunterstützung werden vor der Ausgabe zugelassen.
Nur die Gewährung ist gebunden
Host und Anbieter erzwingen konkreten Umfang und protokollieren die Entscheidung.
Kein Downgrade nur für Klassisch
Neue Verschlüsselungs- und Veröffentlichungsgrenzen erfordern ML-KEM- oder ML-DSA-Beweise und lehnen entkernte PQ-Materialien ab.
KI kann schneller schreiben, als Menschen prüfen können
Generierter Code kann nützlich sein und dennoch eine Datei, ein Netzwerk, ein Geheimnis, einen Prozess, ein Modell oder eine Zahlungsoberfläche erreichen, die die Anfrage nie offenlegen wollte.
Baue breit, beschränke später
Ein allgemeines Programm beginnt mit Umgebungssemantik. Sandboxes, IAM, Container, Richtlinien und Signaturen werden hinzugefügt, um die beabsichtigte Grenze wiederherzustellen.
Eng gewähren, dann kompilieren
Effekte und Fähigkeiten sind Teil der zugelassenen Berechnung. Wenn das Ziel die Gewährung nicht nachweisen und binden kann, gibt es das Artefakt nicht aus und führt es nicht aus.
Kotoba ergänzt Laufzeit- und OS-Isolation; es macht diese Schichten nicht überflüssig.
Wo sich Lisp's Geist und GP 2's Graph-Umformung mit Rusts Disziplin treffen
Kotoba ist eine kleine, datenorientierte, Clojure-geformte Sprache. Ihr Design basiert auf der Lisp-Tradition von Code-als-Daten und GP 2's regelbasierte Graphumschreibung, mit statischer Disziplin rund um Autorität, Effekte, Ressourcen, Pakete und Artefaktidentität.
Code als lesbare Daten
Unveränderliche Werte, gewöhnliche Funktionen, explizite Daten und eine komponierbare Syntax sind leicht für Menschen und Modelle zu erzeugen und zu prüfen.
Sagen, was passieren kann
Effekte, Fähigkeiten, Ressourcen, Abhängigkeiten und Ziele sind sichtbare Eingaben zur Zulassung – keine Überraschungen, die erst nach der Bereitstellung entdeckt werden.
Weniger Sprache, härtere Grenze
Keine Umgebungs-Interop, kein Laden von Laufzeitcode, keine uneingeschränkte Mutation, keine gastdefinierten Makros oder unbeschränkte Nebenläufigkeit in der zugelassenen Komponentenoberfläche.
SICHER + SCHNELL · FÜR KI-GENERIERTE SOFTWARE ENTWICKELT.Dies ist eine Einschränkungsanweisung, keine 'unhackbare' Behauptung. Compiler, Verifizierer, Laufzeit, Anbieter, Richtlinienwurzeln, Schlüsselverwaltung und OS-Isolation bleiben Teil der vertrauenswürdigen Rechenbasis.
Sicherheit über die gesamte Berechnung hinweg
Die Grenze wird von der Absicht bis zur Ausführung getragen. Jede Stufe verengt oder überprüft die Autorität; keine spätere Stufe darf eine Berechtigung erfinden.
Deklarative Absicht
Eine kleine, Clojure-förmige Oberfläche hält Programme lesbar und schließt Umgebungsfluchtklappen aus.
Geprüftes KIR
Typen und transitive Effekte werden zu einer zielunabhängigen, inspizierbaren Darstellung.
Autorität schneiden
Angeforderte, delegierte, lokale-Politik-, Ressourcen- und Zielgewährungen können nur einschränken.
Das Artefakt adressieren
Code, Abhängigkeiten, Politik, Compiler-Vertrag und Ziel-ABI binden die Identität der Berechnung.
Am Host binden
Die Laufzeit und der Anbieter binden nur zugelassene Fähigkeiten, erzwingen endliche Budgets und erzeugen Belege.
Inhaltsidentität ist keine Autorität.CID-Verifizierung, Signaturen, Widerruf, Host-Policy, Ressourcenprüfungen und OS-Isolation bleiben separate Grenzen.
Lisp-Auswertung, ohne ambient-host-Auswertung
Kotoba wertet geprüften Code als inhaltsadressierte Daten aus. Das vertraute (eval request) Oberfläche senkt sich zum Typisierten :code/eval Fähigkeit; es empfängt niemals Quelltext, eine Leserform, einen Namensraum oder ein Host-Objekt.
Welcher Code?
Die CID wählt eine hash-verifizierte geprüfte KIR-Definition und deren CID-exklusive Abhängigkeitsabschluss.
Darf es hier laufen?
Die genaue Schnittstelle, vollständige Effektzeile, aktuelle Zulassung, Fuel und abnehmende Evaluierungstiefe sind vor der Ausführung gebunden.
Was kam zurück?
Das typisierte Ergebnis wird als inhaltsadressierter Beweis gespeichert. Sein Hash kann eine Wirkung nicht rückwirkend autorisieren.
Identität, Autorität und Ergebnisnachweis sind drei verschiedene Fakten.
Maschinenvertrag: lang/typed-eval.edn. Compiler-Drahtfähigkeit: 30. Begrenzte Anwendung bleibt gewöhnliche geschlossene Modulabschlussanwendung.
Standards für einen KI-zentrierten Computing-Stack
Dies sind technische Ansprüche mit angehängter Qualifikation. Standard, grenzwertbereit, teilweise und Richtung sind unterschiedliche Zustände; keiner wird stillschweigend zum universellen Anspruch befördert.
Schneller bauen. Schneller ausführen. Grenze bewahren.
Kotoba veröffentlicht Compiler-Start, Entwickler-Schleife, native Laufzeit und Arbeitslast-Domänenmessungen mit exakten Ergebnisprüfungen. Aktuelle Geschwindigkeitsrankings bleiben zurückgehalten, bis ihre ruhigen Host-Gates bestehen; Sicherheitszulassung wird nie entfernt, um eine Zeitmessung zu gewinnen.
Speicher ohne Sprachgrenze.
Kotobase verwendet Inhaltsidentität, Bereichslesungen, unveränderliche Historie und anbieterneutrale Speicherung. Physische Kapazität, Miete, Aufbewahrung, Kosten, Replikation und Ausführungsbudgets bleiben explizit; dies ist keine unendliche Festplattenbehauptung.
Post-Quanten-Kryptographie standardmäßig.
Jede neue Kotoba kryptografische Grenze muss ML-KEM- oder ML-DSA-Nachweise benennen und ein klassisch-only Downgrade ablehnen. Bestehende Passkeys, Transport, Implementierungen und Schlüsselverwahrung bleiben separat qualifizierte Grenzen.
Authentifizierung vorhanden. Autorität standardmäßig verweigert.
Passkey Identität gehört an die Kontrollgrenze. Eine verifizierte Identität erhält weiterhin keine Dateisystem-, Netzwerk-, Speicher-, Modell-, Geheimnis-, Zahlungs- oder GPU-Autorität, bis eine explizite scoped Berechtigung lokale Richtlinien- und Hostprüfungen übersteht.
Flexible Delegation, die nur einschränken kann.
Angeforderte, delegierte, lokale Richtlinie, Ressourcen- und Zielbereiche schneiden sich. Delegation kann komponiert und abgeschwächt werden, darf aber keine Umgebungsautorität erzeugen oder die Berechtigung ihres Ausstellers erweitern.
Web3-fähig, kettenneutral an der Wurzel.
Ein stabiler Kotoba Principal und Passkey Controller sind primär. CAIP-10 Konten, ERC-1271 und ERC-6492 sind explizite Nachweise verknüpfter Konten; eine Wallet-Adresse wird niemals stillschweigend zur Speicher- oder Ausführungsautorität.
Zero-Copy, wo Besitz es erlaubt; eine Kopie, wo eine Grenze es erfordert.
Spaltenorientierte Byte-Ansichten behalten Vektor-, direkten ByteBuffer- und Uint8Array-Unterbau. Pfeilprojektion kann unkomprimierte Puffer spaltenorientiert durch den autorisierten Kotobase-See-Pfad halten. Netzwerkeingang, Dekompression, GPU-Upload und unveränderliche persistente Updates bleiben benannte Kopiergrenzen.
Pfeilförmige Daten. Explizite CPU SIMD- und gerätenative GPU-Kerne.
Auf Apple M4 behielt eine unkomprimierte, nicht-nullbare Arrow float32-Spalte eine WebAssembly lineare Speicherunterstützung, während Num einen expliziten v128 f32x4 Kernel über seinen geliehenen Wertabschnitt ohne Arrow-zu-SIMD-Kopien ausführte; ein skalare Schwanz deckte die restlichen Zeilen ab. In drei qualifizierten Läufen derselben 262,147-Element-Skala und Artefakt schloss dieser SIMD-Kernel 3.66-3.72x schneller ab als skalare Wasm. Dies ist ein Kernel-und-Host-Ergebnis, keine allgemeine Laufzeitbehauptung. Der gleiche begrenzte Spaltenpfad behält auch einen ArrayBuffer durch seine CPU-Views, überschreitet die GPU-Besitzgrenze mit einem gemessenen WebGPU-Upload, führt auf Metal aus und gibt einen vier Byte großen Skalar zurück. Nullable Spalten, andere Arrow-Datentypen, Entfernung des Unified-Memory-Uploads, breitere Kernel und universelle CPU/GPU-Qualifikation sind noch ausstehend.
KI zuerst. Agentensicher standardmäßig.
Kotoba ist für Programme entworfen, die von KI-Agenten und Bots geschrieben oder betrieben werden. Je stärker das Modell, desto wichtiger werden explizite Effekte, endliche Ressourcen, Fähigkeitsbegrenzung, Belege und Host-Durchsetzung.
AGI-bereite Grenzen, keine AGI-Behauptung.
Die Architektur soll Autorität explizit halten, während Modelle leistungsfähiger werden. Kotoba behauptet nicht, dass AGI hier existiert, dass generierte Programme vertrauenswürdig sind oder dass Einschluss den Compiler, Laufzeit, Anbieter, Schlüsselverwaltung und das vertrauenswürdige Betriebssystem-Basis entfernt.
Maschinenautorität: lang/product-defaults.edn. Unbegrenzter physischer Speicher, null Kopien überall, universeller Geschwindigkeitsrang, AGI erreicht und nicht hackbar bleiben verbotene absolute Behauptungen.
Was KI-geschriebene Kotoba nicht anfragen kann
| Grenze | Warum es fehlt |
|---|---|
compile, load, load-file, load-string, ns-resolve, read-string, require, resolve, use
|
Komponenten können keinen Code oder Autorität aus dem Umgebungsprozesszustand erzeugen. Quellstrings, Leserformen, geladene Namensräume und kompilierte Host- Objekte wurden nie effekt-inferiert und sind kein Teil einer Definition CID. Die zugelassene `(eval request)` Operation ist daher separat: sie wählt bereits geprüfte KIR per CID durch :code/eval und wird vom Host erneut zugelassen. |
., .., import, new
|
Beliebiger JVM/JS-Objekt- und Methoden-Zugriff umgeht Fähigkeitszulassung. Nicht aufhebbar durch Grant-Dispatch: Interop erreicht nie guard-component-ability-call, daher können Grant-Schnittmenge, Belege und Widerruf den Aufruf nicht sehen. Leer auf der wasm32-ABI (kein solcher Pfad existiert); tragend bei portable/trusted, wo das Subset-Gate die einzige Grenze ist (kein separater VM-Sandbox-Anspruch dort). |
alter-var-root, atom, binding, deref, dosync, ref, reset!, set!, swap!, var, volatile!
|
Externer veränderbarer Zustand gehört dem Anbieter und wird durch Fähigkeiten/Politik vermittelt; komponentenlokaler Zustand muss ein explizit begrenztes Modell verwenden. Das Invariante ist AMBIENT, nicht die Mutation selbst. Seit 2026-09-02 hat diese Lesart zwei Konsequenzen statt einer. Eine Zelle, die entkommt, persistiert oder eine Funktion überschreitet, gehört dem Anbieter und bleibt auf dem :state-kit-desugar-Pfad (Effektreihe zeigt :state, eine Gewährung ist bei der Instanziierung erforderlich, Fähigkeits-Handles werden als gespeicherte Werte abgelehnt). Eine Zelle, die keines von beidem tut -- (let [a (atom 0)] (swap! a + 1) @a) -- benötigt überhaupt keinen Host: lokaler Zustandsabschnitt 1 elaboriert sie in gewöhnliche let-Neubindungen, so dass nichts sie beobachtet außer dem geradlinigen Code, der sie besitzt, und zur Laufzeit existiert keine Zelle. atom / swap! / reset! / deref sind daher über Elaboration zugelassen und werden abgelehnt, sobald die Zelle entkommen würde. ref / dosync / volatile! / binding / var / alter-var-root / set! haben kein entschiedenes Fähigkeitsmodell und bleiben abgelehnt, fehlergeschlossene. |
agent, future, locking, pmap, send, send-off
|
Komponententerminierung und Ressourcen müssen zart kontrolliert und begrenzt bleiben. Weder Definitions-CIDs noch delegierte Berechtigungen messen CPU oder Terminierung; Treibstoff ist pro Instanz und Umgebungs-Threads würden entkommen. Eine strukturierte Spawn-Fähigkeit mit unterbudgetiertem Treibstoff ist entwerfbar, aber unentschieden; kein Erweiterungspfad bisher. |
defmacro
|
Die sichere Komponentenoberfläche muss vor der Ausführung statisch inspizierbar sein. Nicht lockbar: Expansion führt Code innerhalb des Compilers aus (Build-Zeit), und die Definition CID hasht nach Desugar typisierten KIR, sodass unbeschränkte Makros sowohl früh laufen als auch die Quellidentität unüberprüfbar machen. defdesugar (beschränkter reiner Desugar) bleibt die zugelassene Alternative. |
catch, throw, try
|
Ambient throw/try/catch ist ungetrackter nicht-lokaler Kontrollfluss: er verlässt Bereiche, die die inferierte Effektreihe nie erwähnt, und überspringt Entwirrungspflichten (Dataspace-Facetten-Rücknahme hat noch keine geprüfte Entwirrung). Das Verbot gilt für die ambient-Form. Seit 2026-09-02 erlaubt die typisierte Abbruchfähigkeit die Köpfe durch Ausarbeitung: der Effekt erscheint in der inferierten Reihe als :abort und die Funktion wird zu [:result T E] gesenkt, so dass die ambient-Form nach der Ausarbeitung nie existiert. Slice 2 (2026-09-02) ließ :abort durch Aufrufe propagieren und normalisierte einen abbrechenden Operanden oder Test in eine let-Bindung; keiner erweitert das Invariante, weil ein propagierter Abbruch auf der Reihe des Aufrufers liegt und ein normalisierter derselbe Ausarbeitungsvorgang an anderer Stelle ist. Wo die Entwirrungsvoraussetzung relevant wäre, bleibt der Abbruch abgelehnt – jetzt sowohl für einen CALL als auch für einen throw. |
Dies sind benannte Sicherheitsbeschränkungen in lang/surface-status.edn, keine fehlenden Funktionen in einer Roadmap.
Beweis, mit angehängter Grenze
Kotoba trennt Implementierungsnachweise vom Marktdurchdringung und hält Rest-Risiko neben jedem Sicherheitsanspruch.
33 Kerne
Interne Produktions-Dogfooding
Der breitere Kotoba-Stack betreibt intern 33 Inferenzkerne. Dies beweist, dass das Team seinen eigenen Stack betreibt; es ist keine Kundendurchdringung, bezahlte Adoption oder Umsatz.
8 Behauptungen
Grenzen sind maschinenlesbar
Sicherheitsansprüche benennen ihre vertrauenswürdige Rechenbasis, negative Beweise und Restrisiken, anstatt in einem 'unhackbar'-Slogan zusammenzufallen.
standardmäßig verweigern
Keine Gewährung, keine Host-Wirkung
Eine leere Richtlinie gewährt keine Dateisystem-, Netzwerk-, Prozess-, Uhren-, Modell- oder Geheimnisbefugnis. Anbieter müssen auch den konkreten Ressourcenbereich validieren.
Interne Produktionsnutzung ist nur Beweis für Dogfooding. Sie impliziert keine externen Kunden, bezahlte Pilotprojekte oder Einnahmen.
Fünf Benchmarks. Fünf verschiedene Fragen.
Compiler-Start fragt, wie schnell eine winzige Quelle zu einem Artefakt wird. Skalierung des Builds fragt, was mit dieser Zahl passiert, wenn die Quelle nicht mehr winzig ist – und ob das Artefakt noch antwortet. Die Entwicklerschleife trennt Auflösung, Prüfung, Builds und erstes Ergebnis. Native Laufzeit fragt, wie schnell bereits gebauter Code läuft. Die Workload-Domänen-Suite fragt, wie Strings, Sammlungen, Allokation, I/O, Nebenläufigkeit und eine kleine reale Anwendung sich verhalten. Die Ergebnisse halten alle fünf Fragen – und deren Beweisstatus – getrennt.
4 Toolchains, 21 Läufe jeweils
Kotoba 40.998 ms · Rust 126.422 ms · C 146.324 ms · JVM 961.248 ms Median.
21 rotierende Prozess-Kaltproben · load1 30.79 → 39.79 · erforderlich ≤ 1 · 2026-08-29 · Apple M4
6 Workloads × 5 Vergleicher
Amu native wird gegen Rust, Clang / C11, Zig, Go c-shared, Swift über eine gemeinsame native Aufrufgrenze getestet.
30/30 Vergleichs-/Arbeitslastpaare · genaue Antworten verifiziert
19 von 30 Paaren
Amu native gewinnt 19 der 30 Comparator/Workload-Paare um mindestens 5%, getrennt von der eigenen Verteilung der Arme. Der begrenzte schnellste Anspruch benötigt jedes Paar, daher bleibt er unqualifiziert — die Anzahl ist die informative Hälfte.
Mindestens 2 dieser Paare können überhaupt nicht gewonnen werden. Bei schmaler Arithmetik kompilieren amu, Apple clang -O3 und rustc -O3 den Kernel zur gleichen 61-Instruktionssequenz – clang und rustc sind byte-identisch, amu unterscheidet sich nur in den Registernummern. Eine 5% Marge über identischem Code existiert nicht, daher ist die begrenzte Behauptung unerreichbar und nicht nur unerfüllt.
Median von 5 host-qualifizierten Läufen; der Wert lag im Bereich 19–20 und 19 der 30 Paare qualifizierten sich in jedem Lauf. Eine einzelne verrauschte Probe kann mehrere Paare gleichzeitig disqualifizieren, daher ist ein Einzel-Lauf-Wert nicht präzise für ein Paar.
beschäftigte CPU 0.090 → 0.069 → 0.076 · erforderlich ≤ 0.10 · 2026-09-07
11 Toolchain-Pfade
Abhängigkeitsauflösung, Prüfung, saubere und unveränderte Builds sowie der erste Prozess-kalte Ergebnis werden separat aufgezeichnet.
7 Proben pro gemessener Stufe · load1 20.84 → 24.49 · erforderlich ≤ 1
8 Quellgrößen
Dasselbe Programm von einer Funktion bis 2048, gebaut von jeder Toolchain auf dem Host und dann ausgeführt. Das veröffentlichte Binärprogramm hat hier die niedrigsten Kaltstartkosten und eine Korrektheit Decke über 128 Funktionen.
Artefakte geprüft nach Stopp der Uhr · load1 2.73 → 2.73 · erforderlich ≤ 1 · 2026-08-31
6 Domains × 6 Laufzeitpfade
Strings, Sammlungen, Allokation, Datei-I/O, Vier-Arbeiter-Konkurrenz und eine Anwendungs-Kernel für Anforderungszulassungspolitik werden auf Korrektheit geprüft.
7 Proben in beiden Prozess-Kalt- und amortisierten Spuren · load1 13.87 → 12.38 · Rang zurückgehalten
Build-Zeit, wenn die Quelle größer wird
Die obigen Benchmarks erstellen ein Programm, das klein genug ist, um auf einen Bildschirm zu passen, was misst, wie schnell eine Toolchain startet. Es sagt wenig über die Zahl, auf die ein Entwickler tatsächlich wartet, was die Steigung ist. Dieses fünfte Benchmark erzeugt dasselbe Programm in zunehmenden Größen — K unabhängige Vier-Operationen-Funktionen und ein Einstiegspunkt, der ruft sie alle auf — und baut es durch jede Toolchain auf dem Host, in rotierende Reihenfolge.
Es führt dann aus, was jede Toolchain produziert hat, nachdem die Uhr gestoppt wurde. Diese Prüfung ist keine Dekoration. Der schnellste Weg, ein Artefakt zu erzeugen, ist ein defektes ausgeben, sodass eine Bahn, die nicht mehr funktioniert, sonst posten würde seine besten Zahlen genau dort, wo es aufgehört hat zu funktionieren.
Beide Achsen sind logarithmisch: Die Quellen erstrecken sich über drei Größenordnungen, ebenso die Zeiten. Eine Linie endet in einem Punkt, wo der Lauf endete, in einem Kreuz, wo diese Spur ein Artefakt erzeugte, das nicht das Programm ist, und in einer Leiste, wo die Toolchain den Build verweigerte. Diese drei sind nicht dasselbe Ereignis und die beiden untenstehenden Fehler sind nicht derselbe Fehler.
| Toolchain / Ziel | K=1 | K=32 | K=128 | K=129 | K=512 | K=1023 | K=1024 | K=2048 |
|---|---|---|---|---|---|---|---|---|
| Kotoba · Veröffentlichtes CLI · WebAssembly | 11.753 ms | 35.84 ms | 111.538 ms | ungültiges Artefakt | ungültiges Artefakt | ungültiges Artefakt | Build fehlgeschlagen | Build fehlgeschlagen |
| Kotoba / Amu · WebAssembly | 733.255 ms | 825.418 ms | 1123.04 ms | 1123.847 ms | 3380.63 ms | 9242.463 ms | Build fehlgeschlagen | Build fehlgeschlagen |
| Kotoba / Amu · Native aarch64-macos | 962.198 ms | 1509.84 ms | 2973.249 ms | 3000.243 ms | 10601.87 ms | 23725.327 ms | Build fehlgeschlagen | Build fehlgeschlagen |
| Rust / rustc · WebAssembly | 38.992 ms | 45.622 ms | 66.066 ms | 65.56 ms | 151.592 ms | 277.88 ms | 280.867 ms | 595.812 ms |
| Rust / rustc · Native Host | 56.023 ms | 62.849 ms | 82.107 ms | 82.277 ms | 159.519 ms | 261.586 ms | 260.934 ms | 469.277 ms |
| C / Clang · WebAssembly | kein Toolchain | kein Toolchain | kein Toolchain | kein Toolchain | kein Toolchain | kein Toolchain | kein Toolchain | kein Toolchain |
| C / Clang · Native Host | 29.078 ms | 30.442 ms | 35.765 ms | 36.581 ms | 60.594 ms | 104.992 ms | 101.728 ms | 223.232 ms |
| JVM / javac · JVM-Klasse | 171.53 ms | 197.998 ms | 237.582 ms | 238.611 ms | 316.795 ms | 378.252 ms | 377.591 ms | 454.632 ms |
Gemessen 2026-08-31 auf judahnoMac-mini.local (Apple M4). K ist die Anzahl generierter Funktionen; die Kotoba Quelle läuft von 9 bis 14338 Zeilen. Ziele, ABIs, Optimierungsstufen und Laufzeitverträge unterscheiden sich zwischen Bahnen, daher fragt dies nach Entwickler-Feedback-Latenz, nicht äquivalenter Arbeit. Das Host-Last-Gate schlug fehl (load1 2.73–2.73, erforderlich ≤ 1), daher sind dies Beobachtungen dieses Laufs und keine portablen Werte. Da die Bahnen verflochten sind, wird die Reihenfolge separat qualifiziert.
Welche Reihenfolgen den Rauschtest überstehen
Ein Verhältnis ist keine Rangfolge. perfgate verweigert jede Ordnung, deren Lücke innerhalb der eigenen Spannweite der beiden Arme liegt, so groß das Verhältnis auch aussieht, und lehnt einen Arm mit zu wenigen Proben ab oder zu viel Rauschen. Es läuft hier mit seiner eigenen Standardrichtlinie, unentspannt — ein Schwelle gelockert, um dies durchlaufen zu lassen, wäre ein Benchmark, der misst seine eigenen Schwellenwerte. Da die Lanes auf einem Host verflochten sind, entsteht eine Lücke wer diesen Test besteht, übersteht es, wenn der Host beschäftigt ist.
| Größe | Verglichen mit | Kotoba schneller? | Lücke vs kombinierte Streuung | Warum nicht, wenn nicht |
|---|---|---|---|---|
| K=1 | C / Clang · Native Host | ja, qualifiziert | 17.1 ms vs 1.0 ms | — |
| K=1 | JVM / javac · JVM-Klasse | ja, qualifiziert | 160.8 ms vs 5.4 ms | — |
| K=1 | Rust / rustc · Native Host | ja, qualifiziert | 44.2 ms vs 0.6 ms | — |
| K=1 | Rust / rustc · WebAssembly | ja, qualifiziert | 27.1 ms vs 0.5 ms | — |
| K=32 | C / Clang · Native Host | nein | 5.3 ms vs 1.0 ms | Verbesserung unter Schwelle |
| K=32 | JVM / javac · JVM-Klasse | ja, qualifiziert | 161.9 ms vs 1.2 ms | — |
| K=32 | Rust / rustc · Native Host | ja, qualifiziert | 26.7 ms vs 0.7 ms | — |
| K=32 | Rust / rustc · WebAssembly | ja, qualifiziert | 9.8 ms vs 0.6 ms | — |
| K=128 | C / Clang · Native Host | nein | 75.8 ms vs 1.2 ms | Verbesserung unter Schwelle |
| K=128 | JVM / javac · JVM-Klasse | ja, qualifiziert | 126.2 ms vs 2.2 ms | — |
| K=128 | Rust / rustc · Native Host | nein | 29.3 ms vs 1.4 ms | Verbesserung unter Schwelle |
| K=128 | Rust / rustc · WebAssembly | nein | 45.8 ms vs 1.1 ms | Verbesserung unter Schwelle |
Verbesserung-unter-Schwelle bedeutet, dass die Kotoba Lane bei dieser Größe überhaupt nicht schneller war. Der Vorteil ist real und qualifiziert beim Kaltstart, und er ist gegen C bei K=32 und gegen Rust bei K=128 verschwunden. Dieser Kreuzungspunkt ist das Ergebnis, daher wird er gezeigt und nicht zusammengefasst.
Zwei Fehler, die nicht derselbe Fehler sind
Drei Kotoba-Spuren funktionierten in diesem Lauf nicht mehr, und sie als eine zu veröffentlichen Reihe wäre falsch gewesen. Eine ist ein Defekt. Die anderen beiden sind erklärt Grenzen werden genau wie angegeben durchgesetzt und als Defekte gemeldet würde bedeuten, die Grenzen statt des Compilers zu messen.
| Beobachtung | Lesen |
|---|---|
| Das veröffentlichte kotoba CLI gibt ein Modul aus, das nicht über 128 Funktionen hinaus kompiliert | Ein Defekt und der Grund, innerhalb eines Harness zu validieren. Bei K=129 muss ein Aufruf Funktionsindex 128 tragen, den ersten Wert, der zwei LEB128-Bytes benötigt, und der Emitter schreibt eines. Die Bytes zeigen, dass es kein fehlender Encoder, sondern ein ungenutzter ist: local.set 128 wird 80 01 geschrieben, und call 128 eine Instruktion später wird 80 geschrieben. Die Anzahl der abgeschnittenen Operanden ist genau K minus 128. Der aktuelle Compiler hat das nicht – Amu baut K=129 korrekt, und die Korrektur ist seit vor der Markierung dieser Veröffentlichung im Standardzweig seines Emitters. |
| Jede Kotoba-Spur fängt bei K=512 ab, wenn sie mit Standardeinstellungen gebaut wird | Kein Defekt. Ein Kotoba-Modul trägt ein deklariertes Aufruf-Treibstoff-Budget und der Compiler-Standard sind 512 Aufrufe, die diese Arbeitslast bei K=512 überschreitet, wo der Einstiegspunkt 512 Blätter aufruft. Das Testgerüst deklariert 1,048,576 Einheiten explizit und protokolliert dies. C, Rust und Java haben keine äquivalente Grenze, die erhöht werden könnte. |
| Amu lehnt das Modul sofort ab, sobald es mehr als 1,024 Funktionen enthalten würde | Auch kein Defekt und das Gegenteil der ersten Zeile. max-functions ist ein deklarierter Zulassungsgrenzwert, sodass der Compiler mit kotoba.error/subset-reject stoppt und benennt, was er abgelehnt hat, anstatt etwas auszugeben, das nicht geladen wird. Eine laute Obergrenze und eine stille sind sehr unterschiedliche Ergebnisse, und nur ein Testgerüst, das das Artefakt ausführt, unterscheidet sie. Gemessen 2026-09-07: dies ist die Obergrenze des gesamten Programms, nicht eines Moduls — max-project-functions ist ebenfalls 1,024 und wird gegen das verlinkte Projekt geprüft, sodass heute kein Modul-Arrangement ein 2,048-Funktionsprogramm kompiliert. |
Was dies etabliert
| Frage | Antwort aus diesem Lauf |
|---|---|
| Wie schnell ist ein kalter Kotoba Build eines kleinen Moduls? | Das veröffentlichte CLI baut K=1 in 11.753 ms prozess-kalt, Artefakt ausgeführt und Antwort geprüft — das schnellste erste Ergebnis einer hier gemessenen Lane. |
| Wie groß kann ein Modul sein, das die freigegebene Binärdatei bauen kann? | Bis zu 128 Funktionen. Darüber hinaus ist es nicht langsamer, es ist falsch, und dieses Testgerüst meldet das als eine fehlgeschlagene Spur statt als eine schnelle. |
| Bleibt die Build-Zeit wettbewerbsfähig, wenn die Quelle wächst? | Durch K=128 wird die veröffentlichte CLI in der obigen Tabelle mit Rust und C gemessen. Ab diesem Punkt ist der einzige Kotoba Compiler, der noch ein korrektes Modul ausgibt, Amu, der auf nbb läuft und nicht als veröffentlichte Binärdatei, und bei jeder gemessenen Größe etwa eine Größenordnung langsamer ist – daher ist bei großen Größen die Build-Geschwindigkeit derzeit keine Kotoba Stärke, und diese Seite wird das nicht anders behaupten. |
| Wie groß wurde eine Quelle von Anfang bis Ende gebaut? | K=1023 durch Amu — 7163 Zeilen von Kotoba, Artefakt ausgeführt und die Antwort überprüft. Das ist eine Funktion weniger als die deklarierte 1,024-Obergrenze, und die nächsthöhere Größe wird abgelehnt statt fehlerhaft gebaut. |
| Ist der erzeugte Code schnell? | Außerhalb des Umfangs hier — dies misst das Bauen, nicht das Ausführen. Die native Laufzeitsuite oben stellt diese Frage. |
Fazit: Bei der kleinsten Größe ist das veröffentlichte Binär schneller als jeder Vergleich hier mit einem Abstand, der den Rauschtest übersteht, und es hat eine harte Korrektheitsgrenze bei 128 Funktionen. Der Compiler ohne diese Obergrenze ist bei jeder Größe ungefähr eine Größenordnung langsamer gemessen. Beide Fakten stammen vom selben Lauf, und das Testgerüst, das sie fand, ist öffentlich, damit dem Lauf widersprochen werden kann.
Wie lange jede native Arbeitslast tatsächlich dauert
Das untenstehende Raster berichtet die Marge zwischen zwei Armen. Das ist die Zahl perfgate-Regeln an, aber ein Prozentsatz allein sagt nicht, ob ein Arbeitslast läuft in fünf Millisekunden oder fünfhundert und verbirgt das Unterschied zwischen einem umstrittenen Paar und einem irrelevanten. Diese Panels sind die Mediane, aus denen diese Margen berechnet werden. Amu native ist die farbige Spur in jedem Panel — einschließlich der Panels, in denen es nicht zuerst ist. Jedes Panel ist skaliert auf seinen eigenen langsamsten Arm, weil die Frage, die ein Gremium beantwortet, ist, wer schneller bei dieser Arbeitslast.
Schmale Arithmetik
Hoher Registerdruck
Tiefer Spill-Druck
Aufruf-Erhaltung
Verzweigungs- + Aufrufsteuerfluss
Schleifen-Rückrufkante
Median Millisekunden über 5 host-qualifizierte Läufe; kürzer ist schneller. Jeder Arm lieferte dieselbe unabhängig geprüfte Antwort, und der Kandidaten-Median ist ein Wert pro Arbeitslast — das Suite rotiert jedes Engine-Paar in ABBA/BAAB-Reihenfolge, sodass dasselbe Amu-Artefakt einmal pro Arbeitslast getimt und dann gegen jeden Arm verglichen wird. Im Gegensatz zu den anderen vier Benchmarks auf dieser Seite hat dieses das Quiet-Host-Gate BESTANDEN (qualifiziertes Host-Load), daher sind dies Werte für diesen Host und nicht nur Beobachtungen. Die begrenzte schnellste Behauptung benötigt noch alle 30 Paare, wofür das untenstehende Raster ist.
Jedes Laufzeitpaar, Gewinn oder Verlust
Die begrenzte Behauptung ist Alles-oder-Nichts, daher macht ein einzelnes nicht qualifiziertes Paar sie falsch. Nur dieses Urteil zu veröffentlichen würde verbergen, welche Paare umstritten sind, daher das Ganze Raster ist hier. Eine Zelle ist die durchschnittliche Verbesserung von Amu native gegenüber diesem Vergleichswert bei dieser Arbeitslast; positiv bedeutet Amu ist schneller, und ein Häkchen markiert die Paare, die klarer Perfgate — mindestens 5% und getrennt von der eigenen Streuung der Arme.
| Workload | Rust | Clang / C11 | Zig | Go c-shared | Swift |
|---|---|---|---|---|---|
| Schmale Arithmetik | +0.4% | -0.6% | +20.1% | +84.7% | -0.6% |
| Hoher Registerdruck | +6.5% | +10.9% | +16.9% | +86.0% | +87.1% |
| Tiefer Spill-Druck | +4.2% | +9.3% | +5.1% | +82.2% | +92.6% |
| Aufruf-Erhaltung | -1.0% | -0.3% | +42.9% | +85.2% | +29.6% |
| Verzweigungs- + Aufrufsteuerfluss | -2.6% | -7.1% | +43.8% | +85.2% | +25.1% |
| Schleifen-Rückrufkante | +0.8% | -0.1% | +32.4% | +17.2% | +24.8% |
Jede Zelle ist eine Leiste, die von einer Mittellinie wächst: rechts davon ist Amu native schneller, links davon langsamer. Die beiden Richtungen sind separat skaliert — die Gewinne reichen bis +93% und die Verluste nur bis −7%, sodass eine gemeinsame Skala jedes umstrittene Paar in denselben unsichtbaren Schlitz flachen würde. Das Vorzeichen wird auch durch die Seite der Linie und durch die vorzeichenbehaftete Zahl getragen, sodass keine Lesung dieses Gitters davon abhängt, zwei Farben zu unterscheiden.
19 von 30 Paaren qualifiziert (Median von 5; 19 in jedem Lauf) · Kandidat 42f092ea5b61 · Apple M4, 10 logische CPUs, 16 GiB
Optimierungsbereitstellung nach dem veröffentlichten Lauf
Der oben datierte Benchmark bleibt unveränderlich. Neue Implementierungsschnitte werden separat gelistet, bis die Suite mit demselben Artefakt neu läuft und ihre Qualifikationstore besteht.
| Oberfläche | Geliefert | Beweisgrenze |
|---|---|---|
| Native Vektoren / Allokation | Begrenzte nicht entweichende Vektor-Literale sind auf x86-64 und AArch64 entweichungssicher und skalarersetzt. | 211 Backend-Tests / 2,442 Assertions; entkommende Vektoren behalten die geprüfte Host-ABI. Noch keine neue Rangzeit. |
| String SIMD | POSIX-geprüfte Gleichheit verwendet expliziten 16-Byte NEON- oder SSE2-Vergleich nach Handle- und kanonischer UTF-8-Validierung. | Optimierter Assembler und beide nativen ISA-semantischen Vektoren verifiziert. Windows bleibt separat fixiert; Latenz-Rang ausstehend. |
| Async E/A-Fähigkeit | Wurzelbegrenzte endgültige Lese/Schreib/List/Exist/Delete verwenden CompletableFuture auf JVM und fs.promises auf Node. | JVM- und Node-Tests mit echtem Dateisystem bestehen. Der öffentliche eigenständige Wasm-Benchmark hat noch keine zugelassene Hostbindung, daher bleibt seine I/O-Zelle N/A. |
| Strukturierte Nebenläufigkeit | Ein begrenzter 32-Kind-Fail-Fast-Bereich verbindet, bricht Geschwister ab und verhindert das Entkommen der Kind-Lebensdauer als kanonischer Kotoba-Zustand. | 996 Paritätsbehauptungen über .kotoba Autorität und CLJC Ladepfad. Dies sind strukturierte Lebenszeitsemantiken, kein OS-Thread-Durchsatz-Ergebnis. |
| Kotoba CLI | kotoba test/build verwendet den neuen Compiler-Pin; kotoba compile erzeugt direkt versiegelte x86-64 und AArch64 KEXE. | Öffentliche CLI-Lebenszyklus- und AArch64-Vektor-Artefakt verifiziert. Native --run bleibt abgelehnt, bis ein gemessener Loader-Beleg verdrahtet ist. |
Compiler-Start, vier Toolchains
Prozess-kalte Wandzeit für eine winzige Quelle, in Millisekunden; kürzer ist schneller. 21 rotierende Proben pro Toolchain auf Apple M4. Das Host-Last-Gate SCHLUG bei diesem Lauf fehl, daher sind dies Beobachtungen einer Maschine, keine Rangliste.
| Toolchain | Ausgabe | Median | p95 | Relative verstrichene Zeit |
|---|---|---|---|---|
| Kotoba | WebAssembly | 40.998 ms | 240.415 ms | 1× Kotoba |
| Rust / rustc | WebAssembly | 126.422 ms | 770.495 ms | 3.084× Kotoba |
| C / Clang | WebAssembly | 146.324 ms | 498.618 ms | 3.569× Kotoba |
| JVM / javac | JVM-Klasse | 961.248 ms | 2223.49 ms | 23.446× Kotoba |
KOTOBA 0.7.3 · RUSTC 1.97.1 · Homebrew clang Version 22.1.7 · javac 24.0.2. Kotoba, Rust und C erzeugen Wasm; javac erzeugt eine Klassendatei. Unterschiedliche Ziele und Compiler-Arbeiten machen dies zu einer Startbeobachtung, nicht zu einer universellen Rangfolge. Das aufgezeichnete Host-Last-Tor ist fehlgeschlagen, daher ist die Tabelle kein qualifizierter Geschwindigkeitsrang.
| Toolchain / Ziel | Auflösen | Prüfen | Sauberer Build | Keine-Änderung-Build | Start + Ausführung | Sauberer Build + erstes Ergebnis |
|---|---|---|---|---|---|---|
| Kotoba · WebAssembly | N/A | 231.75 ms | 62.906 ms | 42.332 ms | 57.253 ms | 142.644 ms |
| Rust / Cargo · arm64 macOS nativ | 138.018 ms | 71.208 ms | 896.478 ms | 67.764 ms | 371.522 ms | 1299.171 ms |
| C / Clang · arm64 macOS nativ | N/A | 90.446 ms | 121.838 ms | 77.905 ms | 327.741 ms | 453.685 ms |
| Zig · WebAssembly | N/A | 387.713 ms | 648.665 ms | 464.795 ms | 67.523 ms | 728.007 ms |
| TinyGo · arm64 macOS nativ | N/A | N/A | 1059.624 ms | 395.305 ms | 203.169 ms | 1269.918 ms |
| Go · arm64 macOS native | 43.553 ms | 6979.823 ms | 3499.277 ms | 150.902 ms | 247.051 ms | 3755.431 ms |
| Swift / SwiftPM · arm64 macOS nativ | 1017.252 ms | 427.372 ms | 3695.557 ms | 1259.829 ms | 431.84 ms | 4016.271 ms |
| JVM / javac · JVM-Klasse | N/A | N/A | 805.822 ms | 739.957 ms | 76.252 ms | 882.074 ms |
| AssemblyScript · WebAssembly | N/A | 1074.197 ms | 895.187 ms | 1090.658 ms | 64.658 ms | 954.878 ms |
| .NET IL · .NET IL | 2309.472 ms | N/A | 4750.407 ms | 2141.103 ms | 79.248 ms | 4851.792 ms |
| .NET Native AOT · arm64 macOS Native AOT | 2236.962 ms | N/A | 11995.489 ms | 2707.907 ms | 375.7 ms | 12391.54 ms |
Jedes ausgegebene Artefakt erzeugte 42 in einem frischen Prozess. Ziele und Laufzeitverträge unterscheiden sich; N/A ist nie Null. Das Host-Lade-Gate ist fehlgeschlagen, daher sind dies reproduzierbare Beobachtungen und kein sprachübergreifendes Geschwindigkeitsranking.
Sechs Bereiche nebeneinander
Jedes Panel wird an seine eigene langsamste Spur angepasst, weil die Frage eines Panels Antworten sind, wer in diesem Bereich schneller ist, nicht wie die Bereiche miteinander verglichen werden andere. Kotoba's Spur ist die farbige in jedem Panel — einschließlich des Panels, wo es zuletzt ist. Sein eigenständiges Wasm-Artefakt läuft durch einen Node hostet und bezahlt diesen Start bei jeder prozesskalten Probe, während Rust, C und Go als native Binärdateien ausführen; wo das Ziel kein Umgebungsdateisystem oder Thread Vertrag überhaupt nicht, die Spur ist abwesend statt null.
String
Sammlung
Zuweisung
E/A
Nebenläufigkeit
Echte Anwendung
Prozess-kalte Mediane in Millisekunden; kürzer ist schneller. Das Host-Last-Gate bei diesem Lauf fehlgeschlagen, daher sind diese Panels Beobachtungen und keine Rangliste, und die amortisierte Lane unten erzählt wieder eine andere Geschichte.
| Laufzeitpfad | String | Sammlung | Zuweisung | Datei-I/O | Nebenläufigkeit | Echte Anwendung |
|---|---|---|---|---|---|---|
| Kotoba / Wasm + typisierter JS-Host | 30.539 ms | 29.98 ms | 29.567 ms | N/A | N/A | 29.652 ms |
| Rust | 1.907 ms | 1.92 ms | 1.943 ms | 2.686 ms | 3.328 ms | 2.047 ms |
| C / Clang | 1.463 ms | 1.357 ms | 1.353 ms | 2.539 ms | 2.916 ms | 1.294 ms |
| Los | 1.974 ms | 1.852 ms | 1.962 ms | 6.577 ms | 3.377 ms | 1.964 ms |
| JVM / Java | 27.819 ms | 31.42 ms | 26.447 ms | 38.685 ms | 34.828 ms | 26.411 ms |
| JavaScript / Node.js | 31.628 ms | 31.818 ms | 31.055 ms | 94.124 ms | 55.105 ms | 29.534 ms |
Jede Probe lieferte die exakte Referenzprüfsumme zurück. Kotoba verwendet sein erzeugtes Wasm und deklarierte typisierte ABI; sein eigenständiges Ziel hat kein Umgebungsdateisystem oder Thread-Vertrag, daher werden diese Zellen als N/A betrachtet. Das aufgezeichnete Host-Load-Gate schlug fehl, daher sind Mediane Beobachtungen, keine Rangfolge.
| Laufzeitpfad | String | Sammlung | Zuweisung | Datei-I/O | Nebenläufigkeit | Echte Anwendung |
|---|---|---|---|---|---|---|
| Kotoba / Wasm + typisierter JS-Host | 0.351 ms | 0.039 ms | 0.066 ms | N/A | N/A | 0.048 ms |
| Rust | 0.028 ms | 0.002 ms | 0.003 ms | 1.217 ms | 1.456 ms | 0.002 ms |
| C / Clang | 0.02 ms | 0.001 ms | 0.003 ms | 1.61 ms | 1.558 ms | 0.001 ms |
| Los | 0.023 ms | 0.002 ms | 0.004 ms | 5.071 ms | 1.582 ms | 0.002 ms |
| JVM / Java | 0.433 ms | 0.051 ms | 0.064 ms | 17.175 ms | 5.589 ms | 0.043 ms |
| JavaScript / Node.js | 0.336 ms | 0.033 ms | 0.067 ms | 68.507 ms | 7.771 ms | 0.032 ms |
Jede größere In-Prozess-Batch wird durch ihren deklarierten Arbeitslast-Multiplikator geteilt. Dies amortisiert den Start, entfernt aber nicht vollständig Prozess-, VM- oder Wasm-Instanziierungskosten, daher wird es nicht als perfekt erwärmtes Gleichgewichtsergebnis bezeichnet. Kotoba's reine ink/dec Map-Ketten sind in reduce ohne Zwischenvektoren verschmolzen; Rückrufe außerhalb dieser bewiesenen Teilmenge behalten eifrige Materialisierung bei.
| Frage | Verglichene Implementierungen | Aktuelle Schlussfolgerung |
|---|---|---|
| Kleine Wasm-Kompilierung + Ausführung | Kotoba, Rust, C und JVM Toolchains | Vier prozesskalte Mediane oben veröffentlicht; nur Kotoba/Rust/C teilen das Wasm-Ziel, und kein allgemeiner Build-Geschwindigkeitsrang wird beansprucht |
| Entwicklerzyklus für Kleinprojekte | Kotoba, Rust, C, Zig, TinyGo, Go, Swift, JVM, AssemblyScript, .NET IL und .NET Native AOT | Sieben Proben pro verfügbarer Stufe werden veröffentlicht; Zielunterschiede und ein fehlgeschlagenes Host-Last-Gate verhindern ein universelles Ranking |
| Native Dauerbetriebsausführung | Amu native vs Rust, Clang / C11, Zig, Go c-shared, Swift | Alle 30 semantischen Vergleichszellen sind vollständig; Geschwindigkeitsrang zurückgehalten, weil das ruhige Host-Tor fehlgeschlagen ist |
| Strings, Sammlungen, Allokation, E/A, Nebenläufigkeit und echte Anwendung | Kotoba, Rust, C, Go, JVM und JavaScript Laufzeitpfade | Exakte Prüfsummen und Prozess-kalt plus amortisierte Stichproben sind veröffentlicht; eigenständige Kotoba I/O und Threads sind N/A, während seine reine Antragszulassung gemessen wird; das fehlgeschlagene Lade-Gate hält das Ranking zurück |
Was die native Suite abdeckt
Jede Implementierung liefert eine unabhängig geprüfte bekannte Antwort. Die Suite rotiert jedes Motorpaar in ABBA/BAAB-Reihenfolge und misst nach Laden, Mapping und Symbolsuche.
| Workload | Was es betont | Nachweisstatus |
|---|---|---|
| Schmale Arithmetik | Exaktes Ergebnis verifiziert; Zeitmessung nicht qualifiziert | |
| Hoher Registerdruck | Exaktes Ergebnis verifiziert; Zeitmessung nicht qualifiziert | |
| Tiefer Spill-Druck | Exaktes Ergebnis verifiziert; Zeitmessung nicht qualifiziert | |
| Aufruf-Erhaltung | Exaktes Ergebnis verifiziert; Zeitmessung nicht qualifiziert | |
| Verzweigungs- + Aufrufsteuerfluss | Exaktes Ergebnis verifiziert; Zeitmessung nicht qualifiziert | |
| Schleifen-Rückrufkante | Exaktes Ergebnis verifiziert; Zeitmessung nicht qualifiziert |
Wo jeder Benchmark lebt
Jede obige Zahl stammt aus einem öffentlichen Harness und einem festgeschriebenen Bericht, daher ein Der Lauf kann wiederholt werden und einer Behauptung kann widersprochen werden. Die Pfade im Repository in diese Tabelle wird gegen den Arbeitsbaum geprüft, wenn diese Seite generiert wird: Ein Harness, das Fehler zum Build-Abbruch führt, anstatt einen toten Link zu liefern.
Das Tor, durch das jede Reihenfolge auf dieser Seite geht, ist kotoba-lang/perfgate, läuft mit seiner eigenen nicht gelockerten Standardrichtlinie. Eine Schwelle wurde gelockert, um ein Ein Durchlauf wäre ein Benchmark, der seine eigenen Schwellenwerte misst.
Fazit: Die Artefakte, exakten Ergebnisse und Proben sind in allen fünf Benchmarks real. Drei davon — Compiler-Start, Entwickler-Schleife und Arbeitslast-Domänen — haben ihr ruhiges Host-Tor nicht bestanden, daher rangieren sie nichts und werden als Beobachtungen veröffentlicht. Die native Laufzeitsuite hat ihr Tor bestanden und gewinnt 19 von seinen 30 Paaren, knapp unter der Behauptung für jedes Paar, die sie bräuchte. Die Bau-Skalierung qualifiziert ihre Kaltstart-Reihenfolge gegen jeden Vergleichswert auf dem Host und findet eine Korrektheitsdecke im selben Lauf. Kein universeller Geschwindigkeitsrang wird auf dieser Seite beansprucht, und keiner dieser Läufe erlaubt einen solchen.
Behauptungen mit ihren angehängten Grenzen
Diese Ansprüche werden generiert aus lang/safety-claims.edn. Jede behält ihre vertrauenswürdige Rechenbasis und das Restrisiko sichtbar, denn ein Sicherheitsslogan ohne Grenze ist nur Marketing.
Zugelassene Komponenten können keine Laufzeit-/native Speicher- und Komponenten-Speicheroperationen adressieren; diese sind begrenzt oder führen zu einem Trap.
Vertrauenswürdige Rechenbasis
begrenzter Leser · Frontend-Zulassung · Artefakt-Verifizierer · Wasm/native Laufzeit
Restrisiko
- Laufzeit-Engine-Schwachstellen verbleiben im TCB
- Native Loader erfordern eine zweite OS-Isolationsgrenze
Jede transitive Komponentenauswirkung wird vor der Ausgabe deklariert und zugelassen, einschließlich der von Kotoba-geschriebenen Anbieter verwendeten Effekte.
Vertrauenswürdige Rechenbasis
Effektinferenz · Fähigkeitskatalog · Frontend-Aufrufgraph
Restrisiko
- kotoba und Compiler-Grammatik/Effekt-Parität müssen kontinuierlich verglichen werden
Eine nicht gewährte Fähigkeit ist abwesend oder ungebunden und kann keinen Anbieter oder nativen Handler erreichen.
Vertrauenswürdige Rechenbasis
Politikschnittmenge · Compiler-Import-Emission · Tender-Import-Bindung · Host-Schutz
Restrisiko
- Anbieter- und native Implementierungen müssen den Ressourcenbereich unabhängig validieren
- Produktive wirksame Gewährungen müssen Wildcard-Bereich verbieten
Die gleiche zugelassene Quelle, Ziel, Richtlinie und Sperre erzeugen dasselbe beobachtbare reine Ergebnis und Artefakt-Bytes.
Vertrauenswürdige Rechenbasis
kanonischer Leser · deterministische Absenkung · festgelegte Toolchain
Restrisiko
- Wirkungseffekte sind nur dort deterministisch, wo ihr Fähigkeitsvertrag dies vorsieht
Quelle, Zulassung, Ausführung, Speicher und Ausgabe verwenden explizite endliche Grenzen.
Vertrauenswürdige Rechenbasis
Zulassungsgrenzen · Treibstoffanzeige · Laufzeitkontingent · Supervisor-Timeout
Restrisiko
- Plattform-Supervisoren haben noch keinen gleichwertigen Nachweis der Produktionsisolation
Freigabezulassung bindet Artefaktidentität, vertrauenswürdigen Unterzeichner, Gültigkeit und reproduzierbare Beweise.
Vertrauenswürdige Rechenbasis
Signaturprüfer · vertrauenswürdige Signaturkonfiguration · Uhr · Widerrufsset
Restrisiko
- Schlüsselverwaltung und externe Widerrufsverteilung bleiben betriebliche TCB
Eine gemeinsame portable Komponente hat gleiche Akzeptanz, Ergebnis und Effektspur über qualifizierte Backends.
Vertrauenswürdige Rechenbasis
gemeinsames Konformitätsmanifest · Backend-Adapter · Vergleichsläufer
Restrisiko
- Nur-Compiler-Funktionen sind nicht portabel und müssen von portablen Profilen abgelehnt werden
Ein Komponentenimport erreicht seinen Anbieter oder nativen Handler nur mit einem konkreten Post-Intersections-Ressourcenscope und gibt eine Quittung aus.
Vertrauenswürdige Rechenbasis
Fähigkeitsschnittmenge · Host-Schutz · Anbieter-Handler · Beleg-Senke
Restrisiko
- Anbieterspezifische Pfad-, Weiterleitungs-, Symlink- und Mandantenprüfungen erfordern Q5-Kits
Qualifikation Q1, Stand 2026-07-18.
Release-Bindung
Ein Sprachprofil und eine Implementierungsversion sind getrennt, bis ein signierter Umschlag sie verbindet.
Profil 6
Paketvertrag 1
v0.7.0
Profilbindung: verifiziert
VERÖFFENTLICHT
:docs/release-bound-profile
Kotoba v0.7.0 für darwin-arm64 ist die öffentliche Implementierung, gebunden an das Sprachprofil 6 und den Paketvertrag 1. Sein signierter Umschlag überprüft den Quellbaum, den Artefakt-Digest und das 536-Test- / 8,580-Assertions-Konformitätsergebnis. Andere Plattformen bleiben ungebunden.
Lies die generierten Release-NachweiseStarte in sechzig Sekunden
Installieren und Selbstprüfung
brew tap kotoba-lang/kotoba
brew trust kotoba-lang/kotoba
brew install kotoba
kotoba selfhost check --json
Akzeptiere eine gültige Antwort mit einer leeren Problemliste.
Ein erstes Programm
(defn main []
(+ 40 2))
Dieses Programm fordert keine Host-Importe an; das erzeugte Modul hat keine Importe.
Lernen, ausprobieren, dann tiefer gehen
Ein verbundener Pfad vom ersten Programm zu Sprachverträgen, Bibliotheken, Belegen und Bereitstellungsoberflächen.
Dokumentation nach Absicht
Beginnen Sie mit der Installation, lernen Sie die zugelassene Sprache oder prüfen Sie die normative Semantik und Konformitätsdaten.
Offene DokumentationskarteEine Quelle, eine Antwort
Das untenstehende Beispiel ist der exakt kompilierte Quellcode der Browser-Demo – keine JavaScript-Neuimplementierung.
Beispiel lesenAuf dieser Seite ausführen
Laden Sie ein gleichherkunftsgebundenes, digest-gebundenes WebAssembly Artefakt und rufen Sie seine exportierte Kotoba Hauptfunktion auf.
Offenes SpielBibliotheken und Verträge
Durchsuchen Sie begrenzte Kernnamen, grundlegende Bibliotheken, Paketregeln und deren aktuellen Reifegrad.
Bibliotheken durchsuchenEin kleines Kotoba Programm, läuft real
Amu kompiliert diesen reinen Kotoba-Quellcode zum wasm32-Browser-Profil. Das eingecheckte Artefakt hat keine Importe und gibt 42 zurück.
;; W1 pure representative: ordinary Clojure-shaped values/functions only.
(ns examples.w1-pure)
(defn double [n]
(+ n n))
(defn main []
(double 21))
Hervorgehobene Autorität: kotoba-lang/grammar → kotoba.grammar.highlight/tokenize → Buildzeit-HTML. Editor-Umfang-Vertrag: source.kotoba. Browser-Hervorhebungsabhängigkeit: keine. Abhängigkeiten prüfen
Lokal kompilieren: kotoba compile double-21.kotoba --target wasm32-browser --output double-21.wasm
Führe das verifizierte Artefakt aus
Der Browser lädt 344 Bytes, überprüft SHA-256, lehnt jeden Import ab, instanziiert das Modul und ruft main() auf.
Erwartetes Ergebnis:
42
Bereit. Es wurde noch kein Code ausgeführt.
Dies führt ein vorkompiliertes, unveränderliches Beispiel aus. Das Bearbeiten beliebigen Quellcodes im Browser ist noch keine ausgelieferte Compiler-Oberfläche.
Interaktive Demos: solar-helix (gastgesteuertes WebGPU-Rendering) · kami-Überlebende (ein .kotoba-Spiel) · gpu-clear (WebGPU Rauchtest). Gehostet auf der wasm-webcomponent GitHub Pages Oberfläche; Verfügbarkeit ist abhängig von browser-spezifischer WebGPU/WebAssembly Unterstützung.
Bibliotheken, ohne die Paketgrenze zu verbergen
Kotoba Bibliotheken sind inhaltsadressierte Graphen. Namen und GitHub Repositorien helfen Menschen, sie zu entdecken; Definition und signierte Release-CIDs sagen genau, was sie sind.
Generierte Symbolreferenz
Suchen Sie die Namen, die vom aktuellen begrenzten Standardbibliotheksvertrag zugelassen sind.
Durchsuchen Sie KernsymboleDaten, Effekte, I/O, Werkzeuge
Beginne mit coll, spec, json, text, wit, async, time, fs, http, test, fmt, lint und LSP-Verträgen.
Bibliothekskarte durchsuchenInhaltsadressierte Abhängigkeiten
Exakte Abhängigkeits-CIDs, Identitätsschichten, GitHub Herkunft und die aktuelle Veröffentlichungsgrenze inspizieren.
Öffnen Sie den Bibliothekskatalog und den VeröffentlichungsflussDurchsuchen Sie die gesamte Organisation nach Tag
Es gibt 2,215 öffentliche Repositorien in der kotoba-lang Organisation. Jeder untenstehende Tag ist das GitHub Thema von derselbe Name, sodass der Seitenfilter und die Themen der Organisation ein Vokabular sind statt zwei, die abdriften. Wähle eine, um den bereits gefilterten Katalog zu öffnen.
Durchsuchen und filtern Sie alle 2,215-Repositorys
Ein Repository ist kein veröffentlichtes Paket. Genau 1 Bibliothek wird über das inhaltsadressierte Register veröffentlicht; der Rest dieser Liste ist Entdeckung. Reifegrad-Labels von Repositories implizieren keine 1.0 API-Stabilität, breite Akzeptanz oder Produktions-SLOs, und 255 Repositories entsprechen keiner Domänenregel und werden unmarkiert statt mit dem nächstgelegenen Label angezeigt.
Die geprüfte Referenz durchsuchen
Befehle, Standardbibliotheksnamen, Diagnosen und Veröffentlichungsstatus durchsuchen. Der Index wird aus Maschinenautoritäten generiert und bleibt auf dieser Seite.
Versuchen: kompilieren, option-some, docs/link-missing
Release-Bindung
Kotoba v0.7.0 für darwin-arm64 ist die öffentliche Implementierung, gebunden an das Sprachprofil 6 und den Paketvertrag 1. Sein signierter Umschlag überprüft den Quellbaum, den Artefakt-Digest und das 536-Test- / 8,580-Assertions-Konformitätsergebnis. Andere Plattformen bleiben ungebunden.
Offene Referenz
kotoba id
Erstelle einen kettenneutralen Kotoba Principal-Einschreibungsplan, der durch einen Passkey gesteuert wird. Smart Accounts sind explizite CAIP-10 Verknüpfungen; keine Kette oder Anbieter ist die Identitätswurzel.
Offene Referenz
kotoba compile
Kompiliere Kotoba-Familienquellcode zu einem Zielartefakt. Web .kotoba verwendet geprüfte KIR und das eingeschränkte kotoba-script Backend; .cljs bleibt ClojureScript.
Offene Referenz
kotoba check
Validieren Sie Kotoba Quelle, Verträge oder Paket-Metadaten ohne Ausführung. Compiler-Adapter: Frontend-Admit + --profile pure-product (T9.2).
Offene Referenz
kotoba graph
Abfragen und Transaktionen des Sprachgraph-Speichers (kgraph) mit Datomic-ähnlichen Operationen.
Offene Referenz
kotoba git
Stellen Sie Kotoba Repository-Operationen als Daten dar, nicht als shellspezifisches Verhalten.
Offene Referenz
kotoba rad
Führen Sie schnelle Anwendungsentwicklungs-Workflows über Kotoba-Pakete aus.
Offene Referenz
kotoba build
Bauen Sie ein Kotoba-Projekt in sein geprüftes Zielartefakt. Dies ist der direkte Projektlebenszyklus-Befehl; rad build bleibt eine Kompatibilitätsschreibweise.
Offene Referenz
kotoba test
Überprüfen und führen Sie die zugelassenen Tests für ein Kotoba-Projekt aus. Dies ist der direkte Projektlebenszyklus-Befehl; rad test bleibt eine Kompatibilitätsschreibweise.
Offene Referenz
kotoba deploy
Planen und wenden Sie den gewünschten Paket-Zustand auf eine lokale Quittung oder ein Murakumo-Flottenziel an.
Offene Referenz
kotoba library
Untersuche und veröffentliche einen inhaltsadressierten Bibliotheks-Namespace über die bestehende Kotoba Codebasis und den IPNS-Veröffentlichungspfad.
Offene Referenz
kotoba hinshitsu
Führen Sie Softwarequalitätsprüfungen (Beweise, Gates, Abdeckung, visuelle Regression) als Daten durch.
Offene Referenzstdlib-binär-closure-anker
Begrenzter Kern-Standardbibliotheks-öffentlicher Name.
Offene Referenz:command/unknown
Der angeforderte Befehl ist nicht im öffentlichen CLI-Vertrag enthalten. Verwenden Sie einen Befehl, der aus lang/cli.edn generiert wurde.
Offene Referenz:contract/invalid
Der CLI-Vertrag hat die strukturelle Validierung nicht bestanden. Untersuche die strukturierte :errors-Sammlung; führe den Befehl nicht aus.
Offene Referenz:version/nicht-unterstützt
Die angeforderte Sprach- oder Paketvertragsversion ist unbekannt. Wählen Sie eine unter :supported in lang/version-policy.edn gelistete Version.
Offene Referenz:version/entfernt
Die angeforderte Vertragsversion wurde entfernt. Migrieren Sie zur aktiven Version, bevor Sie kompilieren oder ausführen.
Offene Referenz:version/Abkündigung-abgelaufen
Das Kompatibilitätsfenster für eine veraltete Version ist abgelaufen. Wenden Sie die Migration an, die durch die Versionsrichtlinie benannt ist.
Offene Referenz:release/invalid-semver
Eine Release-Kennung ist kein striktes SemVer. Verwenden Sie MAJOR.MINOR.PATCH mit optionalem gültigem Pre-Release- oder Build-Suffix.
Offene Referenz:docs/no-release-bound-profile
Keine veröffentlichte Implementierungsnachweise binden das aktive Sprachprofil. Halte den öffentlichen Standard blockiert, bis ein signierter Release-Umschlag die Implementierung und das Profil bindet.
Offene Referenz:docs/link-missing
Ein geprüftes Dokument verweist auf ein fehlendes lokales Ziel. Stellen Sie das Ziel wieder her oder aktualisieren Sie die Autoritätskarte und generieren Sie die Referenz neu.
Offene Referenz:docs/profile-version-drift
Grammatik-, Oberflächen- und Ausarbeitungsauthoritäten sind sich im Sprachprofil uneinig. Versöhnen Sie die Autoritäten vor der Veröffentlichung der Dokumentation.
Offene Referenz:docs/generated-drift
Eine festgeschriebene generierte Referenz stimmt nicht mit ihrer Maschinenautorität überein. Führen Sie nbb scripts/generate-docs-reference.cljs aus und committen Sie das Ergebnis.
Offene Referenz:docs/validation-result-invalid
Eine Benutzervalidierungsbeobachtung ist unvollständig oder überfordert ein externes Ergebnis. Erfasse Teilnehmerklasse, Aufgabe, Ergebnis, Beweis und beobachtete Zeit.
Offene ReferenzKeine Abfrage verlässt den Browser.
Fahrplan: Erweiterung nur, wenn die Grenze hält
Ein versionierter Vertrag
Halte Grammatik, Effekte, geprüften KIR, Zieladapter, Qualifikation und Erstlauf-Dokumentation ausgerichtet.
Anbieterlücken schließen
Erweitern Sie typisierte Anfrage-/Ergebnis-Konformität, adversarielle Tests, Belege, Widerruf und reproduzierbare Release-Operationen.
Erzielen Sie breitere Bereitstellung
Erweitern Sie die produktive Nutzung nach Anbieter-, Host-Isolierung, Rollback und Einweichbeweis – und entwickeln Sie inspizierbare deklarative Bibliotheken weiter.
Lies die gepflegte Roadmap und Nicht-Ziele
Roadmap-Punkte sind Richtungen, keine Versprechen gelieferter Fähigkeiten oder Termine.
Baue die Gemeinschaft öffentlich auf
Kotoba beansprucht noch keine große Gemeinschaft. Heute sind die ehrlichen öffentlichen Treffpunkte die Quell-Repositorys, Issue-Tracker, Versionshistorie und der Sicherheitskanal.
Sprachprobleme
Stelle eine Designfrage, schlage eine Dokumentationsverbesserung vor oder melde ein reproduzierbares Sprachvertragsproblem.
Offene SprachfragenCompiler- und CLI-Probleme
Verfolge Implementierungsarbeit, Releases, Zielunterstützung und Laufzeitintegration in der installierbaren Implementierung.
Offene ImplementierungsfragenPrivat melden
Verwenden Sie die veröffentlichte Sicherheitspolitik für Schwachstellen; geben Sie keine ausnutzbaren Details in einem öffentlichen Issue bekannt.
Sicherheitsrichtlinie lesenFinanzieren Sie die öffentliche Grenze, ohne Autorität zu kaufen
Das Kotoba GitHub Sponsorenprofil wird vorbereitet. Die Projektseite ist jetzt bereit und zeigt eine Zahlungsaktion erst, nachdem GitHub das Organisationsprofil genehmigt hat.
GitHub Sponsoren
Keine Sponsoring-Zahlung kann über kotoba-lang.org erfolgen, solange das GitHub Profil nicht live ist.
Unterstützung ist keine Autorität
Sponsoring kauft kein Feature, keine Roadmap-Priorität, keinen Support-SLA, keinen privaten Zugang oder eine Sicherheitsausnahme.
Sponsoring-Status: VORBEREITUNG. Geprüft 2026-09-01.
Sicherer Code. Vertrauenswürdiger Zustand. Kontrollierte Ausführung.
Beweise vor Slogans
Lies kurze technische Notizen, die Produktansprüche mit Messungen, Autoritätsdateien und verbleibenden Gates verbinden.
Lies den Kotoba BlogGesteuerte Ausführung
Kotoba Cloud verbindet Identität und Bereitstellungskontrolle mit der Ausführungsumgebung. Discovery ist live; gehostete Anwendung wird noch nicht angeboten. Berechnung wird weiterhin von separat verwalteten Diensten bereitgestellt.
Öffne Kotoba CloudVertrauenswürdiger Graphzustand
Kotobase ist die inhaltsadressierte Graphdatenbank für KI-Zustand und Wissen: explizite Beziehungen, identifizierbare Historie und eingeschränkter Zugriff.
Öffnen KotobaseRechen- und Inferenzebene
Flotten-Computing- und Modellbereitstellungsinfrastruktur. Verfügbarkeit und Routenqualifikation bleiben dienstspezifisch.
Öffne MurakumoAgenten-Arbeitsbereich
Fortsetzung der Agentenarbeit über Arbeitsbereiche, Ziele, Beweise, Werkzeuge, Genehmigungen und gesteuerte Effekte.
Öffne ItonamiDiese Dienste behalten separate Autoritäts-, Verfügbarkeits- und Qualifikationsgrenzen. Ihre Verbindung ist kein Beweis dafür, dass jede Kotoba-Fähigkeit als allgemein verkauftes gehostetes Service verfügbar ist.
Lesen Sie den Vertrag oder führen Sie die Implementierung aus
kotoba-lang/kotoba-lang
Grammatik, Semantik, Fähigkeitsverträge, Sicherheitsbehauptungen, CLI-Vertrag, Dokumentation und Konformitäts-Fixtures.
Lesen Sie die Sprachautoritätkotoba-lang/kotoba
CLI, Host-Integrationen, Anbieter, Laufzeitadapter, Integrationstests und ziel-spezifische Qualifikationsnachweise.
Öffne die ImplementierungLernen, bauen oder bewerten
Getrennte Pfade für Erstverwendung, Sprachreferenz, Backend-Implementierung, Sicherheitsgrenzen und Reife-Nachweise.
Wählen Sie einen DokumentationspfadSprachprofil 6; öffentlich-standard Veröffentlichungsstatus: VERÖFFENTLICHT.
Die primäre portable Plattform sind WebAssembly Komponenten mit WASI 0.3.0. Die Elaborations-Pipeline hat 11 benannte, fail-closed Stufen.
