John Fremlin
2009-05-01 05:08:56 UTC
Dear SBCL,
First off, thanks for making SBCL. We recently did an informal survey of
the quality of code generated by Lisp compilers and SBCL was by far the
best.
However, one slightly annoying issue with SBCL is that it stores the
code locations for functions and other things in a way that does not
make it easy to get out the line number. IIUC, it stores the number of
toplevel forms through the file and then the number of the form inside
that toplevel form.
This means that to find a function in the source file, SLIME has to do
all sorts of shenanigans with reading in the file again (with an attempt
to replace the read-table) and then computing the line number.
Is there a philosophical objection to adding line/column numbers to code
locations? Is it technically difficult? Would a patch to do it be
considered, and if so should I remove the toplevel form counters at the
same time or leave them alone?
First off, thanks for making SBCL. We recently did an informal survey of
the quality of code generated by Lisp compilers and SBCL was by far the
best.
However, one slightly annoying issue with SBCL is that it stores the
code locations for functions and other things in a way that does not
make it easy to get out the line number. IIUC, it stores the number of
toplevel forms through the file and then the number of the form inside
that toplevel form.
This means that to find a function in the source file, SLIME has to do
all sorts of shenanigans with reading in the file again (with an attempt
to replace the read-table) and then computing the line number.
Is there a philosophical objection to adding line/column numbers to code
locations? Is it technically difficult? Would a patch to do it be
considered, and if so should I remove the toplevel form counters at the
same time or leave them alone?