-----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-----

Reply via email to