[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why not support (begin), (cond), (case-lambda), etc?
From: |
Alex Shinn |
Subject: |
Re: Why not support (begin), (cond), (case-lambda), etc? |
Date: |
Fri, 6 Jan 2012 12:37:02 +0900 |
On Fri, Jan 6, 2012 at 9:49 AM, Mark H Weaver <address@hidden> wrote:
>
> I'd like to argue in favor of supporting (begin), (cond), (case-lambda)
> and other such degenerate forms, for the same reason that we support
> (*), (+), and (let () ...).
>
> First of all: Is there any compelling reason not to support them?
> I can't think of one. Can you? If so, please do tell.
1. portability - these extensions may not work on other
implementations. 2. the fact that these may be indicators
or broken macros. Suppose in general p% of macro
expansions into cond are bugs. Since (cond) is a degenerate
form, it's reasonable to suppose that q > p% of expansions
into (cond) are bugs. If q is larger enough than p, then it's
not worth the convenience it saves in some cases. Not
that I have any idea what p and q are for these forms.
Note the "definition context" begin in R7RS does allow zero
arguments because expanding into zero definitions is a
common case.
--
Alex
- Why not support (begin), (cond), (case-lambda), etc?, Mark H Weaver, 2012/01/05
- Re: Why not support (begin), (cond), (case-lambda), etc?,
Alex Shinn <=
- Re: Why not support (begin), (cond), (case-lambda), etc?, Mark H Weaver, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, Alex Shinn, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, Mark H Weaver, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, Alex Shinn, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, David Kastrup, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, Alex Shinn, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, David Kastrup, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, Alex Shinn, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, David Kastrup, 2012/01/06
- Re: Why not support (begin), (cond), (case-lambda), etc?, Andy Wingo, 2012/01/06