Why is tcl broken?

Cameron Laird claird at Starbase.NeoSoft.COM
Tue Jun 29 17:58:03 CEST 1999


In article <lwso7bdnia.fsf at copernico.parades.rm.cnr.it>,
Marco Antoniotti  <marcoxa at copernico.parades.rm.cnr.it> wrote:
			.
			.
			.
>I have no problems with that.  But the following example is pretty
>hard to beat. :)
>
>==============================================================================
>* (defmacro zut (a) `(list ,a))
>ZUT
>
>* (defun zot (x) (zut x))
>ZOT
>
>* (compile 'zot)
>ZOT
>
>* (disassemble 'zot)
>071B5790:       .ENTRY ZOT(x)                ; (FUNCTION (T) LIST)
>     7A8:       ADD   -18, %CODE
>     7AC:       ADD   %CFP, 32, %CSP
>
>     7B0:       CMP   %NARGS, 4              ; %NARGS = #:G0
>     7B4:       BNE   L0
>     7B8:       NOP
>     7BC:       MOVE  %A0, %A4               ; %A0 = #:G1
>     7C0:       MOVE  %A4, %A0               ; No-arg-parsing entry point
>     7C4:       ADD   4, %ALLOC
>     7C8:       ANDN  %ALLOC, 7, %A3
>     7CC:       OR    3, %A3
>     7D0:       MOVE  %A3, %A1
>     7D4:       ST    %A0, [%A1-3]
>     7D8:       ST    %NULL, [%A1+1]
>     7DC:       TADDCCTV 4, %ALLOC
>     7E0:       MOVE  %A3, %A0
>     7E4:       MOVE  %CFP, %CSP
>     7E8:       MOVE  %OCFP, %CFP
>     7EC:       J     %LRA+5
>
>     7F0:       MOVE  %LRA, %CODE
>     7F4:       UNIMP 0
>     7F8: L0:   UNIMP 10                     ; Error trap
>     7FC:       BYTE  #x04
>     7FD:       BYTE  #x19                   ; INVALID-ARGUMENT-COUNT-ERROR
>     7FE:       BYTE  #xFE, #xED, #x01       ; NARGS
>     801:       .ALIGN 4
>* 
>==============================================================================
>
>Of course I could have defined a much more intricated macro.
			.
			.
			.
As it happens, there's very good work going on just now
to beef up Tcl's introspective capabilities.  Is *that*--
introspection--the real content of your preference?
Incidentally, many of the same ideas and possibilities
are available to Python, although I don't know of anyone
actively pursuing them for Python.  While Tim Peters im-
presses me with, among much else, his ability to code
clever little methods that tease all sorts of informa-
tion from a Python interpreter, I occasionally argue that
'twould be worth the effort to do introspection for Py-
thon in a more unified way.
-- 

Cameron Laird           http://starbase.neosoft.com/~claird/home.html
claird at NeoSoft.com      +1 281 996 8546 FAX




More information about the Python-list mailing list