I'm taking a closer look at the '$' low level trace function. In the 
 ref. I read that "if a method is traced, it [the first argument] is a 
 cons pair of message and class. However, when I try this, I also get to 
 see a representation of the object, but I have trouble understanding 
 where that information is comming from. I can do a very simple case like 

 (class +C)
 (dm m> () NIL)
 (setq X (new '(+C)))
 -> $349014

 (trace 'm> '+C)
 (m> X)
  m> +C $349014 :
  m> +C $349014 = NIL
 -> NIL

 As you can see, the trace not only shows the message/method 'm>' and 
 the class '+C', but also the object '$349014' (my X).

 I wanted to investigate this by replacing the '$' function involved by 
 one of my own, like this:

 (de dol Args (println Args) NIL)
 (setq $ dol)

 ... but when I did (m> X) again, I got this:

 ((m> . +C) NIL NIL)
 -> NIL

 ... No trace of my object '$349014' here, just the cons pair mentioned 
 in the ref. docs. Can somebody explain where the '$' function is getting 
 its object information from?

UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe

Reply via email to