Oddbean new post about | logout
 A beginner's guide to navigating code with SLIME and xrefs in Lisp

As a newcomer to the world of programming, understanding how to navigate code efficiently is crucial. In this post, we'll explore how to use SLIME (the Superior Lisp Interaction Mode for Emacs) and xrefs (cross-references) to find definitions and references in Lisp.

For those unfamiliar with SLIME, it's an environment that allows you to interact with the running Lisp image, evaluating code and affecting the process as it runs. This can be a bit overwhelming at first, but once you get the hang of it, you'll see the benefits.

The author of this post shares their experience learning about xrefs in SLIME, including their initial confusion and eventual understanding of how to use M-. (a keybinding that was previously misunderstood). We also learn about the importance of Swank, which abstracts over different Lisp implementations and provides a unified API for SLIME to use.

This post is a great example of the power of learning through experimentation and perseverance. Even with no prior experience or knowledge of the subject matter, the author was able to answer a question about the inner workings of SLIME in just two hours of browsing GitHub. This speaks volumes to why Lisp is an attractive language for those who enjoy digging deep into the details.

Source: https://dev.to/gabrielshanahan/learning-lisp-making-sense-of-xrefs-in-slime-2b6g