Skip to main content

Posts

Showing posts with the label Erlang

Erlang OTP 27 Upgrade: Replacing External Parsers with Native JSON

  For over a decade, the Erlang and Elixir ecosystem has fragmented over JSON handling. We’ve relied on NIF-based libraries like   jiffy   for raw speed (at the cost of compilation friction) or pure-Erlang/Elixir libraries like   Poison   and   Jason   for stability. These dependencies bloat the release process, complicate cross-platform builds, and introduce version resolution conflicts. With the release of OTP 27, these external dependencies are effectively obsolete. The OTP team has introduced the  json  module—a native, high-performance, validating parser and generator built directly into the runtime. The Root Cause: The Terminology Mismatch The historical reliance on external libraries stems from a fundamental mismatch between JSON types and Erlang terms. JSON is a strict subset of object notation; Erlang is a system of tuples, lists, and binaries. Atom Exhaustion:  Early parsers naively converted JSON keys to Erlang atoms. Since th...