[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
- To: Ellis at YALE
- From: Kent M. Pitman <KMP at MIT-MC>
- Date: Thu ,20 May 82 17:26:00 EDT
- Cc: Flowers at YALE, T-Discussion at YALE
- Mail-from: ARPANET site MIT-MC rcvd on Thu May 20 17:27:01
Sorry, John, I think you're wrong. Any argument based on reflecting the
internal representation of anything is suspect. Abstractions are abstractions.
No one should ever depend on the storage format of a property list. There's
no reason you should even assume it's really stored as a list. Certainly in
T we thought about making it be a hash table internally and would like to
leave open the possibility of doing that later. Good tools should be available
for getting efficient access to all the plist's contents, but there's no
reason for you (the user) to know how those tools work. Anyway, PUSH/POP
is a weaker case of the same -- the only thing you should really have to know
about PUSH is that (PUSH loc x) followed by (POP loc) gives you back x and
returns the contents of loc to the state it had before the PUSH. Talking about
internals just makes your code awfully dependent on a lot of details that it
ought never deal with because it ties you to a particular implementation.
I think Margot's idea of worrying about making code reflect internal detail
is a bad one. -kmp