Heading:
Second EPE report (section 5)
Page Numbers: No
Second EPE report (section 5)
Foreign affairs
The choice of Lisp or Mesa as the starting point for an EPE project within CSL has implications for other projects within CSL, for other organizations, and for CSL’s relations with those organizations. Although we are agreed that "foreign affairs" should be given less weight than CSL’s own needs, they are a legitimate concern in making the decision, and may prove to be one of the balance tippers.
The following discussion enumerates many of the areas of concern and indicates the probable effect of either decision. To a high degree, the effects are "formally symmetric," i.e., for every advantage of one choice, a corresponding advantage of the other choice can be found. However, CSL may wish to give higher weight to relations with the rest of Xerox than to its relations with the world outside Xerox. For intra-company relations, somewhat more advantages follow from the choice of Mesa.
Separate sections discuss the effect of the decision on the importation and exportation of people, ideas, and code, and on CSL’s "image."
Importation
Importation of ideas
From within CSL
Issue: There is a lot known about programming environments within the lab, and people who are not directly involved in the project are still potential sources of good ideas.
If Lisp is chosen: The people currently working in and on the Lisp environment will likely be within the EPE project. Some effort will be needed to ensure that Mesons concerned with interfaces, static checking, verification, and optimization provide enough input to ensure that they can profitably build on the EPE as it becomes available.
If Mesa is chosen: The Mesons mentioned above will likely be within the EPE project. Some effort will be needed to ensure that the Lispers concerned with programmer assistance, programs as data bases, and integrated sublanguages provide enough input to ensure that they can profitably build on the EPE as it becomes available.
From within Xerox
Issue: Other parts of Xerox, most notably SDD, are also concerned with developing programming environments (although with somewhat different characteristics than EPE requires). We should be prepared to shamelessly steal good ideas.
If Lisp is chosen: The relationship to SDD efforts will be somewhat more distant, the application of their ideas somewhat less obvious.
If Mesa is chosen: Much of what SDD does will be directly relevant; there will be continual pressures to remain compatible, and to import code, rather than just ideas.
From the world at large
Issue: We would like to track the state of the art in the world at large.
If Lisp is chosen: Much of the "automatic programming" and "programmer’s assistant" type of work is done in various Lisp dialects, and should be easily applicable. This group of researchers is currently being encouraged to focus their attention on the development of a programming environment for ADA (formerly DoD/1); however, much of their research work is likely to continue to be in Lisp.
If Mesa is chosen: Much of the specification and verification work is directed towards Pascal dialects, and should be easily applicable. ADA, like Mesa, is based on Pascal, and work on ADA environments should be highly relevant.
Importation of people
Issue: We want people to move into the project easily, and are even more concerned that it be easy for users to convert to the use of the EPE.
From within CSL
Lisp and Mesa have roughly comparable numbers of "hard core" users, and the issues of migration seem roughly symmetric.
From within Xerox
Mesa will be much more widely known and used within the corporation.
From the world at large
Generic Lisp is more widely known than Mesa; Generic Pascal is more widely known and used than Interlisp. If there is a systematic difference, it probably lies primarily in the communities from which we expect to recruit.
Importation of code
From within CSL
Issue: Existing service packages should be made compatible with, or absorbed into, EPE to the greatest extent feasible. We want to avoid fragmentation of both user and maintenance effort. (In addition, importing people implies importing their research systems.)
If Lisp is chosen: The Interlisp packages come over almost intact. Will Bravo and Laurel users accept them as substitutes, or will functional equivalents of those systems be needed?
If Mesa is chosen: Provision of functional equivalents of the Interlisp packages will be a major chore. Laurel comes over, but something would still need to be done about Bravo.
From within Xerox
Issue: We want to stand on the shoulders of SDD and ASD wherever possible, both in terms of service packages/systems, and program development aids. CSL will want to experiment with prototypes and systems built elsewhere, and would benefit from the ability to incorporate outside packages and subsystems into our experimental systems.
If Lisp is chosen: Nothing comes over.
If Mesa is chosen: The amount of actual code that we can import depends both on the degree to which we force our EPE Mesa to remain equivalent to SDD Mesa, and the extent to which the solutions they choose to provide match the problems we need solved. Transferability will probably require that EPE Mesa be a strict superset of SDD Mesa.
From the world at large
Issue: It would be nice not to have to replicate large system-building projects from elsewhere.
If Lisp is chosen: There is significant precedent for Interlisp system facilities being imported from elsewhere. The amount of actual code that we can import in the future depends both on the degree to which we force our EPE Lisp to remain equivalent to Interlisp, and the extent to which the systems built elsewhere solve the problems we have. There is apparently relatively little history of importing application-level code in Lisp.
If Mesa is chosen: No code comes in.
Exportation
Exportation of ideas
To the rest of CSL
Issue: We want to "talk their language," even before conversion to EPE is complete.
Again, the Lisp and Mesa situations seem quite symmetric; special efforts at communication will be needed in either case to avoid alienation.
To the rest of Xerox
Issue: We would like to be able to demonstrate feasibility of ideas, and let the development groups take them over and produce the production systems.
If Lisp is chosen: The credibility gap will be somewhat larger, particularly if adequate performance of a demonstration system depends on the full power of the Dorado.
If Mesa is chosen: We will be under continual pressure to export not just ideas, but code, and then to maintain that code for the whole Xerox world.
To the world at large
Issue: As part of the commerce of ideas, we must give as well as take. (See also the discussion under importation of ideas.)
If Lisp is chosen: We communicate easily with the AI and theorem-proving communities.
If Mesa is chosen: We communicate easily with the programming language, system implementation, and structured programming communities.
Exportation of people
To the rest of CSL
Issue: None of us sees EPE as his life work.
However, regardless of starting point, we expect EPE to be the major programming tool within CSL for some time to come; there should be no major problem moving from EPE to any other CSL programming project.
To the rest of Xerox
Issue: One of the best ways to transfer ideas is often to transfer the people who carry them. We would like to make (temporary) transfers easy and productive.
If Lisp is chosen: In addition to the problem of moving to a less powerful programming environment, there will be a definite (but, one hopes, temporary) linguistic gap of the same order of magnitude as the effort required within CSL to convert a Lisper to a Mesa-based EPE. This will significantly increase "swapping overhead."
If Mesa is chosen: The transfer may be almost too easy; we need to ensure that we get people back!
To the world at large
Issue: Do we really want to encourage this, except on a temporary basis?
As with importing people, this largely depends on the communities with which we want to interact most strongly.
Exportation of code
To the rest of Xerox
Issue: Some systems that we build primarily for our own use may prove to be so good that we want them used widely within the corporation (e.g., Bravo); in other cases we may need a large community of users to enable our own research (e.g., message transport system).
If Lisp is chosen: This won’t happen, unless provision is made for "severable" systems (analogous to Mesa image files) and programs can be tuned to run with acceptable efficiency on D0’s.
If Mesa is chosen: This depends on degree of source-language compatibility for packages and subsystems. It is probably simpler at the system (image file) level, as with Laurel.
To the world at large
If Lisp is chosen: It probably won’t happen, except for a few research sites whose interests include both Lisp and high-capability personal computing.
If Mesa is chosen: It definitely won’t happen.
Effect on Image
In the rest of Xerox
If Lisp is chosen: Software development groups throughout the corporation are likely to perceive this as a CSL "abandonment" of Mesa just as it is being adopted elsewhere. This may tend to lessen our credibility, and somewhat reduce the morale of Mesa proponents and users.
If Mesa is chosen: CSL would probably be perceived as doing research of greater relevance to the corporation. There would be a greater chance of development organizations converting to environments similar to EPE as its advantages are demonstrated (and as more capable hardware becomes cheaper).
In the world at large
Issue: Either choice will increase the "black hole" perception in some communities relevant to us.
If Lisp is chosen: The programming language, system implementation, and structured programming communities will find it harder to communicate and cooperate with us.
If Mesa is chosen: The AI, automatic programming, and theorem-proving communities will find it harder to communicate and cooperate with us.