transit.c es una biblioteca en C11 que implementa un lector y escritor para el formato Transit, un sistema de intercambio de datos entre aplicaciones escritas en distintos lenguajes y creado originalmente por Cognitect dentro del ecosistema Clojure. Transit se apoya en JSON y MessagePack, por lo que hereda su tooling y velocidad, pero añade un sistema de tipos más rico (keywords, símbolos, instantes, UUID, URI, enteros y decimales grandes, caracteres, arreglos de bytes, conjuntos y listas) y un mecanismo de compresión por caché que codifica con referencias cortas las claves, palabras clave, símbolos y etiquetas repetidos. El resultado práctico es un JSON capaz de preservar tipos reales en viajes de ida y vuelta entre lenguajes.
La biblioteca ofrece un único motor agnóstico al códec que maneja las tres variantes sobre el cable —JSON compacto, JSON-Verbose y MessagePack— mediante un descriptor transit_codec_t. Entre sus características técnicas figuran la decodificación sin copia (los strings y bytes se toman directamente del buffer de entrada), análisis léxico acelerado con SIMD (SSE2 en x86-64 y NEON en arm64), formateo de dobles con Grisu2, un emisor en streaming y seguridad de memoria basada en una arena que se libera con una sola llamada. No tiene dependencias externas, solo C11 y la biblioteca estándar, y se distribuye como biblioteca estática o compartida en Linux, macOS y Windows. El proyecto se valida con el corpus de referencia oficial de Cognitect y se publica en GitHub bajo una licencia abierta.
