Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!snorkelwacker.mit.edu!ai-lab!zurich.ai.mit.edu!jinx From: jinx@zurich.ai.mit.edu (Guillermo J. Rozas) Newsgroups: comp.lang.scheme Subject: Re: Order of evaluation (was Re: evaluating () should be an error Message-ID: Date: 4 Apr 91 04:11:49 GMT References: <1991Mar26.224805.23381@cs.ubc.ca> <6260003@otter.hpl.hp.com> Sender: news@ai.mit.edu Reply-To: jinx@zurich.ai.mit.edu Organization: M.I.T. Artificial Intelligence Lab. Lines: 18 In-reply-to: sfk@otter.hpl.hp.com's message of 2 Apr 91 10:33:02 GMT Because I've encountered problems due to free-order of evaluation of arguments in industrial programs and have found them unacceptable, and because I find the efficiency arguments unconvincing, I believe that the argument order should be fixed. An acceptable, though less attractive, alternative would be a lint-like tool for detecting likely violations. I'm just curious, but would all of you who advocate for fixing the order of argument evaluation accept the following order: All the even numbered arguments are evaluated first from right to left, and then the odd numbered arguments are evaluated from left to right. It would make all implementations consistent, it might make the task of those who care about proving theorems simpler (they seem to claim that a fixed order does), and would probably prevent people from abusing the order of argument evaluation, so it seems to have all the properties that we all want, except for freedom to the compiler.