Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!news.cs.indiana.edu!rutgers!mit-eddie!media-lab!mob From: mob@media-lab.MEDIA.MIT.EDU (Mario O. Bourgoin) Newsgroups: comp.lang.scheme Subject: Re: Using the return value of set! et al Message-ID: <5582@media-lab.MEDIA.MIT.EDU> Date: 2 Apr 91 16:37:22 GMT References: <1991Mar24.064144.4256@daffy.cs.wisc.edu> <2977@kraftbus.cs.tu-berlin.de> <1991Mar26.155905.12906@daffy.cs.wisc.edu> Reply-To: mob@media-lab.media.mit.edu (Mario O. Bourgoin) Organization: MIT Media Lab, Cambridge MA Lines: 23 I feel lost in reading these debates on whether SET! and its avatars should return a useful value and whether people should use it. There's a game of terseness in computer programming where people work very hard to say something with the smallest number of statements that the language allows. Like most, I play this game and justify it, rightly or wrongly, in the name of efficiency. But there's another, more valuable game to play: that of making programs readable and understandable by others. While the two games aren't always at odds, I think that the latter game should win out over the former when there's a conflict. --Mario P.S. I say that the game of terseness is usually justified on ground of efficiency, but I've lately come to suspect that most compilers either aren't able to make use of the extra information given to them when such things as the return value of a set is used, or that they are able to figure it out for themselves already. Is this true? Furthermore, I think that that kind of information is not necessarily what the compiler would need to best optimize the code because it can at best lead to local changes, not global re-writes. Can someone confirm this?