<dnhester26>
can anyone give me advice or point to resources on how to effectively refactor code in CL? In particular renaming symbols (functions)?
<dnhester26>
sometimes the names show up as #'fun-name or 'fun-name of (fun-name, just wondering if there are any tools which make this process easier
<dnhester26>
for some reason when trying to find who calls a macro with xref in sly it didn't result in anything even though I had the same file where the macro is defined opened with many usages...
hineios23 has quit [Quit: Ping timeout (120 seconds)]
danieli has quit [Quit: Ping timeout (120 seconds)]
hineios23 has joined #commonlisp
fitzsim has quit [Remote host closed the connection]
cqst has quit [Remote host closed the connection]
ElKowar3 has joined #commonlisp
danieli has joined #commonlisp
scymtym has quit [Read error: Connection reset by peer]
olivial has quit [Read error: Connection reset by peer]
remexre has quit [Read error: Connection reset by peer]
remexre has joined #commonlisp
scymtym has joined #commonlisp
dtman34 has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
rodrigo-morales has quit [Remote host closed the connection]
dtman34 has joined #commonlisp
skyl4rk has joined #commonlisp
ElKowar has quit [Ping timeout: 252 seconds]
ElKowar3 is now known as ElKowar
rodrigo-` has joined #commonlisp
johnjaye has quit [Ping timeout: 252 seconds]
JuanDaugherty has joined #commonlisp
johnjaye has joined #commonlisp
<beach>
dnhester26: I think you touched upon a weak spot in tools available for our free Common Lisp implementations.
<dnhester26>
beach: thanks for answering. Meaning in the paid versions there's better tooling?
<dnhester26>
I'm OK if it's not perfect, but I wanted some advice on how to proceed. Slime find-grep doesn't actually always find everything I don't know why, and in some other editors VS Code, also, sometimes doing search and replace doesn't find every string even without regex
<beach>
I don't know whether the commercial implementations are better. I have never used one of them.
<dnhester26>
There must be people who've worked on large projects who must have experience on how to work around these issues, no?
<beach>
My experience is that it's painful.
zxcvz has joined #commonlisp
<beach>
You need a code walker to do this right, and perhaps one of the freely available code walkers can help. Otherwise, the only code walker that can correctly identify the role of each symbol is the compiler. But we are (slowly) working on something that might solve some of these issues. Don't hold your breath though.
<dnhester26>
Ok, thanks. So just back to search and replace. I'm surprised there's no automated tool which searches and replaces at least the common cases in slime/sly...
eddof13 has quit [Quit: eddof13]
<beach>
SLIME or Sly does not have a way to analyze the code to determine the role of each symbol.
zxcvz has quit [Client Quit]
<beach>
Consider (LET ((POSITION ...)) ...) You would need to know the semantics of LET in order to see that POSITION is not a function name.
<dnhester26>
right, but at least there should be a textual based search and replace even without a running image. Oh, maybe because CL can have the same symbol be a variable and a function...
<beach>
There is of course a search and replace facility in Emacs.
<dnhester26>
right... ahhh, ok, this is more difficult than I was expecting it to be. What's the benefit of having a symbol be able to do both? that's the split between lisp-1 and 2 right?
<beach>
M-%
<beach>
In this case, it is also that Common Lisp allows for lexical variables to use some symbols in the Common Lisp package.
<dnhester26>
right, for some reason it's not been great... anyways, will try to do a rename on a fresh repository state so that I can diff and try to test things
<beach>
It would be too restrictive if you could not use common names like POSITION.
Perflosopher has joined #commonlisp
<dnhester26>
yes, I realized I'm guilty of doing that. I noticed the other day that some of my slot definitions were different, and realized it was because that slot was named `type`
<dnhester26>
oh well I guess I'll try for the best
<dnhester26>
Will it be possible to make this easier with SICL?
<beach>
M-% works OK; you get to inspect each case before it replaces.
<dnhester26>
right, but I have dozens of files
<beach>
dnhester26: It will be easier to do this in the IDE that we are (slowly) working on.
<beach>
dnhester26: Then you can use tags-query-replace.
<dnhester26>
tags query replace, had not heard of that one, will look it up now, thanks
<beach>
Sure.
<dnhester26>
cool, all the best with that IDE :)
<beach>
It works on multiple files.
<beach>
dnhester26: Thanks.
zenmov has quit [Remote host closed the connection]
<dnhester26>
Thank you
benkard has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
mulk has quit [Ping timeout: 260 seconds]
benkard is now known as mulk
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
jonatack has quit [Read error: Connection reset by peer]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
yitzi has joined #commonlisp
dnhester26 has joined #commonlisp
dra has joined #commonlisp
akoana has quit [Quit: leaving]
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
GalaxyNova has joined #commonlisp
Spawns_Carpeting has quit [Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in]
Spawns_Carpeting has joined #commonlisp
dnhester26 has quit []
mgl_ has quit [Ping timeout: 248 seconds]
<jrm>
I'm having a heck of a time working with ASDF output translations. Even a minimum example like this fails. ASDF_OUTPUT_TRANSLATIONS="/usr/local/lib/common-lisp/asdf/:/home/jrm/tmp/" sbcl
<jrm>
After starting SBCL, (print asdf::*output-translations*) report NIL. Am I missing something?
<jrm>
I guess those translations aren't stored in *output-translations*.
wacki has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
mgl_ has joined #commonlisp
<jrm>
Some progress. SBCL is now picking up what I put in /etc/common-lisp/asdf-output-translations.conf.d/10-asdf-sbcl.conf, but it's complaining about the translation.