Meeting Results

These statements represent my conclusions after the meeting; I do not claim that they represent our deliberations during the meeting.

 

Token Size

We will definitely use 16-bit tokens, not 8-bit tokens.

 

Mood Relaxation

We will maintain two data structures for each mood: the first is a short containing the value of the word, and the second is a long containing the time at which it was last set. The mood value will be accessible only through an extractor function. This extractor function will take the mood value and subtract the amount of time that has elapsed since the mood was last set, returning the result. Thus, when the interpreter encounters a mood variable, it will resort to the extractor, not the actual value, and the problem of relaxation is automatically solved. The various AdjustMood procedures will first reset the mood value based on the current time, then perform the actual increment to the mood, then set the MoodTime value to the current time.

 

S-Code Token Declarations

The S-code values will be declared in the Master Globals file as we currently do. We will reorganize them into new classes, with differing degrees of privacy in each class. Some values will be accessible only through extraction functions, others will be directly accessible. A non-shipped version of the Erasmotron will read this Master Globals file and write a second file, called the Token Symbol Table, which will define the token symbols. This Token Symbol Table will be shipped with the runtime system; this is the file that will be read by the interpreter and the Erasmotron at runtime to determine the token symbol table. In other words, we are sticking close to our current arrangement, except that we will organize our use of the data so that the runtime versions of our software can operate without reference to the Master Globals file.

 

The Master Globals file and the Token Symbol Table will have a signature assigned to them that allows us to force an update of the Token Symbol Table. This mechanism is already in place. If the signature on the Token Symbol Table does not match the signature on the Master Globals file, the non-shipped Erasmotron will rewrite the Token Symbol Table. If the same signature is not present in the Verb Data file, then the non-shipped Erasmotron will rewrite the Verb Data file, updating the tokens with the new list.

 

We will continue to use the existing formatting of the Master Globals file because we are lazy and see no need to rewrite our software for a new format.