Glossary FDLnotes
IF YOU CAN SEE THIS go to http://www.cs.cornell.edu/Info/People/sfa/Nuprl/Shared/Xindentation_hack_doc.html

The Initial Closed Map

The current closed map is supposed always to be derivable from a simple generic closed map, the "initial closed map". The natural choice would be the empty map, but it may be convenient to build in certain objects distinguished by the FDL process for its operation. For example, the "certificate identifiers" introduced in Certificate Structure serve to distinguish certificates from ordinary objects and to distinguish ways of executing Native Language programs, should there be more than one. And if such Native Language programs are expressed using particular operators identified by abstract identifiers, then those identifiers will also be included in the initial closed map.

Another obvious opportunity for deploying abstract identifiers is in the Pro-textual Constituents, which constitute the non-term constituents of texts -- the <kind> part of the pairs <value>:<kind> that mediate the injection of these values into the Text syntax would be naturally filled by an abstract identifier since its role is simply to stipulate the kind of value that fills the <value> place and has no structure. The argument for using an abstract identifier for the <kind> is in the domain of multiple FDL implementors rather than multiple clients. From time to time one may expect extensions to be made to the kinds of pro-textual values incorporated into texts, and different FDL implementors might independently extend their systems either incompatibly, leading to the usual expensive name collision that clients might not care to pay for when porting from one FDL to the other, or it might lead to a merely tedious divergence of kind names that would be more happily identified.

Plainly the use of abstract identifiers for pro-textual value kinds would easily avoid these problems. But this means that these kind name identifiers must be in the current map in order to form texts that use them, and so must be in the initial closed map since they cannot be created as part of the ordinary FDL operations on closed maps.

The initial closed map, modulo identifier renaming, is part of what must be explained to an FDL Client. Or more precisely some initial closed map adequate for that client must be explained, since it is conceivable that a given client might be adequately served by a proper submap of the initial closed map. That this is possible is implicit in the possibility of extending an FDL implementation to include some new distinguished objects, such as new kinds of pro-textual values as described above; assuming the client was doing just fine before the new elements were implemented they would have done just as well had these elements already been implemented and simply not been exposed to the client. IF YOU CAN SEE THIS go to http://www.cs.cornell.edu/Info/People/sfa/Nuprl/Shared/Xindentation_hack_doc.html

Glossary FDLnotes