November 14, 2025

XML comeback or ghost in the machine?

Xqerl – Erlang XQuery 3.1 Processor

XML wizard lands in Erlang, but commenters ask if it's alive

TLDR: Xqerl promises an XML query engine for Erlang, boasting thousands of tests but no user interface yet. Commenters argue it’s stale with no commits in three years and point to BaseX, while a few defend XQuery’s smart design—leaving readers curious but skeptical until real updates appear.

Xqerl drops like an XML comet into the Erlang world: a tool that stores XML and runs XQuery—a language for searching and reshaping XML—compiled down to Erlang’s BEAM engine. It speaks REST for web calls, brags about 30,895 tests passed, and says a first stable release is “coming soon.” Also: no GUI.

But the comments lit up. Newcomers asked, “What is this used for?” and “Any common use cases?” while skeptics yelled “stale!”, pointing to the GitHub showing no updates in three years and plugging BaseX as the active alternative. Then the plot twist: a fan called XQuery “weirdly good,” praising how it treats XML like trees you can slice and rearrange without pain.

Jokes flew: “XML is undead,” “BEAM me up, XPath,” and “no GUI equals elite mode.” The real fight: hidden gem vs. ghost project. Supporters love the idea of turning existing XML scripts into fast, concurrent Erlang apps; critics say promises without commits smell like vaporware. Verdict from the crowd? Intrigued, but demanding proof—and updates.

One person noted solo-dev vibes: invitations to help, Twitter shoutouts, and a half-mentioned Slack, but no roadmap or admin pages—just specs and command lines. The mood: thumbs-up mixed with side-eye, waiting comeback.

Key Points

  • xqerl is a self-contained XQuery 3.1 processor and XML database implemented in Erlang.
  • XQuery is compiled to BEAM; xqerl supports REST endpoints defined via RESTXQ annotations.
  • The project is not yet at a stable release and warns of potential data incompatibility between versions.
  • xqerl reports passing 30,895 test cases (100%) and skipping 1,823 optional/unsupported cases from W3C QT3, EXPath, and Update Facility suites.
  • Usage requires precompilation of modules, bottom-up compilation of dependencies, data loading via xqldb_dml, and building/testing with rebar3.

Hottest takes

"This is stale. BaseX is an active equivalent" — oever
"Hasn't been touched in 3 years" — abrookewood
"Xquery is what I would call a “weirdly good” language" — jact
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.