A fast, zero-copy EDN (Extensible Data Notation) reader written in C11 with SIMD acceleration. TL;DR - What is EDN? EDN (Extensible Data Notation) is a data format similar to JSON, but richer and more extensible. Think of it as "JSON with superpowers": JSON-like foundation : Maps {:key value} , vectors [1 2 3] , strings, numbers, booleans, null ( nil ) : Maps , vectors , strings, numbers, booleans, null ( ) Additional built-in types : Sets #{:a :b} , keywords :keyword , symbols my-symbol , characters ewline , lists (1 2 3) : Sets , keywords , symbols , characters , lists Extensible via tagged literals : #inst "2024-01-01" , #uuid "..." 鈥攖ransform data at parse time with custom readers : , 鈥攖ransform data at parse time with custom readers Human-friendly : , flexible whitespace, designed to be readable and writable by both humans and programs : , flexible whitespace, designed to be readable and writable by both humans and programs Language-agnostic: Originally from Clojure, but useful anywhere you need rich, extensible data interchange Why EDN over JSON? More expressive types (keywords, symbols, sets), native extensibility through tags (no more {"__type": "Date", "value": "..."} hacks), and better support for configuration files and data interchange in functional programming environments. Learn more: Official EDN specification Features 馃殌 Fast : SIMD-accelerated parsing with NEON (ARM64), SSE4.2 (x86_64) and SIMD128 (WebAssembly) support : SIMD-accelerated parsing with NEON (ARM64), SSE4.2 (x86_64) and SIMD128 (WebAssembly) support 馃寪 WebAssembly : Full WASM SIMD128 support for high-performance parsing in browsers and Node.js : Full WASM SIMD128 support for high-performance parsing in browsers and Node.js 馃捑 Zero-copy : Minimal allocations, references input data where possible : Minimal allocations, references input data where possible 馃幆 Simple API : Easy-to-use interface with comprehensive type support : Easy-to-use interface with comprehensive type support 馃Ч Memory-saf...
First seen: 2025-11-25 02:24
Last seen: 2025-11-28 15:41