This is not an "optimization" in the usual sense of the word (altho one could make a case it is a cognitive optimization. Those seem good, however).
The rule is split like that to avoid complicating the semantics when no assignments happen. The overall goal is to make it easier to follow along with a reduction sequence and a simple substitution is easier to follow along with than putting the variable into the store and taking it back out again. At least it is in my experience. Robby On 3/14/07, AndrevanTonder <[EMAIL PROTECTED]> wrote:
--- This message is a formal comment which was submitted to [EMAIL PROTECTED], following the requirements described at: http://www.r6rs.org/process.html --- Name : Andre van Tonder Email : andre at het.brown.edu Type : simplification Priority : low Component : Formal semantics Version : 5.92 Pages : 61-73 Dependencies: None Summary: -------- The current formal semantics contains at least one, and possibly more, unnecessary performance optimizations that complicate it rather more than necessary. Such optimizations have no place in a formal description of the semantics and should be removed. Description: ------------ An example of such an optimization occurs on pages 69 and 70, where procedure parameters are treated differently depending on whether they are the target of set! in the body of the procedure. This is unnecessary. It clashes with the informal description in the body of the report, and it complicates the semantics with an unnecessary rule [6appN], and an unnecessary variable assigment metafunction that takes about 25 lines (more than half of page 70) to describe. Both of these, and possibly other rules depending on this distinction, should be removed. This is one unnecessary complication, presumably based on optimization considerations, that I noticed. A more careful reading may turn up other optimization-related complications. This formal comment is intended to apply to all cases where the formal semantics may be simplified by discarding optimizations. _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
_______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
