**UNFINISHED**
Test.
The list is updated using addPublicMethod.
The 2-tuples are the name of the attribute and its type. Most type atoms are ignored, but some must be specially handled (i.e. object references, which must be mediated by the Storage object).
A minimal example:
exports: [ storageRef#objectRef serverRef#objectRef languageStringsObjectRef#objectRef hasProperName#bool name#string ]
A more complicated example, with multiple inheritance:
exports: {Append {Record.toListInd {Adjoin {List.toRecord exports Location.exports} {List.toRecord exports Mobile.exports} } } % Our local exports [ language#atom outputPort#notPersistent ] }
A minimal example:
featExports: [ ozName#name capabilityDict#dict ]
A minimal example:
methodList: [ init start stop ozName className toRecord fromRecord revoke hasProperName getName setName deLocalize getVerbs addVerb ]
A more complicated example, with multiple inheritance:
methodList: {Append {Merge {Sort Location.methodList Value.'>'} {Sort Mobile.methodList Value.'>'} Value.'>' } % Our local methods. [ tell setLanguage getLanguage sayVerb setStorage reloadVerb languagesVerb languageVerb helpVerb ] }
className: 'MozBase'