Alessio Stalla writes:
Sure, I think the abcl inspector does this too. However, with Lisp objects B is B itself; with Java objects, B is a representation of object B' in a certain state. If B' changes, B remains the same.
Where and why does that translation take place? I can see the need for to wrap "native" Java objects into an LispObject so you can pass it to Lisp functions, right? But why the deep wrapping?
However, I understand now that I can change that easily - I can return the raw untranslated Java object - you'll see all fields have a value of #<JAVA-OBJECT foo.bar.Class>, even for numbers, arrays, strings and other simple types; but that will always reflect the current object, and you'll still be able to inspect it to see what it is, so I think it's a sensible thing to do.
Yes, it's what I'd expect. -T.