[comp.lang.scheme] Re^2: To Lisp, or not to Lisp; that is the question.

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