Ethan Uphoff is an undergraduate student in the computer science program at the University of Minnesota Morris. He has spent much of his time researching clojure spec and the rewriting of error messages.
Babel: middleware for beginner-friendly error messages
Programmers who are just learning their first programming languages find Clojure hard to approach. One of the reasons is that Clojure error messages require understanding Java classes and other terminology that beginners don’t have background in. We present nREPL middleware called “babel” that intercepts Clojure error messages and replaces them with more beginner-accessible phrasing. In addition the system provides specs for clojure core functions that allow pinpointing a failing argument. The project has been ongoing at UMN Morris for a few years, with the initial idea presented at Clojure/west in 2015, but addition of spec to Clojure allowed us to provide self-containing middleware.