Zach Beane (xach) wrote,
Zach Beane

xref support in SBCL

Juho Snellman has committed an xref system to SBCL, and made a corresponding update to SLIME to support the new functionality.

xref is a cross referencing system for the code you have compiled and loaded. It tracks where constants and specials are referenced, where macros are macroexpanded, and where functions are called. With that information, you can ask your running system questions like "What functions call FOO:BAR?" and "Where is WITH-FROB macroexpanded?"

There's a portable xref facility, and for a time it was used for SBCL in slime, but it was disabled and I don't recall why.

Juho's xref is fast and small enough that it has been enabled by default. It can be turned off by setting the SPACE optimization to 3.

I've never actually used a Lisp with xref support in SLIME before. I can understand the conceptual usage, but can anyone tell me the sorts of things they find themselves using xref for in their daily workflow?

Tags: lisp

  • Common Lisp bits

    Heinrich Apfelmus has updated to the source code from Computer Models of Musical Creativity and put it on github. Looks like it's meant to work…

  • Where to get help with Common Lisp

    There are several options for getting help with Common Lisp. First, some general sources of help. Any coherent question posted to Stack Overflow…

  • Starting a Lisp project in 2014

    If you're starting a project today and you want to make it easy to interact with the outside world, there are many, many, many services…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded