Hi Alex!
On Tue 16 Aug 2011 18:15, Alex Shinn <alexshinn@gmail.com> writes:
> On Mon, Aug 15, 2011 at 6:47 PM, Andy Wingo <wingo@pobox.com> wrote:
>
>>> Identifier syntax is not provided. [...]
>>
> This particular case has been argued extensively,
> and is brought up multiple times in the R6RS
> ratification votes. I can dig up references after I
> catch up on mail, but it is hardly what you could
> call a "bad justification", even if you disagree with it.
Ah, I see the comments in the ballots, thanks for the pointer. I should
re-read those statements sometime.
>> In particular you can make the same argument about not knowing whether a
>> particular form is an expression or a definition. I guess my question
>> is, why is this a good argument against identifier-syntax?
>
> What is the point of this reductio ad absurdum? Are
> you suggesting we remove definitions (or expressions?)
> from the language?
No. I am arguing that expansion rules regarding internal defines make
it impossible to walk a <body> in a macro to determine the set of
bound variables at any given point. I consider this to be similar to
the question of, "is this a variable reference or not". But I won't
dwell on that point
You list two specific objections: determining whether a temporary is
needed, and implementing code walkers to do (e.g.) fast math. In the first
case, I would argue for the "macro writer's bill of rights": that
introducing an alias for a variable should be free, that you shouldn't
even need to check for that case in your macro. But, I understand
implementors that don't do this, not least because I am one of them :P
In the second case, I don't quite understand the macro, so I will
refrain from commenting.
I am getting close to understanding why you wouldn't want it, though. I
look forward to your comments, though it is not urgent :)
> Personally I voted against [centered/] because there are just too many
> division operators going around, and it's not clear to me what they're
> all used for. I'd just as soon stick with R5RS until we actually
> figure this out.
>
> Real-world examples of any of the operators under discussion
> would be helpful.
I understand the concern. AFAIU centered/ is useful when you want to
restrict the range of the result of division to be a fixnum, which is
useful when implementing Scheme.
Here is an argument for div0:
http://lists.gnu.org/archive/html/guile-devel/2011-01/msg00136.html
(FWIW, I'm fine with omitting it. But we should spend some thought on
this.)
Regards,
Andy
--
http://wingolog.org/
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports