[racket] begin vs +

From: Keiko Nakata (keiko at kurims.kyoto-u.ac.jp)
Date: Mon Aug 2 07:42:34 EDT 2010

Hello,

This code prints "hi" twice,

(define d (box #f))

(+ (begin (let/cc k (begin (set-box! d k) 3))) (begin (print "hi") 9)) 

((unbox d) 0)

whereas this prints "hi" once

(define d (box #f))

(begin (begin (let/cc k (begin (set-box! d k) 3))) (print "hi")) 

((unbox d) 0)

Why?

Keiko


Posted on the users mailing list.