Hi Alex! On Tue 16 Aug 2011 18:15, Alex Shinn <[email protected]> writes:
> On Mon, Aug 15, 2011 at 6:47 PM, Andy Wingo <[email protected]> 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 [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
