next up previous
Next: 10.5 マクロ定義 Up: 10 リード,コンパイル,実行ループの実装 Previous: 10.3 Exitコマンド

10.4 関数のコンパイル


=> (define (test a) (list a a))
TEST
=> (test 1)
(1 1)
=> test
#S(FN :CODE
      #((ARGS 1)
        (LVAR 0 0 ";" A)
        (LVAR 0 0 ";" A)
        (GVAR LIST)
        (CALL 2)
        (RETURN))
      :ENV (#()) :NAME TEST :ARGS NIL)
=> (compile test)
#S(FN :CODE
      #((ARGS 0)
        (CONST
         #S(FN :CODE
               #((ARGS 1)
                 (LVAR 0 0 ";" A)
                 (LVAR 0 0 ";" A)
                 (GVAR LIST)
                 (CALL 2)
                 (RETURN))
               :ENV (#())
               :NAME TEST :ARGS NIL))
        (RETURN))
      :ENV NIL :NAME NIL :ARGS NIL)
=> (compile 'test)
#S(FN :CODE #((ARGS 0)
              (GVAR TEST)
              (RETURN))
      :ENV NIL :NAME NIL
      :ARGS NIL)
=>


generated through LaTeX2HTML. M.Inaba 平成18年5月6日