PasteRack.org
Paste # 49418
2019-02-21 22:42:30

Fork as a new paste.

Paste viewed 462 times.


Embed:

  1. #lang racket/base
  2. (define whatever (make-parameter 10))
  3. (define x null)
  4.  
  5. (define (bar)
  6.   (displayln (string-append "Parameter: " (number->string (whatever))))
  7.   (whatever))
  8.  
  9. (define (func parameter-value)
  10.   (parameterize ([whatever parameter-value])
  11.     (+ (let/cc y (set! x y) 20)
  12.        (+ 20 (bar)))))
  13.  
  14. (func 20)
  15. (x 20)
  16.  
  17. (func 30)
  18. (x 20)

=>

Parameter: 20

60

Parameter: 20

60

Parameter: 30

70

Parameter: 30

70