Last night I promoted a new nREPL middleware project, ‘nrepl-inspect’, derived from the javert library.

nrepl-inspector on GitHub

This repository contains:

an Emacs client file that extends nrepl.el, and

a rich generic middleware inspector that runs under nREPL.

Key features include:

‘C-c C-i’ inspects the var at point, or any value returned by eval of an arbitrary expression in the current buffer’s active namespace,

a simple model for recursing into sub-objects based on a value index map maintained in the middleware during serialization of the value, and

a rendering method extensible for custom types.

My goal is to be able to stack navigate a Datomic database given an Entity, the example in the repository should support that with just a little more work.

Please note, while I use this in my day to day development, but it’s not yet well packaged and has been minimally tested. It currently does not truncate maps or sequences, so please don’t inspect ‘(repeat 1)’!