kend@data.UUCP (Ken Dickey) (03/13/91)
jeff@aiai.ed.ac.uk (Jeff Dalton) writes: >This is not to say we shouldn't distinguish the language from the >environment. If anything, we need to pay more attention to it. ... >... Different implementations of the language >can provide very different environments. So if something is classed >as environment, it might not be present in all implementations and, >consequently, it can't be used in portable code. If we start to >require various environmental features, the whole language / env >distinction makes much less sense except as an aid to conceptual >simplification. If you take a look at Common Lisp, you will find a number of standard interfaces to "environment"al facilities (compile, trace, describe, inspect, ...). I would very much like to have standard interfaces to such facilities portably available for Scheme. Let's talk a bit about what is desirable in context. There are a large number of experimental Scheme implementations: interpreted and compiled, sequential and parallel, single and multiple environments, etc. We would like to provide services which do not kill Scheme off as an experimental test-bed. On the contrary, experimentation is encouraged. What is the "entry fee"? How much should be required before something can be called "Scheme"? It would be nice to keep the entry fee low. There are sharp differences in "the Scheme community" about what is required and how to go about things. Some people see standards as straight-jackets. There are people who are doing research and don't care about portability. There are people who are doing research on new ways to interact with environments [e.g. what does "(transcript-on)" mean in a window'ed parallel environment?]. There are many points of view to satisfy. Traditionally, decisions on standardization (i.e. R^nRS) have been by *total* consensus--the IEEE standard is the 1st counter example. We need a way of achieving a consensus or working plurality without creating deep divisions in the Scheme community. My own view is that those of us interested in portability should get together and propose a "portable services interface". Any code which made use of only standard scheme plus this interface could claim conformance to the "portable development standard". ***This would be totally orthogonal to any language standard***. If such a thing takes off (i.e. if it is seen as "the right thing"), people could "join in" as opposed to being "forced in". Note that such an endeavor is no small undertaking. I would estimate at least 2 years to address the majority of the issues, have a discussion, and converge on a standard. Such undertakings can also make deep enemies (so politeness counts!). There should be a "champion" who can follow up on people to get implementor and user comments and push commitments. I would guess that this is probably a 1/4 to 1/2 time job. Such a person should have (or achieve) a high reguard in the Scheme community to be effective. [As with many people, my time is limited. I will be happy to contribute some work and advice, but could not push the effort.] Is there someone out there with the time and commitment for the task? -Ken Dickey kend@data.uucp