I'm using SBCL, emacs, slime, and quicklisp to install various packages.
I instantiate and start a hunchentoot acceptor like so,
CL-USER> (hunchentoot:start (make-instance 'hunchentoot:acceptor :port 4242))
#<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>
I test by opening the browser on port 4242 and it works fine.
Then to stop it, I can copy the printed representation and issue the command, like so:
CL-USER> (hunchentoot:stop #<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>)
#<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>
This only works with the printed representation returned by the corresponding start.
This is surprising to me. I thought that the printed representation was simply text returned, presumably because the object itself could not be shown. As such, I thought it was pretty neat that hunchentoot:stop could use the text string to find the object. But then with more experimentation, I noticed that I had to use the printed representation corresponding to the start, not just any one. I also notice that when I put my mouse over the printed representation it highlights the entire segment. So it's not text at all but the object that is actually in the REPL, and I can use it.
So on the one hand what's returned is a print representation so I can see it, but on the other it's the actual object that I can copy and paste in the REPL. Is this right? I guess it must be because I'm doing it. This is totally amazing to me.
Any explanation or insight would be greatly appreciated.