Hi Michael, On Thu 24 Jun 2010 01:23, Michael Lucy <[email protected]> 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/
