On Thu, May 7, 2009 at 2:46 PM, Yoshikatsu Fujita
<[email protected]> wrote:
> For example, I expect following script prints '(100 101 102).
>
>  $ cat var.sls
>  #!r6rs
>  (library (var)
>    (export var-ref var-set!)
>    (import (rnrs))
>    (define var 'unknown)
>    (define (var-ref) var)
>    (define (var-set! n) (set! var n))
>    )
>
>  $ cat fetch.sls
>  #!r6rs
>  (library (fetch)
>    (export var++ var-ref var-set!)
>    (import (rnrs) (var))
>    (define (var++) (let ((n (var-ref))) (var-set! (+ n 1)) n))
>    (var-set! 0)
>    )
>
>  $ cat test.sps
>  #!r6rs
>  (import (rnrs) (fetch))
>  (var-set! 100)
>  (display (list (var++) (var++) (var++)))
>  (newline)

Beautiful example!

Reply via email to