marcomaggi / vicare

A native compiler for Scheme compliant with R6RS
http://marcomaggi.github.com/vicare.html
Other
200 stars 34 forks source link

cond without an else clause produces no values #95

Closed weinholt closed 7 years ago

weinholt commented 7 years ago

I am using Vicare Scheme 0.4d1.1 on Debian GNU/Linux 8.7 amd64.

The cond syntax is not behaving properly when there is no else clause. The following expressions should all return 1:

Vicare Scheme version 0.4d1.1, 64-bit
Build 2017-02-15

Copyright (c) 2006-2010 Abdulaziz Ghuloum and contributors
Copyright (c) 2011-2016 Marco Maggi and contributors

vicare> (cond (#t 1))
vicare> (cond (1))
vicare> (cond (else 1))
$1 = 1
marcomaggi commented 7 years ago

This is on purpose. It is explained in the devlog. I have not yet properly documented these changes. Sorry.