‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou


> (eq 1 (eq 2 3))
compile ->( EQ 1 ( EQ 2 3 ) )
compile ->( EQ 2 3 )
Compiled list code:
CTXDOWN	NIL
PUSH	1
BIND	A
CTXDOWN	NIL
PUSH	2
BIND	A
PUSH	3
BIND	B
BLTIN	EQ
CTXUP	NIL
BIND	B
BLTIN	EQ
CTXUP	NIL

Все "машинные команды" берут один операнд. Даже там, где он не нужен или где логично было бы сделать два операнда (пара push/bind)

И вот где-то тут системе надо делать вывод о том, что рекурсивый вызов можно преобразовать в итерационный.

Tags: uncommon lisp
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments