Alex Alejandre interviews CHICKEN Scheme maintainer Peter Bex about learning a runtime from the inside and shipping its UTF-8 transition. The most useful material is a debugging story: random heap corruption showed up in CHICKEN’s wiki, so the team suspected its Subversion integration. Reducing the failing program pointed somewhere else entirely.

A few lessons from the interview:

  • Strip a failing system down before committing to a theory. The crash survived a nearly empty wiki; disabling URI normalization exposed a broken core read-symbolic-link function.
  • Treat live REPL state as a separate artifact from editor buffers. A deleted test can remain loaded and still run until the session is reset.
  • When refactoring code without tests, preserve reference output — such as a database dump — and compare it after changes.
  • Compatibility is concrete work: CHICKEN 6 adopts base R7RS and separates strings from bytevectors while keeping older module syntax working.

Bex describes learning CHICKEN internals as a process of many years, not a quick tour of the compiler. The interview is at its best when that humility becomes a debugging method: challenge the attractive explanation, then make the reproducer smaller.