[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[marchett%cod@nosc: slotp]



The following came just to me, but as long as he's taken the trouble
to write all this down, it might as well be archived...

  Date: Mon, 21 Apr 86 07:20:53 PST
  From: David J. Marchette <marchett%cod@nosc.ARPA>
  To:   kmp@scrc-stony-brook
  Cc:   priebe%cod@nosc.ARPA
  Subject: slotp
  Message-Id: <8604211520.AA09291@cod.ARPA>
  
  I had several reasons for asking the question.  I admit it sounds
  silly that the person who did the programming wouldn't know what
  he called the slots.  That isn't what I'm talking about here.  The
  problem is that I am writing a rule parser similar to ops5, but with
  a more object-oriented view point.  A rule may deal with several
  objects, or structures, and there may be many different kinds of 
  data objects.  When the time comes to test the rules, the program
  needs a way of determining which objects are valid data for the
  rules, and this cannot be written in to the rule language.  I realize
  that there are other ways to do this, but it seemed to be an easy
  quick and dirty way to get things going if I could check the data objects
  to see if they had the necessary structure for that particular rule.  A
  second reason for doing this is that it would be nice to be able to have
  a simple way of viewing the data built in to the rule language.  The
  Symbolics has such a tool, called the inspector, which allows one to
  see the values of the slots and prints the "name" of the slot next to
  it.  The inspector of course cannot know ahead of time what kind of data
  it will be given.  Finally, the fact that a debugger may want to have
  this ability is another argument for making it a part of the language
  since this would make one more part of the debugger implementation
  independant.  After all, someone has to write debuggers.  Since, as I
  understand it, there is nothing forcing an implementation to store
  structures in a particular way, there may be no way to get this information
  in an implementation independant way unless the implementer also provides
  a function to do this.  I may be wrong, they may always store the names
  of slots in a property list, in which case I have no problem, but I don't
  want to write code that will only run on my symbolics.  If I'm going to 
  do that, I might as well stick with zetalisp with all the good stuff it
  gives me.