Date: 9 Nov 1978 12:30 pm (Thursday) From: Horning Subject: Foreign/Local Affairs Outline To: PE-Interest^ [Here is a starting point for considering the effects outside the EPE group that are like to result from choosing LISP/Mesa as the starting point for EPE. As agreed at the last meeting, this is limited to the three-year time span starting roughly now.] IMPORT 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 efficiency, static checking, and verification 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 currently working in and on the LISP environment 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 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. If Mesa is chosen: Much of the specification and verification work is directed towards Pascal dialects, and should be easily applicable. IMPORT 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. IMPORT 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, import of people implies import of 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 aid. 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. 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. EXPORT 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. If LISP is chosen: We communicate easily with the AI and theorem-proving communities. If Mesa is chosen: We communicate easily with the programming languages, system implementation, and structured programming communities. EXPORT 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: There will be a definite (but, one hopes, temporary) linguistic gap of the same order of magnitude as the effort 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 the import of people, this largely depends on the communities with which we want to interact most strongly. EXPORT OF CODE TO THE REST OF XEROX Issue: Some systems that we build primarily for our own use may prove to be so good (Bravo) that we want it used widely within the corporation; in other cases (message system) we may need a large community of users to further our own research. If LISP is chosen: 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: Depends on degree of source-language compatibility for packages and subsystems. Probably simpler at the system (image file) level, as with Laurel. TO THE WORLD AT LARGE If LISP is chosen: Probably won't happen. If Mesa is chosen: Definitely won't happen. EFFECT ON IMAGE IN THE REST OF XEROX Mesa will probably cause us to be perceived as slightly less irrelevant to the problems of the development divisions. IN THE OUTSIDE WORLD Either choice will increase the "black hole" perception in some communities relevant to us. The situation again seems symmetric.