On Fri, 21 Jan 2011, John Cowan wrote: > Andre van Tonder scripsit: > >> Just note, FWIW, that R6RS library semantics have no such thing as >> "overriding". You would need to do a complicated EXCEPT import to >> exclude the usual WG1 meanings. > > I've just filed a ticket for this: http://trac.sacrideo.us/wg/ticket/132 .
There is a good reason why there isn't any overriding in library imports in R6RS, and in my opinion there is a good reason why things should stay this way. In practical applications, library import graphs may be deep, wide and complicated, often with many different paths to any particular leaf. Any semantics for overriding has to flatten this complicated graph into a linear ordered sequence so that the "latest" meaning of an imported name can be chosen as the real one. There are many different orders in which a graph can be traversed. This can of course be done easily by a machine if a particular traversal order is imposed by the standard. However, for a human to figure out what is happening when their program starts to do unexpected things can be a nightmare, especially because the number of paths to any leaf node tends to grow exponentially with depth. _______________________________________________ r6rs-discuss mailing list r6rs-discuss@lists.r6rs.org http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss