Saltar al contenido

hello.kotoba / IPFS

;; W1 pure representative: ordinary Clojure-shaped values/functions only.
(ns examples.w1-pure)

(defn double [n]
  (+ n n))

(defn main []
  (double 21))
  • CID de origen bafkreiaeohkv2zu… IPFS CIDv1 · raw · sha2-256 de hello.kotoba
  • fuente SHA-256 0471d55d668ed5f9… sha-256 del archivo exacto mostrado aquí
  • KIR verificado SHA-256 92635333e1e0da86… la representación tipada y verificada por efectos que admitió el compilador
  • identidad del artefacto SHA-256 cfea3b89cc022a6b… vincula fuente, política, contrato del compilador y ABI objetivo

El CID fuente abre hello.kotoba. Los digests SHA-256 identifican bytes fuente, KIR verificado e identidad del artefacto; no son direcciones IPFS.

SEGURO + RÁPIDO · DISEÑADO PARA SOFTWARE GENERADO POR IA

Código seguro. Construido para velocidad de máquina.

Kotoba es un lenguaje con forma Lisp diseñado para software generado por IA seguro y ultrarrápido. Programas inspeccionables, capacidades explícitas y artefactos direccionados por contenido conectan las verificaciones del compilador con la ejecución controlada.

CONSTRUCCIÓN EN FRÍO MÁS RÁPIDA · 4 DE 4 ORDENAMIENTOS CALIFICADOS

Construcción en frío más rápida de cualquier cadena de herramientas en este host.

11.75ms

Kotoba fuente a un artefacto WebAssembly, en frío — luego ejecutado, y la respuesta verificada después de que el reloj se detuvo.

  1. KotobaCLI lanzado · WebAssembly 11.75 msel más rápido aquí
  2. C / ClangHost nativo 29.08 ms2.5× Kotoba
  3. Rust / rustcWebAssembly 38.99 ms3.3× Kotoba
  4. Rust / rustcHost nativo 56.02 ms4.8× Kotoba
  5. JVM / javacclase JVM 171.53 ms14.6× Kotoba

Tiempo de pared de construcción en frío del proceso en milisegundos; menor es más rápido. K=1 fuente, carriles entrelazados en un host, 7 muestras cada uno.

Todos los 4 ordenamientos pasan perfgate en su política predeterminada no relajada — al menos 5% y separado de propagación propia de los brazos — por lo que el orden se mantiene aunque el host estuviera ocupado. Limitado a este host, este tamaño de fuente y esta ejecución: el tiempo de construcción no es velocidad de ejecución, la ventaja se reduce a medida que crece la fuente, y el lanzado el binario tiene un límite estricto de corrección. Los cinco puntos de referencia, incluidos los que que van contra Kotoba, están abajo. Medido 2026-08-31 activado Apple M4.

Cuando la IA genera, construye, prueba y regenera código continuamente, la latencia de construcción se convierte en rendimiento de infraestructura.
DENEGAR POR DEFECTO

Sin autoridad ambiental

Sin sistema de archivos, red, proceso, reloj, modelo o secretos implícitos.

KIR VERIFICADO

La autoridad sobrevive a la compilación

Tipos, efectos, recursos y soporte de destino son admitidos antes de la emisión.

IMPUESTO POR EL HOST

Solo la concesión está limitada

El host y el proveedor hacen cumplir el alcance concreto y registran la decisión.

PISO POST-CUÁNTICO

Sin degradación solo clásica

Nuevos límites de cifrado y publicación requieren evidencia ML-KEM o ML-DSA y rechazan material PQ despojado.

01 El problema

La IA puede escribir más rápido de lo que los humanos pueden revisar

El código generado puede ser útil y aun así alcanzar un archivo, red, secreto, proceso, modelo o superficie de pago que la solicitud nunca pretendió exponer.

EL ANTIGUO PREDETERMINADO

Construir ampliamente, restringir después

Un programa de propósito general comienza con semánticas ambientales. Se añaden sandboxes, IAM, contenedores, políticas y firmas para recuperar el límite previsto.

EL PREDETERMINADO DE KOTOBA

Conceder de forma limitada, luego compilar

Los efectos y capacidades son parte del cálculo admitido. Si el objetivo no puede probar y vincular la concesión, no emite ni ejecuta el artefacto.

Kotoba complementa el aislamiento en tiempo de ejecución y SO; no hace innecesarias esas capas.

Donde la mente de Lisp y la reescritura de grafos de GP 2 se encuentran con la disciplina de Rust

Kotoba es un lenguaje pequeño, orientado a datos, con forma de Clojure. Su diseño se basa en la tradición de Lisp de código-como-datos y Reescritura de gráficos basada en reglas de GP 2, con disciplina estática alrededor de autoridad, efectos, recursos, paquetes e identidad de artefactos.

INTUITIVO

Código como datos legibles

Valores inmutables, funciones ordinarias, datos explícitos y una sintaxis componible son fáciles de producir e inspeccionar para humanos y modelos.

DECLARATIVO

Decir lo que puede suceder

Efectos, capacidades, recursos, dependencias y objetivos son entradas visibles para la admisión—no sorpresas descubiertas después del despliegue.

SEGURIDAD-PRIMERO

Menos lenguaje, límite más difícil

No hay interoperabilidad ambiental, carga de código en tiempo de ejecución, mutación sin restricciones, macros definidas por el invitado ni concurrencia ilimitada en la superficie admitida del componente.

SEGURO + RÁPIDO · DISEÑADO PARA SOFTWARE GENERADO POR IA.

Esta es una directriz de confinamiento, no una afirmación de 'inhackeable'. El compilador, verificador, tiempo de ejecución, proveedores, raíces de política, custodia de claves y aislamiento del SO permanecen en la base de confianza computacional.

02 Cómo funciona el límite

Seguridad en toda la computación

El límite se lleva desde la intención hasta la ejecución. Cada etapa estrecha o verifica la autoridad; no se permite que una etapa posterior invente una concesión.

1 · FUENTE

Intención declarativa

Una pequeña superficie con forma de Clojure mantiene los programas legibles y excluye salidas de escape ambientales.

2 · VERIFICAR

KIR verificado

Los tipos y efectos transitivos se convierten en una representación independiente del objetivo e inspeccionable.

3 · ADMITIR

Autoridad de intersección

Las concesiones solicitadas, delegadas, de política local, de recursos y de destino solo pueden restringirse.

4 · IDENTIFICAR

Abordar el artefacto

Código, dependencias, política, contrato del compilador y ABI objetivo vinculan la identidad de la computación.

5 · APLICAR

Vincular en el host

El tiempo de ejecución y el proveedor solo enlazan capacidades admitidas, hacen cumplir presupuestos finitos y emiten recibos.

La identidad del contenido no es autoridad.

Verificación CID, firmas, revocación, política de host, comprobaciones de recursos y aislamiento OS permanecen como límites separados.

Evaluación Lisp, sin evaluación de host ambiental

Kotoba evalúa código verificado como datos direccionados por contenido. El familiar (eval request) la superficie baja al tipado :code/eval capacidad; nunca recibe texto fuente, una forma de lector, un espacio de nombres o un objeto host.

CID DE DEFINICIÓN

¿Qué código?

El CID selecciona una definición KIR verificada por hash y su cierre de dependencia solo CID.

CID DE ADMISIÓN

¿Puede ejecutarse aquí?

La interfaz exacta, fila completa de efectos, asignación actual, combustible y profundidad de evaluación decreciente están fijados antes de la ejecución.

CID DE VALOR

¿Qué regresó?

El resultado tipado se persiste como evidencia direccionada por contenido. Su hash no puede autorizar retroactivamente un efecto.

Identidad, autoridad y evidencia de resultado son tres hechos diferentes.

Contrato de máquina: lang/typed-eval.edn. Capacidad de cable del compilador: 30. La aplicación acotada sigue siendo una aplicación ordinaria de cierre de módulo cerrado.

Valores predeterminados para una pila informática orientada a IA

Estas son afirmaciones de ingeniería con su calificación adjunta. Por defecto, listo para límites, parcial y dirección son estados diferentes; ninguno se promueve silenciosamente a universal.

DIRECCIÓN MEDIDA

Compilar más rápido. Ejecutar más rápido. Mantener el límite.

Kotoba publica mediciones de inicio de compilador, ciclo de desarrollador, tiempo de ejecución nativo y dominio de carga con verificaciones de resultados exactos. Las clasificaciones de velocidad actuales permanecen retenidas hasta que sus puertas de host silencioso pasen; la admisión de seguridad nunca se elimina para ganar un tiempo.

LISTO LIMITADO

Almacenamiento sin límite de lenguaje.

Kotobase usa identidad de contenido, lecturas de rango, historial inmutable y almacenamiento neutral al proveedor. La capacidad física, tenencia, retención, costo, replicación y presupuestos de ejecución permanecen explícitos; esto no es una afirmación de disco infinito.

PREDETERMINADO

Criptografía post-cuántica por defecto.

Cada nuevo límite criptográfico Kotoba debe nombrar evidencia ML-KEM o ML-DSA y rechazar una degradación solo clásica. Los Passkey existentes, transporte, implementaciones y custodia de claves permanecen como límites calificados por separado.

PREDETERMINADO

Autenticación presente. Autoridad denegada por defecto.

La identidad Passkey pertenece al límite de control. Una identidad verificada aún no recibe autoridad de sistema de archivos, red, almacenamiento, modelo, secreto, pago o GPU hasta que una concesión explícita y con alcance sobreviva a la política local y verificaciones del host.

LISTO LIMITADO

Delegación flexible que solo puede estrechar.

Los ámbitos solicitados, delegados, de política local, recurso y objetivo se intersectan. La delegación puede componerse y atenuarse, pero no puede crear autoridad ambiental ni ampliar la concesión de su emisor.

LISTO LIMITADO

Listo para Web3, neutral en cadena desde la raíz.

Un Kotoba Principal estable y un controlador Passkey son primarios. Las cuentas CAIP-10, ERC-1271 y ERC-6492 son pruebas explícitas de cuentas vinculadas; una dirección de billetera nunca se convierte silenciosamente en autoridad de almacenamiento o ejecución.

PARCIAL IMPLEMENTADO

Copia cero donde el propietario lo permite; una copia donde un límite lo requiere.

Las vistas de bytes columnares mantienen vector, ByteBuffer directo y respaldo Uint8Array. La proyección Arrow puede mantener buffers sin comprimir columnares a través de la ruta autorizada del lago Kotobase. El ingreso de red, descompresión, carga GPU y actualizaciones persistentes inmutables permanecen como límites de copia nombrados.

PARCIAL IMPLEMENTADO

Datos en forma de flecha. Núcleos SIMD explícitos de CPU y GPU nativos del dispositivo.

En Apple M4, una columna Arrow float32 no comprimida y no anulable retuvo un respaldo de memoria lineal WebAssembly mientras Num ejecutaba un kernel explícito v128 f32x4 sobre su segmento de valores prestados sin copias Arrow-a-SIMD; una cola escalar cubrió las filas restantes. En tres ejecuciones calificadas de la misma carga de trabajo y artefacto de escala 262,147 elementos, ese kernel SIMD completó 3.66-3.72x más rápido que Wasm escalar. Este es un resultado de kernel y host, no una afirmación general de tiempo de ejecución. La misma ruta de columna acotada también retiene un ArrayBuffer a través de sus vistas CPU, cruza el límite de propiedad GPU con una carga WebGPU medida, ejecuta en Metal y devuelve un escalar de cuatro bytes. Columnas anulables, otros tipos Arrow, eliminación de carga de memoria unificada, kernels más amplios y calificación universal CPU/GPU permanecen pendientes.

PREDETERMINADO

IA primero. Seguro para agentes por defecto.

Kotoba está diseñado para programas escritos u operados por agentes y bots de IA. Cuanto más fuerte es el modelo, más importantes son los efectos explícitos, recursos finitos, confinamiento de capacidades, recibos y la aplicación por parte del host.

DIRECCIÓN

Límites listos para AGI, no una afirmación AGI.

La arquitectura está diseñada para mantener la autoridad explícita a medida que los modelos se vuelven más capaces. Kotoba no afirma que exista AGI aquí, que los programas generados sean confiables, ni que el confinamiento elimine el compilador, tiempo de ejecución, proveedor, custodia de claves y la base de confianza del sistema operativo.

Autoridad de la máquina: lang/product-defaults.edn. Almacenamiento físico ilimitado, cero copias en todas partes, rango de velocidad universal, AGI logrado y a prueba de hackeos siguen siendo afirmaciones absolutas prohibidas.

Lo que Kotoba escrito por IA no puede pedir

Superficie del lenguaje deliberadamente ausente
Límite Por qué está ausente
compile, load, load-file, load-string, ns-resolve, read-string, require, resolve, use Los componentes no pueden fabricar código o autoridad desde el estado ambiental del proceso. Las cadenas fuente, formas lectoras, espacios de nombres cargados y objetos host compilados nunca fueron inferidos por efecto y no son parte de una definición CID. La operación admitida `(eval request)` es por lo tanto separada: selecciona KIR ya verificado por CID mediante :code/eval y es readmitida por el host.
., .., import, new El acceso arbitrario a objetos y métodos JVM/JS omite la admisión de capacidades. No relajable por despacho de concesión: la interoperabilidad nunca alcanza guard-component-ability-call, por lo que la intersección de concesiones, recibos y revocación no pueden ver la llamada. Vacío en el ABI wasm32 (no existe tal ruta); soportado en portable/trusted, donde la puerta de subconjunto es el único límite (no se reclama un sandbox VM separado allí).
alter-var-root, atom, binding, deref, dosync, ref, reset!, set!, swap!, var, volatile! El estado mutable externo es propiedad del proveedor y está mediado por capacidad/política; el estado local del componente debe usar un modelo explícitamente limitado. El invariante es AMBIENTAL, no la mutación en sí. Desde 2026-09-02 esa lectura tiene dos consecuencias en lugar de una. Una celda que escapa, persiste o cruza una función es propiedad del proveedor y permanece en la ruta :state-kit-desugar (la fila de efectos muestra :state, se requiere una concesión en la instanciación, los manejadores de capacidad son rechazados como valores almacenados). Una celda que no hace ninguna de esas cosas -- (let [a (atom 0)] (swap! a + 1) @a) -- no necesita host en absoluto: el segmento de estado local 1 la elabora en rebindings ordinarios let, por lo que nada la observa excepto el código lineal que la posee y no existe celda en tiempo de ejecución. atom / swap! / reset! / deref son por lo tanto admitidos mediante elaboración, y rechazados en el momento en que la celda escaparía. ref / dosync / volatile! / binding / var / alter-var-root / set! no tienen modelo de capacidad decidido y permanecen rechazados con fallo cerrado.
agent, future, locking, pmap, send, send-off La programación de componentes y los recursos deben permanecer controlados y limitados por el oferente. Ni los CIDs de definición ni las concesiones delegadas miden CPU o programación; el combustible es por instancia y los hilos ambientales lo evadirían. Una capacidad de generación estructurada con combustible subpresupuestado es diseñable pero no decidida; aún no hay camino de ampliación.
defmacro La superficie del componente seguro debe ser inspeccionable estáticamente antes de la ejecución. Inrelajable: la expansión ejecuta código dentro del compilador (tiempo de compilación), y los hashes CID de definición post-desugar KIR tipado, por lo que macros sin límite se ejecutan temprano y hacen que la identidad de la fuente no sea revisable. defdesugar (desazucar puro acotado) sigue siendo la alternativa admitida.
catch, throw, try El throw/try/catch ambiental es un flujo de control no local no rastreado: sale de ámbitos que la fila de efectos inferida nunca menciona y omite obligaciones de deshacer (la retracción de facetas del espacio de datos no tiene deshacer verificado aún). La prohibición es sobre la forma ambiental. Desde 2026-09-02 la capacidad de abortar tipada admite las cabezas por elaboración: el efecto aparece en la fila inferida como :abort y la función se reduce a [:result T E], así que la forma ambiental nunca existe después de la elaboración. El corte 2 (2026-09-02) hizo que :abort se propague a través de llamadas y normalizó A un operando o prueba abortante en una vinculación let; ninguno amplía el invariante, porque un aborto propagado está en la fila del llamador y uno normalizado A es la misma elaboración en una posición diferente. Donde la precondición de deshacer importaría, el aborto sigue rechazado -- para una LLAMADA ahora así como para un throw.

Estas son restricciones de seguridad nombradas en lang/surface-status.edn, no características faltantes en una hoja de ruta.

03 La evidencia

Prueba, con el límite adjunto

Kotoba separa la evidencia de implementación de la tracción del mercado y mantiene el riesgo residual junto a cada afirmación de seguridad.

núcleos 33

Uso interno de producción

La pila más amplia Kotoba ejecuta 33 núcleos de inferencia internamente. Esto prueba que el equipo opera su propia pila; no es tracción de cliente, adopción pagada o ingresos.

reclamaciones 8

Los límites son legibles por máquina

Las afirmaciones de seguridad nombran su base de computación confiable, evidencia negativa y riesgo residual en lugar de colapsar en un eslogan de 'inhackeable'.

denegar por defecto

Sin concesión, sin efecto del host

Una política vacía no concede autoridad de sistema de archivos, red, proceso, reloj, modelo o secreto. Los proveedores también deben validar el alcance concreto de recursos.

El uso interno en producción es solo evidencia de dogfooding. No implica clientes externos, pilotos pagados o ingresos.

Cinco benchmarks. Cinco preguntas diferentes.

El inicio del compilador pregunta qué tan rápido una fuente diminuta se convierte en un artefacto. La escala de construcción pregunta qué sucede con ese número cuando la fuente deja de ser diminuta—y si el artefacto aún responde. El bucle de desarrollador separa resolución, verificación, compilaciones y primer resultado. El tiempo de ejecución nativo pregunta qué tan rápido corre el código ya construido. El conjunto de dominio de carga de trabajo pregunta cómo se comportan cadenas, colecciones, asignación, E/S, concurrencia y una pequeña aplicación real. Los resultados mantienen las cinco preguntas—y su estado de evidencia—separados.

INICIO DE CONSTRUCCIÓN · RANGO NO CALIFICADO

cadenas de herramientas 4, 21 ejecuciones cada una

Kotoba 40.998 ms · Rust 126.422 ms · C 146.324 ms · JVM 961.248 ms mediana.

21 muestras rotativas en frío del proceso · carga1 30.79 → 39.79 · requerido ≤ 1 · 2026-08-29 · Apple M4

TIEMPO DE EJECUCIÓN · COBERTURA COMPLETA

Cargas de trabajo 6 × comparadores 5

Amu nativo se prueba contra Rust, Clang / C11, Zig, Go c-shared, Swift a través de un límite común de llamada nativa.

pares comparador/carga 30/30 · respuestas exactas verificadas

VELOCIDAD DE EJECUCIÓN · 19/30 CALIFICADO

19 de 30 pares

Amu nativo gana 19 de los 30 pares comparador/carga de trabajo por al menos 5%, separado de la propagación propia de los brazos. La afirmación de más rápido acotado necesita cada par, por lo que permanece sin calificar — el conteo es la mitad informativa.

Al menos 2 de esos pares no pueden ganarse en absoluto. En aritmética estrecha, amu, Apple clang -O3 y rustc -O3 compilan el kernel a la misma secuencia de instrucciones 61 — clang y rustc idénticos en bytes, amu difiere solo en números de registro. No existe un margen 5% sobre código idéntico, por lo que la afirmación acotada es inalcanzable en lugar de simplemente incumplida.

Mediana de 5 ejecuciones calificadas por host; la puntuación varió 19–20 y 19 de los 30 pares calificaron en cada una. Una sola muestra ruidosa puede descalificar varios pares a la vez, por lo que una puntuación de una ejecución no es precisa para un par.

CPU ocupada 0.090 → 0.069 → 0.076 · requerido ≤ 0.10 · 2026-09-07

BUCLE DE DESARROLLADOR · RANGO NO CALIFICADO

Rutas de cadena de herramientas 11

La resolución de dependencias, verificación, compilaciones limpias y sin cambios, y el primer resultado en frío del proceso se registran por separado.

muestras 7 por etapa medida · carga1 20.84 → 24.49 · requerido ≤ 1

ESCALADO DE CONSTRUCCIÓN · LÍMITE ENCONTRADO

tamaños de fuente 8

El mismo programa de una función a 2048, construido por cada cadena de herramientas en el host y luego ejecutado. El binario liberado tiene el costo de inicio en frío más bajo aquí y una corrección límite superior sobre funciones 128.

artefactos verificados después de que el reloj se detiene · carga1 2.73 → 2.73 · requerido ≤ 1 · 2026-08-31

DOMINIOS DE CARGA DE TRABAJO · RANGO NO CALIFICADO

dominios 6 × rutas de tiempo de ejecución 6

Cadenas, colecciones, asignación, E/S de archivos, concurrencia de cuatro trabajadores y un núcleo de aplicación de política de admisión de solicitudes son verificados en cuanto a corrección.

muestras 7 en carriles tanto de proceso en frío como amortizados · carga1 13.87 → 12.38 · ranking retenido

Tiempo de compilación a medida que la fuente crece

Los benchmarks anteriores construyen un programa lo suficientemente pequeño para caber en una pantalla, que mide qué tan rápido inicia una cadena de herramientas. Dice poco sobre el número que un desarrollador realmente espera, que es la pendiente. Este quinto el benchmark genera el mismo programa en tamaños crecientes — K funciones independientes de cuatro operaciones y un punto de entrada que los llama a todos — y lo construye a través de cada cadena de herramientas en el host, en orden rotativo.

Luego ejecuta lo que produjo cada cadena de herramientas, después de que el reloj se detuvo. Esa verificación no es decoración. La forma más rápida de emitir un artefacto es emitir uno roto, así que un carril que dejó de funcionar de otro modo publicaría sus mejores números exactamente donde dejó de funcionar.

20 ms 100 ms 1 s 10 s K=1 32 128 512 2048 Funciones generadas (escala logarítmica) Tiempo de pared de compilación (escala logarítmica) Kotoba / Amu → nativo Kotoba / Amu → Wasm rustc → Wasm rustc → nativo javac clang → nativo Kotoba · CLI lanzado

Ambos ejes son logarítmicos: las fuentes abarcan tres órdenes de magnitud y también los tiempos. Una línea termina en un punto donde terminó la ejecución, en una cruz donde ese carril emitió un artefacto que no es el programa, y en una barra donde la cadena de herramientas se negó a compilar. Esos tres no son el mismo evento y las dos fallas a continuación no son la misma falla.

Tiempo de pared de construcción en frío por tamaño de fuente; medianas, un host, carriles entrelazados
Cadena de herramientas / objetivo K=1 K=32 K=128 K=129 K=512 K=1023 K=1024 K=2048
Kotoba · CLI lanzado · WebAssembly 11.753 ms 35.84 ms 111.538 ms artefacto inválido artefacto inválido artefacto inválido compilación fallida compilación fallida
Kotoba / Amu · WebAssembly 733.255 ms 825.418 ms 1123.04 ms 1123.847 ms 3380.63 ms 9242.463 ms compilación fallida compilación fallida
Kotoba / Amu · Nativo aarch64-macos 962.198 ms 1509.84 ms 2973.249 ms 3000.243 ms 10601.87 ms 23725.327 ms compilación fallida compilación fallida
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 · Host nativo 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 sin cadena de herramientas sin cadena de herramientas sin cadena de herramientas sin cadena de herramientas sin cadena de herramientas sin cadena de herramientas sin cadena de herramientas sin cadena de herramientas
C / Clang · Host nativo 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 · clase JVM 171.53 ms 197.998 ms 237.582 ms 238.611 ms 316.795 ms 378.252 ms 377.591 ms 454.632 ms

Medido 2026-08-31 en judahnoMac-mini.local (Apple M4). K es el número de funciones generadas; la fuente Kotoba va de 9 a 14338 líneas. Los objetivos, ABIs, niveles de optimización y contratos de tiempo de ejecución difieren entre carriles, así que esto pregunta sobre latencia de retroalimentación del desarrollador, no trabajo equivalente. La puerta de carga del host falló (load1 2.73–2.73, requerido ≤ 1), por lo que estas son observaciones de esta ejecución y no cifras portables. Debido a que los carriles están entrelazados, el orden se califica por separado.

Qué ordenamientos sobreviven la prueba de ruido

Una proporción no es una clasificación. perfgate rechaza cualquier orden cuyo intervalo caiga dentro de la propia extensión de los dos brazos, por grande que parezca la proporción, y rechaza un brazo con muy pocas muestras o demasiado ruido. Se ejecuta aquí con su propia política predeterminada, sin relajación — un umbral relajado para permitir que esto se ejecute sería un benchmark que mide sus propios umbrales. Debido a que los carriles están entrelazados en un host, un hueco que sobrevive esta prueba sobrevive a que el host esté ocupado.

CLI Kotoba lanzado contra cada comparador, en cada tamaño donde aún emite un módulo válido
Tamaño Comparado con ¿Kotoba más rápido? Brecha vs dispersión combinada ¿Por qué no, si no
K=1 C / Clang · Host nativo sí, calificado 17.1 ms vs 1.0 ms
K=1 JVM / javac · clase JVM sí, calificado 160.8 ms vs 5.4 ms
K=1 Rust / rustc · Host nativo sí, calificado 44.2 ms vs 0.6 ms
K=1 Rust / rustc · WebAssembly sí, calificado 27.1 ms vs 0.5 ms
K=32 C / Clang · Host nativo no 5.3 ms vs 1.0 ms mejora-por-debajo-del-umbral
K=32 JVM / javac · clase JVM sí, calificado 161.9 ms vs 1.2 ms
K=32 Rust / rustc · Host nativo sí, calificado 26.7 ms vs 0.7 ms
K=32 Rust / rustc · WebAssembly sí, calificado 9.8 ms vs 0.6 ms
K=128 C / Clang · Host nativo no 75.8 ms vs 1.2 ms mejora-por-debajo-del-umbral
K=128 JVM / javac · clase JVM sí, calificado 126.2 ms vs 2.2 ms
K=128 Rust / rustc · Host nativo no 29.3 ms vs 1.4 ms mejora-por-debajo-del-umbral
K=128 Rust / rustc · WebAssembly no 45.8 ms vs 1.1 ms mejora-por-debajo-del-umbral

mejora-por-debajo-del-umbral significa que el carril Kotoba no fue más rápido en ese tamaño en absoluto. La ventaja es real y calificada en inicio en frío, y desaparece frente a C por K=32 y frente a Rust por K=128. Ese cruce es el resultado, por lo que se muestra en lugar de resumirse.

Dos fallos que no son el mismo fallo

Tres carriles Kotoba dejaron de funcionar en esta ejecución, y publicarlos como uno la fila habría estado equivocada. Una es un defecto. Las otras dos están declaradas límites aplicados exactamente como se especifica, y reportando esos como defectos significaría medir los límites en lugar del compilador.

Qué se detuvo y qué significa
Observación Leyendo
El CLI kotoba lanzado emite un módulo que no compilará más de 128 funciones Un defecto, y la razón para validar dentro de un arnés. En K=129 una llamada debe llevar el índice de función 128, el primer valor que necesita dos bytes LEB128, y el emisor escribe uno. Los bytes indican que no es un codificador faltante sino uno no usado: local.set 128 se escribe 80 01, y call 128 una instrucción después se escribe 80. El conteo de operandos truncados es exactamente K menos 128. El compilador actual no lo tiene — Amu construye K=129 correctamente, y la corrección ha estado en la rama predeterminada de su emisor desde antes de que esta versión fuera etiquetada.
Cada carril Kotoba atrapa en K=512 cuando se construye con configuraciones predeterminadas No es un defecto. Un módulo Kotoba lleva un presupuesto declarado de combustible de llamadas y el valor predeterminado del compilador es 512 llamadas, que esta carga de trabajo supera en K=512 donde el punto de entrada llama 512 hojas. El arnés declara 1,048,576 unidades explícitamente y registra que lo hizo. C, Rust y Java no tienen un límite equivalente para elevar.
Amu rechaza el módulo de plano una vez que tendría más de 1,024 funciones Tampoco es un defecto, y es lo opuesto a la primera fila. max-functions es un límite de admisión declarado, por lo que el compilador se detiene con kotoba.error/subset-reject y nombra lo que rechazó, en lugar de emitir algo que no se cargará. Un techo ruidoso y uno silencioso son resultados muy diferentes, y solo un arnés que ejecuta el artefacto los distingue. Medido 2026-09-07: este es el techo de todo el programa, no de un módulo — max-project-functions también es 1,024 y se verifica contra el proyecto enlazado, por lo que ninguna disposición de módulos compila un programa de 2,048 funciones hoy.

Lo que esto establece

Las respuestas del quinto punto de referencia, incluidas las desfavorables
Pregunta Respuesta de esta ejecución
¿Qué tan rápido es una compilación fría Kotoba de un módulo pequeño? El CLI liberado construye K=1 en 11.753 ms en proceso frío, artefacto ejecutado y respuesta verificada — el primer resultado más rápido de cualquier carril medido aquí.
¿Qué tan grande puede ser un módulo que el binario liberado puede construir? Hasta 128 funciones. Más allá no es más lento, es incorrecto, y este arnés reporta eso como un carril fallido en lugar de uno rápido.
¿El tiempo de compilación se mantiene competitivo a medida que crece la fuente? A través de K=128 el CLI liberado se mide contra Rust y C en la tabla anterior. Más allá de ese punto, el único compilador Kotoba que aún emite un módulo correcto es Amu, que se ejecuta en nbb en lugar de como un binario liberado, y es aproximadamente un orden de magnitud más lento en cada tamaño medido — por lo que a tamaños grandes la velocidad de compilación no es actualmente una fortaleza Kotoba, y esta página no va a afirmar lo contrario.
¿Qué tan grande se ha construido una fuente de extremo a extremo? K=1023 a través de Amu — 7163 líneas de Kotoba, artefacto ejecutado y respuesta verificada. Eso es una función menos que el techo declarado 1,024, y el siguiente tamaño es rechazado en lugar de mal construido.
¿Es rápido el código emitido? Fuera de alcance aquí — esto mide la construcción, no la ejecución. La suite de tiempo de ejecución nativo arriba responde esa pregunta.

Conclusión: En el tamaño más pequeño, el binario lanzado es más rápido que todos los comparadores aquí por un margen que sobrevive la prueba de ruido, y tiene un techo duro de corrección en 128 funciones. El compilador sin ese techo es aproximadamente un orden de magnitud más lento en todos los tamaños medido. Ambos hechos provienen de la misma ejecución, y el arnés que los encontró es público, para que la ejecución pueda ser cuestionada.

Cuánto tarda realmente cada carga de trabajo nativa

La cuadrícula a continuación informa el margen entre dos brazos. Ese es el número reglas perfgate activadas, pero un porcentaje por sí solo no dice si un la carga de trabajo se ejecuta en cinco milisegundos o quinientos, y oculta el diferencia entre un par disputado y uno irrelevante. Estos paneles son las medianas de las que se calculan esos márgenes. Amu nativo es el carril coloreado en cada panel — incluyendo los paneles donde no es primero. Cada panel es escalado a su brazo más lento, porque la pregunta que responde un panel es quién es más rápido en esa carga de trabajo.

Aritmética estrecha

  1. Clang / C11 6.41 ms
  2. Amu nativo 6.53 ms1.02× el más rápido aquí
  3. Swift 6.55 ms
  4. Rust 6.58 ms
  5. Zig 8.24 ms
  6. Go c-shared 42.84 ms

Presión amplia de registros

  1. Amu nativo 5.80 msel más rápido aquí
  2. Rust 6.19 ms
  3. Clang / C11 6.50 ms
  4. Zig 6.97 ms
  5. Go c-shared 41.07 ms
  6. Swift 44.08 ms

Presión profunda de derrame

  1. Amu nativo 9.23 msel más rápido aquí
  2. Rust 9.61 ms
  3. Zig 9.71 ms
  4. Clang / C11 10.23 ms
  5. Go c-shared 51.86 ms
  6. Swift 124.27 ms

Preservación de llamadas

  1. Rust 4.77 ms
  2. Clang / C11 4.82 ms
  3. Amu nativo 4.85 ms1.02× el más rápido aquí
  4. Swift 6.77 ms
  5. Zig 8.44 ms
  6. Go c-shared 32.49 ms

Flujo de control de rama + llamada

  1. Clang / C11 4.67 ms
  2. Rust 4.90 ms
  3. Amu nativo 4.98 ms1.07× el más rápido aquí
  4. Swift 6.72 ms
  5. Zig 8.95 ms
  6. Go c-shared 33.84 ms

Bucle de llamada de retroceso

  1. Clang / C11 139.84 ms
  2. Amu nativo 140.59 ms1.01× el más rápido aquí
  3. Rust 141.73 ms
  4. Go c-shared 169.38 ms
  5. Swift 186.09 ms
  6. Zig 207.01 ms

Mediana de milisegundos sobre 5 ejecuciones calificadas por host; menor es más rápido. Cada brazo devolvió la misma respuesta verificada independientemente, y la mediana candidata es un valor por carga de trabajo — la suite rota cada par de motores en orden ABBA/BAAB, así que el mismo artefacto Amu se mide una vez por carga de trabajo y luego se compara con cada brazo a su turno. A diferencia de los otros cuatro benchmarks en esta página, la puerta de host silencioso de este PASÓ (carga-calificada del host), por lo que estas son cifras para este host y no solo observaciones. La afirmación de más rápido acotado aún necesita todos los 30 pares, que es para lo que sirve la cuadrícula abajo.

Cada par en tiempo de ejecución, victoria o derrota

La reclamación acotada es todo o nada, por lo que un solo par no calificado la hace falsa. Publicar solo ese veredicto ocultaría qué pares están en disputa, así que todo el la cuadrícula está aquí. Una celda es la mejora media de Amu nativo sobre ese comparador en esa carga de trabajo; positivo significa que Amu es más rápido, y una marca de verificación señala los pares que perfgate claro — al menos 5% y separado de la propia dispersión de los brazos.

Amu nativo vs cada comparador, 2026-09-07, calificado por host; ✓ = pasa perfgate
Carga de trabajo Rust Clang / C11 Zig Go c-shared Swift
Aritmética estrecha +0.4% -0.6% +20.1% +84.7% -0.6%
Presión amplia de registros +6.5% +10.9% +16.9% +86.0% +87.1%
Presión profunda de derrame +4.2% +9.3% +5.1% +82.2% +92.6%
Preservación de llamadas -1.0% -0.3% +42.9% +85.2% +29.6%
Flujo de control de rama + llamada -2.6% -7.1% +43.8% +85.2% +25.1%
Bucle de llamada de retroceso +0.8% -0.1% +32.4% +17.2% +24.8%

Cada celda es una barra que crece desde una línea central: a la derecha de ella Amu nativo es más rápido, a la izquierda más lento. Las dos direcciones están escaladas por separado — las victorias llegan a +93% y las pérdidas solo a −7%, por lo que una escala compartida aplanaría cada par disputado en la misma franja invisible. El signo también se lleva por el lado de la línea y por el número con signo, por lo que ninguna lectura de esta cuadrícula depende de distinguir dos colores.

19 de 30 pares calificados (mediana de 5; 19 en cada ejecución) · candidato 42f092ea5b61 · Apple M4, 10 CPUs lógicos, 16 GiB

Entrega de optimización después de la ejecución publicada

El punto de referencia fechado arriba permanece inmutable. Las nuevas implementaciones se listan por separado hasta que la suite de artefactos iguales se ejecute de nuevo y pase sus puertas de calificación.

Superficies implementadas que aún no son nuevas afirmaciones de velocidad
Superficie Entregado Límite de evidencia
Vectores nativos / asignación Los literales vectoriales acotados no escapantes están probados para no escapar y reemplazados por escalares en x86-64 y AArch64. Pruebas de backend 211 / 2,442 aserciones; los vectores que escapan retienen la ABI del host verificado. Aún no hay temporización clasificada nueva.
SIMD de cadenas La igualdad verificada POSIX usa comparación explícita NEON o SSE2 de 16 bytes después de la validación de manejador y UTF-8 canónica. Ensamblado optimizado y ambos vectores semánticos ISA nativos verificados. Windows permanece fijado por separado; clasificación de latencia pendiente.
Capacidad de E/S asíncrona El uso eventual confinado a raíz de lectura/escritura/listado/existencia/eliminación usa CompletableFuture en JVM y fs.promises en Node. Las pruebas reales de sistema de archivos JVM y Node pasan. El benchmark público independiente Wasm aún no tiene enlace de host admitido, por lo que su celda de E/S sigue siendo N/A.
Concurrencia estructurada Un ámbito hijo 32 acotado con fallo rápido une, cancela hermanos y previene la fuga de vida del hijo como estado canónico Kotoba. Aserciones de paridad 996 a través de la autoridad .kotoba y la ruta de carga CLJC. Esto es semántica estructurada de tiempo de vida, no un resultado de rendimiento de hilo de SO.
CLI Kotoba kotoba test/build consume el nuevo pin del compilador; kotoba compile emite x86-64 sellado y KEXE AArch64 directamente. Ciclo de vida CLI público y artefacto vectorial AArch64 verificado. Native --run sigue rechazado hasta que se conecte un recibo medido del cargador.

Inicio del compilador, cuatro cadenas de herramientas

  1. KotobaWebAssembly 40.998 msla línea base
  2. Rust / rustcWebAssembly 126.422 ms3.084× Kotoba
  3. C / ClangWebAssembly 146.324 ms3.569× Kotoba
  4. JVM / javacclase JVM 961.248 ms23.446× Kotoba

Tiempo en pared en frío del proceso para una fuente diminuta, en milisegundos; menor es más rápido. 21 muestras rotativas por cadena de herramientas en Apple M4. La puerta de carga del host FALLÓ en esta ejecución, por lo que estas son observaciones de una máquina, no un ranking.

Medición pequeña de compilación en frío de fuente a artefacto
Cadena de herramientas Salida Mediana p95 Tiempo transcurrido relativo
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 clase JVM 961.248 ms 2223.49 ms 23.446× Kotoba

KOTOBA 0.7.3 · RUSTC 1.97.1 · versión Homebrew clang 22.1.7 · javac 24.0.2. Kotoba, Rust y C emiten Wasm; javac emite un archivo de clase. Diferentes objetivos y trabajo del compilador hacen de esta una observación inicial, no un ranking universal. La puerta de carga del host registrada falló, por lo que la tabla no es un ranking de velocidad calificado.

Medianas del ciclo de desarrollo de proyectos pequeños sin dependencias; N/A significa que no se midió una fase separada
Cadena de herramientas / objetivo Resolver Verificar Compilación limpia Compilación sin cambios Iniciar + ejecutar Compilación limpia + primer resultado
Kotoba · WebAssembly N/A 231.75 ms 62.906 ms 42.332 ms 57.253 ms 142.644 ms
Rust / Cargo · macOS arm64 nativo 138.018 ms 71.208 ms 896.478 ms 67.764 ms 371.522 ms 1299.171 ms
C / Clang · arm64 macOS nativo 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 nativo N/A N/A 1059.624 ms 395.305 ms 203.169 ms 1269.918 ms
Go · arm64 macOS nativo 43.553 ms 6979.823 ms 3499.277 ms 150.902 ms 247.051 ms 3755.431 ms
Swift / SwiftPM · arm64 macOS nativo 1017.252 ms 427.372 ms 3695.557 ms 1259.829 ms 431.84 ms 4016.271 ms
JVM / javac · clase JVM 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

Cada artefacto emitido produjo 42 en un proceso nuevo. Los contratos de destino y tiempo de ejecución difieren; N/A nunca es cero. La puerta de carga del host falló, por lo que estas son observaciones reproducibles en lugar de una clasificación de velocidad entre lenguajes.

Seis dominios, lado a lado

Cada panel se escala a su propio carril más lento, porque la pregunta de un panel respuestas es quién es más rápido en ese dominio, no cómo se comparan los dominios entre sí otro. El carril de Kotoba es el coloreado en cada panel — incluyendo el paneles donde es el último. Su artefacto Wasm independiente se ejecuta a través de un Node host y paga ese inicio en cada muestra en frío de proceso, mientras que Rust, C y Go ejecutar como binarios nativos; donde el objetivo no tiene sistema de archivos ambiental ni hilo contrato en absoluto, el carril está ausente en lugar de cero.

Cadena

  1. C / Clang 1.463 ms
  2. Rust 1.907 ms
  3. Ir 1.974 ms
  4. JVM / Java 27.819 ms
  5. Kotoba / Wasm + host JS tipado 30.539 ms20.9× el más rápido aquí
  6. JavaScript / Node.js 31.628 ms

Colección

  1. C / Clang 1.357 ms
  2. Ir 1.852 ms
  3. Rust 1.92 ms
  4. Kotoba / Wasm + host JS tipado 29.98 ms22.1× el más rápido aquí
  5. JVM / Java 31.42 ms
  6. JavaScript / Node.js 31.818 ms

Asignación

  1. C / Clang 1.353 ms
  2. Rust 1.943 ms
  3. Ir 1.962 ms
  4. JVM / Java 26.447 ms
  5. Kotoba / Wasm + host JS tipado 29.567 ms21.9× el más rápido aquí
  6. JavaScript / Node.js 31.055 ms

E/S

  1. C / Clang 2.539 ms
  2. Rust 2.686 ms
  3. Ir 6.577 ms
  4. JVM / Java 38.685 ms
  5. JavaScript / Node.js 94.124 ms
  6. Kotoba / Wasm + host JS tipado N/A — no está en el contrato de este objetivo

Concurrencia

  1. C / Clang 2.916 ms
  2. Rust 3.328 ms
  3. Ir 3.377 ms
  4. JVM / Java 34.828 ms
  5. JavaScript / Node.js 55.105 ms
  6. Kotoba / Wasm + host JS tipado N/A — no está en el contrato de este objetivo

Aplicación real

  1. C / Clang 1.294 ms
  2. Ir 1.964 ms
  3. Rust 2.047 ms
  4. JVM / Java 26.411 ms
  5. JavaScript / Node.js 29.534 ms
  6. Kotoba / Wasm + host JS tipado 29.652 ms22.9× el más rápido aquí

Medianas en proceso frío en milisegundos; menor es más rápido. La puerta de carga del host falló en esta ejecución, por lo que estos paneles son observaciones y no un ranking, y el carril amortizado abajo cuenta otra historia diferente.

Medianas del dominio de carga de trabajo en frío; N/A significa que el contrato objetivo no proporciona esa capacidad
Ruta de ejecución Cadena Colección Asignación E/S de archivos Concurrencia Aplicación real
Kotoba / Wasm + host JS tipado 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
Ir 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

Cada muestra devolvió la suma de verificación de referencia exacta. Kotoba usa su Wasm emitido y ABI tipado declarado; su objetivo independiente no tiene sistema de archivos ambiental ni contrato de hilo, por lo que esas celdas se consideran N/A. La puerta de carga del host registrada falló, por lo que las medianas son observaciones, no una clasificación.

Medianas amortizadas por lotes en proceso por carga base; N/A mantiene el mismo límite de capacidad
Ruta de ejecución Cadena Colección Asignación E/S de archivos Concurrencia Aplicación real
Kotoba / Wasm + host JS tipado 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
Ir 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

Cada lote más grande en proceso se divide por su multiplicador de carga de trabajo declarado. Esto amortigua el inicio pero no elimina completamente el costo de proceso, VM o instanciación Wasm, por lo que no se etiqueta como un resultado perfectamente calentado en estado estable. Las cadenas puras de mapa inc/dec de Kotoba se fusionan en reduce sin vectores intermedios; las devoluciones de llamada fuera de ese subconjunto probado mantienen la materialización ansiosa.

Lo que cada referencia pública establece y no establece
Pregunta Implementaciones comparadas Conclusión actual
Compilación + ejecución Tiny Wasm Kotoba, Rust, C y cadenas de herramientas JVM Cuatro medianas en frío de proceso publicadas arriba; solo Kotoba/Rust/C comparten el objetivo Wasm, y no se reclama un rango general de velocidad de compilación
Bucle de desarrollo de proyecto pequeño Kotoba, Rust, C, Zig, TinyGo, Go, Swift, JVM, AssemblyScript, .NET IL y .NET Native AOT Se publican siete muestras por etapa disponible; las diferencias de objetivo y una puerta de carga del host fallida prohíben un ranking universal
Ejecución nativa en estado estable Amu nativo vs Rust, Clang / C11, Zig, Go c-shared, Swift Todas las celdas de comparación semántica 30 están completas; ranking de velocidad retenido porque la puerta de host silencioso falló
Cadenas, colecciones, asignación, E/S, concurrencia y aplicación real Rutas de tiempo de ejecución Kotoba, Rust, C, Go, JVM y JavaScript Se publican sumas de verificación exactas y muestras amortizadas en frío del proceso; la E/S y los hilos Kotoba independientes no aplican, mientras que su aplicación pura de admisión de solicitudes está medida; la puerta de carga fallida retiene la clasificación

Lo que cubre la suite nativa

Cada implementación devuelve una respuesta conocida verificada de forma independiente. La suite rota cada par de motores en orden ABBA/BAAB y mide después de cargar, mapear y buscar símbolos.

Seis cargas de trabajo nativas en tiempo de ejecución requeridas
Carga de trabajo Lo que enfatiza Estado de la evidencia
Aritmética estrecha Resultado exacto verificado; tiempo no calificado
Presión amplia de registros Resultado exacto verificado; tiempo no calificado
Presión profunda de derrame Resultado exacto verificado; tiempo no calificado
Preservación de llamadas Resultado exacto verificado; tiempo no calificado
Flujo de control de rama + llamada Resultado exacto verificado; tiempo no calificado
Bucle de llamada de retroceso Resultado exacto verificado; tiempo no calificado

Dónde vive cada benchmark

Cada número arriba proviene de un arnés público y un informe comprometido, así que un la ejecución puede repetirse y se puede discrepar con una afirmación. Las rutas en el repositorio en esta tabla se verifica contra el árbol de trabajo cuando se genera esta página: un arnés que falla la compilación en lugar de enviar un enlace muerto.

La puerta por la que pasa cada orden en esta página es kotoba-lang/perfgate, ejecutado con su propia política predeterminada no relajada. Un umbral aflojado para permitir un ejecutar sería un punto de referencia que mide sus propios umbrales.

Conclusión: Los artefactos, resultados exactos y muestras son reales en los cinco benchmarks. Tres de ellos — inicio del compilador, el ciclo del desarrollador y los dominios de carga de trabajo — fallaron su puerta de host silencioso, por lo que no clasifican y se publican como observaciones. La suite de tiempo de ejecución nativo pasó su puerta y gana 19 de sus 30 pares, lejos de la reclamación de cada par que necesitaría. El escalado de construcción califica su orden de inicio en frío contra cada comparador en el host y encuentra un techo de corrección en la misma ejecución. No se reclama ningún rango universal de velocidad en esta página, y ninguna de estas ejecuciones lo autoriza.

Afirmaciones con sus límites adjuntos

Estas afirmaciones se generan a partir de lang/safety-claims.edn. Cada uno mantiene visible su base de computación confiable y riesgo residual, porque un lema de seguridad sin un límite es solo marketing.

T1-MEMORIA

Los componentes admitidos no pueden acceder a memoria en tiempo de ejecución/nativa y las operaciones de memoria de componentes están acotadas o atrapan.


Base de computación confiable

lector acotado · admisión frontend · verificador de artefactos · tiempo de ejecución Wasm/nativo

Riesgo residual

  • las vulnerabilidades del motor de ejecución permanecen en el TCB
  • los cargadores nativos requieren un segundo límite de aislamiento del SO
T2-EFECTO

Cada efecto de componente transitivo se declara y admite antes de la emisión, incluidos los efectos usados por proveedores escritos en Kotoba.


Base de computación confiable

inferencia de efectos · catálogo de capacidades · gráfico de llamadas frontend

Riesgo residual

  • kotoba y la paridad de gramática/efecto del compilador deben compararse continuamente
T3-CONFINAMIENTO

Una capacidad no concedida está ausente o no vinculada y no puede alcanzar un proveedor o manejador nativo.


Base de computación confiable

intersección de políticas · emisión de importación de compilador · vinculación de importación de licitación · guardia del host

Riesgo residual

  • el proveedor y las implementaciones nativas deben validar independientemente el alcance de recursos
  • las concesiones efectivas de producción deben prohibir el alcance comodín
T4-DETERMINISMO

La misma fuente admitida, objetivo, política y bloqueo producen el mismo resultado puro observable y bytes de artefacto.


Base de computación confiable

lector canónico · reducción determinista · cadena de herramientas fijada

Riesgo residual

  • los efectos del host son deterministas solo donde su contrato de capacidad lo indica
LÍMITES-DE-RECURSOS-T5

Fuente, admisión, ejecución, memoria y salida usan límites finitos explícitos.


Base de computación confiable

límites de admisión · medidor de combustible · cuota de tiempo de ejecución · tiempo de espera del supervisor

Riesgo residual

  • los supervisores de plataforma aún no tienen evidencia igual de aislamiento en producción
T6-CADENA-DE-SUMINISTRO

La admisión de lanzamiento vincula la identidad del artefacto, firmante confiable, validez y evidencia reproducible.


Base de computación confiable

verificador de firmas · configuración de firmante confiable · reloj · conjunto de revocación

Riesgo residual

  • custodia de claves y distribución externa de revocación permanecen como TCB operativo
T7-BACKEND-PARITY

Un componente portátil compartido tiene aceptación, resultado y traza de efecto iguales en backends calificados.


Base de computación confiable

manifiesto de conformidad compartido · adaptadores de backend · corredor de comparación

Riesgo residual

  • las características solo para compilador no son portables y deben ser rechazadas por perfiles portables
ALCANCE DE RECURSOS DEL HOST T8

Una importación de componente alcanza a su proveedor o manejador nativo solo con un alcance concreto de recursos post-intersección y emite un recibo.


Base de computación confiable

intersección de capacidades · guardia de host · manejador de proveedor · sumidero de recibos

Riesgo residual

  • Las verificaciones específicas de proveedor para ruta, redirección, enlace simbólico y inquilino requieren kits Q5

Calificación P1, a partir de 2026-07-18.

Vinculación de versión

Un perfil de idioma y una versión de implementación son separados hasta que un sobre firmado los vincula.

IDIOMA

Perfil 6

contrato de paquete 1

IMPLEMENTACIÓN

v0.7.0

vinculación de perfil: verificado

PREDERMINADO PÚBLICO

LANZADO

:docs/release-bound-profile

Kotoba v0.7.0 para darwin-arm64 es la implementación pública vinculada al perfil de idioma 6 y al contrato de paquete 1. Su sobre firmado verifica el árbol fuente, el resumen del artefacto y el resultado de conformidad de prueba 536 / afirmación 8,580. Otras plataformas permanecen sin vincular.

Leer la evidencia de lanzamiento generada
04 Comenzar a usarlo

Comenzar en sesenta segundos

Instalar y auto-verificar

brew tap kotoba-lang/kotoba
brew trust kotoba-lang/kotoba
brew install kotoba
kotoba selfhost check --json

Aceptar una respuesta válida con una lista de problemas vacía.

Un primer programa

(defn main []
  (+ 40 2))

Este programa no solicita importaciones del host; el módulo emitido no tiene importaciones.

Aprender, probar, luego profundizar

Un camino conectado desde el primer programa hasta contratos de lenguaje, bibliotecas, evidencia y superficies de despliegue.

APRENDER

Documentos por intención

Comience con la instalación, aprenda el lenguaje admitido o inspeccione la semántica normativa y los datos de conformidad.

Mapa de documentación abierto
LEER CÓDIGO

Una fuente, una respuesta

El ejemplo a continuación es la fuente exacta compilada en la demostración del navegador, no una reimplementación en JavaScript.

Leer el ejemplo
EJECUTAR

Ejecutar en esta página

Cargar un artefacto WebAssembly de mismo origen y ligado a digest y llamar a su función principal exportada Kotoba.

Juego abierto
COMPILAR

Bibliotecas y contratos

Explore nombres centrales limitados, bibliotecas fundamentales, reglas de paquetes y su límite actual de madurez.

Explorar bibliotecas

Un pequeño programa Kotoba, ejecutándose realmente

Amu compila esta fuente pura Kotoba al perfil wasm32-browser. El artefacto registrado no tiene importaciones y devuelve 42.

FUENTE KOTOBA
;; W1 pure representative: ordinary Clojure-shaped values/functions only.
(ns examples.w1-pure)

(defn double [n]
  (+ n n))

(defn main []
  (double 21))

Autoridad destacada: kotoba-lang/gramáticakotoba.grammar.highlight/tokenize → HTML en tiempo de compilación. Contrato de alcance del editor: source.kotoba. Dependencia del resaltador del navegador: ninguna. Inspeccionar dependencias

Compilar localmente: kotoba compile double-21.kotoba --target wasm32-browser --output double-21.wasm

JUGAR · WEBASSEMBLY

Ejecutar el artefacto verificado

El navegador descarga 344 bytes, verifica SHA-256, rechaza todas las importaciones, instancia el módulo y llama a main().

Resultado esperado: 42

Listo. No se ha ejecutado código aún.

Esto ejecuta un ejemplo precompilado e inmutable. Editar código arbitrario en el navegador aún no es una superficie de compilador enviada.

Demos interactivas: solar-helix (renderizado WebGPU impulsado por invitado) · kami-survivors (un juego .kotoba) · gpu-clear (humo WebGPU). Hospedado en la superficie wasm-webcomponent GitHub Pages; la disponibilidad depende del soporte WebGPU/WebAssembly del navegador.

Bibliotecas, sin ocultar el límite del paquete

Las bibliotecas Kotoba son grafos direccionados por contenido. Los nombres y los repositorios GitHub ayudan a las personas a descubrirlas; las definiciones y los CIDs de lanzamiento firmados dicen exactamente qué son.

NÚCLEO LIMITADO

Referencia de símbolo generada

Busque los nombres admitidos por el contrato de biblioteca estándar limitado actual.

Explorar símbolos centrales
FUNDACIONAL

Datos, efectos, E/S, herramientas

Comenzar con coll, spec, json, text, wit, async, time, fs, http, test, fmt, lint y contratos LSP.

Explorar el mapa de la biblioteca
CONTRATO DE PAQUETE

Dependencias direccionadas por contenido

Inspeccionar CIDs de dependencia exactos, capas de identidad, procedencia GitHub y el límite actual de publicación.

Abrir el catálogo de bibliotecas y flujo de publicación

Explorar toda la organización por etiqueta

Hay 2,215 repositorios públicos en el kotoba-lang organización. Cada etiqueta abajo es el tema GitHub de el mismo nombre, así que el filtro del sitio y los temas de la organización son un vocabulario en lugar de dos que se desvían. Elige uno para abrir el catálogo ya filtrado.

Navegar y filtrar todos los repositorios 2,215

Un repositorio no es un paquete publicado. Exactamente 1 biblioteca se publica a través del registro direccionado por contenido; el resto de esta lista es descubrimiento. Las etiquetas de madurez del repositorio no implican estabilidad de API 1.0, adopción amplia o SLOs de producción, y 255 repositorios no coinciden con ninguna regla de dominio y se muestran sin etiqueta en lugar de asignar la etiqueta más cercana.

Buscar en la referencia verificada

Buscar comandos, nombres de biblioteca estándar, diagnósticos y estado de lanzamiento. El índice se genera a partir de autoridades de máquina y permanece en esta página.

Intentar: compilar, opción-alguna, docs/enlace-faltante

versión

Vinculación de versión

Kotoba v0.7.0 para darwin-arm64 es la implementación pública vinculada al perfil de idioma 6 y al contrato de paquete 1. Su sobre firmado verifica el árbol fuente, el resumen del artefacto y el resultado de conformidad de prueba 536 / afirmación 8,580. Otras plataformas permanecen sin vincular.

Referencia abierta
cli

kotoba id

Crear un plan de inscripción principal Kotoba neutral a cadena controlado por una clave de acceso. Las cuentas inteligentes son enlaces explícitos CAIP-10; ninguna cadena o proveedor es la raíz de identidad.

Referencia abierta
cli

kotoba run

Compilar y ejecutar un punto de entrada Kotoba.

Referencia abierta
cli

kotoba compile

Compilar fuente de la familia Kotoba a un artefacto objetivo. Web .kotoba usa KIR verificado y el backend restringido kotoba-script; .cljs sigue siendo ClojureScript.

Referencia abierta
cli

kotoba check

Valida fuente Kotoba, contratos o metadatos del paquete sin ejecutarlo. Adaptador del compilador: admisión frontend + --profile pure-product (T9.2).

Referencia abierta
cli

kotoba graph

Consultar y transaccionar la tienda gráfica del lenguaje (kgraph) con operaciones en forma Datomic.

Referencia abierta
cli

kotoba git

Exponga las operaciones del repositorio Kotoba como datos, no como comportamiento específico de shell.

Referencia abierta
cli

kotoba rad

Ejecute flujos de trabajo de desarrollo rápido de aplicaciones sobre paquetes Kotoba.

Referencia abierta
cli

kotoba build

Construya un proyecto Kotoba en su artefacto objetivo verificado. Este es el comando directo del ciclo de vida del proyecto; rad build sigue siendo una ortografía compatible.

Referencia abierta
cli

kotoba test

Verifique y ejecute las pruebas admitidas para un proyecto Kotoba. Este es el comando directo del ciclo de vida del proyecto; rad test sigue siendo una ortografía de compatibilidad.

Referencia abierta
cli

kotoba deploy

Planificar y aplicar el estado deseado del paquete a un recibo local o a un objetivo residente de flota murakumo.

Referencia abierta
cli

kotoba library

Inspeccionar y publicar un espacio de nombres de biblioteca direccionado por contenido a través de la base de código Kotoba existente y la ruta de publicación IPNS.

Referencia abierta
cli

kotoba hinshitsu

Ejecutar verificaciones de calidad de software (evidencia, puertas, cobertura, regresión visual) como datos.

Referencia abierta
stdlib

comp2

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

concatenar

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

err

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

¿error?

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

¿cada?

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

encontrar

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

agrupar-por

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

fusionar

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

ok

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

¿ok?

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

opción-ninguna

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

¿opción-nada?

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

opción-alguna

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

opción-alguna?

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

valor-opción

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

parcial1

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

rango

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

paso-rango

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

revertir

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

invertir en

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

seleccionar-claves

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

algunos

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

ancla de cierre binario stdlib

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

desenvolver-error

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

desenvolver-ok

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

actualizar

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
stdlib

zipmap

Nombre público acotado de la biblioteca estándar central.

Referencia abierta
diagnóstico

:comando/desconocido

El comando solicitado no está en el contrato público de CLI. Use un comando generado desde lang/cli.edn.

Referencia abierta
diagnóstico

:contract/invalid

El contrato CLI falló la validación estructural. Inspeccione la colección estructurada :errors; no despache el comando.

Referencia abierta
diagnóstico

:versión/no soportado

La versión solicitada del idioma o contrato de paquete es desconocida. Seleccione una versión listada bajo :supported en lang/version-policy.edn.

Referencia abierta
diagnóstico

:versión/eliminado

La versión de contrato solicitada ha sido eliminada. Migre a la versión activa antes de compilar o ejecutar.

Referencia abierta
diagnóstico

:versión/obsolescencia-expirada

La ventana de compatibilidad para una versión obsoleta ha expirado. Aplica la migración nombrada por la política de versiones.

Referencia abierta
diagnóstico

:release/invalid-semver

Un identificador de versión no es SemVer estricto. Use MAYOR.MENOR.PARCHE con un sufijo opcional válido de pre-lanzamiento o compilación.

Referencia abierta
diagnóstico

:docs/no-release-bound-profile

No hay evidencia de implementación publicada que vincule el perfil de lenguaje activo. Mantenga el valor predeterminado público bloqueado hasta que un sobre de lanzamiento firmado vincule la implementación y el perfil.

Referencia abierta
diagnóstico

:docs/link-missing

Un documento verificado apunta a un objetivo local faltante. Restaure el objetivo o actualice el mapa de autoridad y regenere la referencia.

Referencia abierta
diagnóstico

:docs/profile-version-drift

Autoridades de gramática, superficie y elaboración no coinciden en el perfil del lenguaje. Reconciliar las autoridades antes de publicar documentación.

Referencia abierta
diagnóstico

:docs/generated-drift

Una referencia generada comprometida no coincide con su autoridad de máquina. Ejecute nbb scripts/generate-docs-reference.cljs y comprometa el resultado.

Referencia abierta
diagnóstico

:docs/validation-result-invalid

Una observación de validación de usuario está incompleta o sobreafirma un resultado externo. Registrar clase de participante, tarea, resultado, evidencia y tiempo observado.

Referencia abierta

Ninguna consulta sale del navegador.

05 Alrededor del lenguaje

Hoja de ruta: ampliar solo después de que el límite se mantenga

AHORA

Un contrato versionado

Mantener alineados gramática, efectos, KIR verificado, adaptadores de destino, calificación y documentación de primera ejecución.

SIGUIENTE

Cerrar brechas del proveedor

Expandir conformidad tipada de solicitud/resultado, pruebas adversariales, recibos, revocación y operaciones reproducibles de versión.

MÁS TARDE

Ganar despliegue más amplio

Ampliar el uso en producción después del proveedor, aislamiento del host, reversión y evidencia de remojo—y crecer bibliotecas declarativas inspeccionables.

Leer la hoja de ruta mantenida y los no objetivos

Los elementos de la hoja de ruta son dirección, no promesas de capacidad entregada o fechas de entrega.

Construir la comunidad en público

Kotoba aún no reclama una gran comunidad. Hoy los puntos de encuentro públicos honestos son los repositorios de código fuente, rastreadores de problemas, historial de versiones y canal de seguridad.

DISCUTIR E INFORMAR

Problemas de lenguaje

Haz una pregunta de diseño, propone una mejora de documentación o reporta un problema reproducible de contrato de lenguaje.

Problemas abiertos del lenguaje
IMPLEMENTAR

Problemas del compilador y CLI

Sigue el trabajo de implementación, lanzamientos, soporte de objetivos e integración en tiempo de ejecución en la implementación instalable.

Problemas abiertos de implementación
SEGURIDAD

Reportar en privado

Use la política de seguridad publicada para vulnerabilidades; no divulgue detalles explotables en un problema público.

Leer política de seguridad

Explora todos los repositorios públicos Kotoba

Código seguro. Estado confiable. Ejecución controlada.

BLOG

Evidencia antes que eslóganes

Leer notas breves de ingeniería que conectan las afirmaciones del producto con mediciones, archivos de autoridad y puertas restantes.

Leer el blog Kotoba
KOTOBA CLOUD

Ejecución controlada

Kotoba Cloud conecta identidad y control de despliegue al entorno de ejecución. El descubrimiento está en vivo; la aplicación alojada aún no se ofrece. El cómputo sigue siendo proporcionado por servicios gobernados por separado.

Abrir Kotoba Cloud
KOTOBASE

Estado del grafo confiable

Kotobase es la base de datos gráfica direccionada por contenido para estado y conocimiento de IA: relaciones explícitas, historial identificable y acceso con alcance.

Abrir Kotobase
MURAKUMO

Plano de cómputo e inferencia

Infraestructura de cómputo y servicio de modelos de flota. La disponibilidad y calificación de ruta siguen siendo específicas del servicio.

Abrir Murakumo
ITONAMI

Plano de trabajo del agente

Continuar trabajo de agentes a través de espacios de trabajo, objetivos, evidencias, herramientas, aprobaciones y efectos gobernados.

Abrir Itonami

Estos servicios mantienen límites separados de autoridad, disponibilidad y calificación. Su conexión no prueba que cada capacidad Kotoba esté disponible como un servicio alojado generalmente vendido.

Lea el contrato o ejecute la implementación

AUTORIDAD DEL LENGUAJE

kotoba-lang/kotoba-lang

Gramática, semántica, contratos de capacidad, afirmaciones de seguridad, contrato CLI, documentación y fijaciones de conformidad.

Lea la autoridad del lenguaje
IMPLEMENTACIÓN INSTALABLE

kotoba-lang/kotoba

CLI, integraciones de host, proveedores, adaptadores de tiempo de ejecución, pruebas de integración y evidencia de calificación específica de destino.

Abrir la implementación
DOCUMENTACIÓN

Aprender, construir o evaluar

Rutas separadas para primer uso, referencia de lenguaje, implementación de backend, límites de seguridad y evidencia de madurez.

Elegir una ruta de documentación

Perfil de lenguaje 6; estado de lanzamiento por defecto público: LANZADO.

La plataforma portátil principal es WebAssembly Componentes con WASI 0.3.0. La canalización de elaboración tiene 11 etapas nombradas, cerradas por fallo.