The paper "Making Pure Object-Oriented Languages Practical" to be presented at OOPSLA'91 in October is now available via anonymous ftp from otis.stanford.edu.
-- Craig Chambers
( | x <- 3. y <- 4. | )
Sending the "x" message to this object should return 3. Now your suggestion would be to treat 3 as a method whose code was "self". Evaluating this method would return the *receiver* of the "x" message, namely the (|x<-3.y<-4|) object, not the 3 object.
To do what you're proposing, the implied method for data objects would have to be something like "thisMethod" to return the invoked object itself.
-- Craig Chambers
self-interest@lists.selflanguage.org