guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: expression


From: Andy Wingo
Subject: Re: expression
Date: Thu, 24 Jun 2010 15:01:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (gnu/linux)

Hi Michael,

On Thu 24 Jun 2010 01:23, Michael Lucy <address@hidden> writes:

> scheme@(guile-user)> ,c (begin (set! x 1) *unspecified*)
> Disassembly of #<objcode 9a05d08>:
>
>    0    (assert-nargs-ee/locals 0)
>    2    (make-int8:1)                   ;; 1
>    3    (load-symbol "x")               ;; x
>    8    (link-now)
>    9    (variable-set)
>   10    (load-symbol "*unspecified*")   ;; *unspecified*
>   27    (link-now)
>   28    (variable-ref)
>   29    (return)

In current Guile, *unspecified* is actually a macro, allowing the
compiler to do its job better:

scheme@(guile-user)> ,c (begin (set! x 1) *unspecified*)
<stdin>:1:10: warning: possibly unbound variable `x'
Disassembly of #<objcode 94a1908>:

   0    (assert-nargs-ee/locals 0)      
   2    (make-int8:1)                   ;; 1
   3    (load-symbol "x")               ;; x
   8    (link-now)                      
   9    (variable-set)                  
  10    (void)                          
  11    (return)                        

Andy
-- 
http://wingolog.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]