-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Andy,
On 05-12-11 21:23, Andy Wingo wrote: > Heya Ludo, > > On Thu 30 Jun 2011 12:44, Andy Wingo <wi...@pobox.com> writes: > >> I think we should add `when' and `unless' to the default >> environment. >> >> They go like this: >> >> (define-syntax when (syntax-rules () ((_ test then then* ...) (if >> test (begin then then* ... (if #f #f)))))) >> >> (define-syntax unless (syntax-rules () ((_ test else else* ...) >> (if (not test) (begin else else* ... (if #f #f)))))) > > WDYT? `unless' is nice for assertions, `when' is its converse, and > most Schemes have them. I would like to add them to Guile too. Couldn't help but wonder why they don't return the value of the last body form, so I looked around a bit and both CLHS[1] and my racket REPL seem to agree that they should: $ racket Welcome to Racket v5.2.0.4. > (when #t 'hello) 'hello > (unless #f 'hi) 'hi Is there some other source that suggests that the return value should be unspecified? Marijn [1]:http://clhs.lisp.se/Body/m_when_.htm -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk7dyLEACgkQp/VmCx0OL2yAQACeL8y4js+HOZn1IBqFEJEl8n3I i+MAn0TBdz2e1lP9n2EyP9PDlM7ATKUL =nrWC -----END PGP SIGNATURE-----