On 09.08.10 03:59, Joe Snikeris wrote:
Hi all,

Is there a way for a procedure to modify bindings in it's parent
environment?  I suppose the technique would be similar to passing a
C-style pointer to the procedure.

For example:

(define p 1)
(f p 3)
p
3

Something like this?

#lang racket
(define-syntax-rule (make-accessor b)
  (case-lambda
    [() b]
    [(v) (set! b v)]))

(define (f x y)
  (let ([old-x (x)])
    (x y)
    (list old-x (x))))

(let ([b 15])
  (list b
        (f (make-accessor b) 3)
        b))


--
regards,
Jakub Piotr Cłapa
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to