Sula: A Gemini protocol server written in Scryer Prolog

sagredo.dev
August 5, 2026
3 min read
44/100
Summary
Sula is a Gemini protocol server developed in Scryer Prolog. It requires a patched version of Scryer Prolog that includes a native '$copy_stream'/2 builtin for streaming binary files to TLS clients and a fix to library(pio)’s buffer preparation for lazy reads from process pipes.
Key Takeaways
- Sula is a Gemini protocol server implemented in Scryer Prolog, requiring a patched version of Scryer Prolog to function correctly.
- The server supports TLS via rustls, hostname verification, and content negotiation based on file extensions.
- Sula features graceful shutdown on SIGINT and per-connection error handling for TLS handshake failures and client disconnects.
- Planned features for Sula include client certificates, configuration file support, and multi-threading capabilities.
Coverage & discussions
Hacker News · sagredo.dev
Community discussions
Historical count: 2 · 2 saved in sample · Historical sample
Awaiting analysis
Related Articles

Beyond Recall and the Illusion of Competence
Aug 26, 2026

Putting Linux on my RTX Spark laptop because I don't have a Microsoft account
Oct 19, 2026

Atlassian’s Mike Cannon-Brookes: AI agents need a name tag—and a human to be accountable for their actions
Oct 19, 2026

The reverts will continue until morale improves
Oct 19, 2026

I no longer care to work on any Ruby gems so I've archived all my repositories
Oct 19, 2026