With the standardization of chapters 1 and 2 done and people slaving away
at building applications, I feel it is time to make CLOS more accessible to
people with various degrees of interest. I am therefore soliciting your
help in working towards a publication to accomplish this.
I have in mind a collection of papers by members of the CLOS community,
which would be published in a place where it is easiliy available to a
broad audience. This serves the purpose both of popularizing CLOS and of
ensuring recognition for the contributors.
The appendix of this message contains a draft of the collection's
categorization. I am now looking for participation and/or suggestions to
get this project off the ground. Examples:
* Does the categorization make sense?
* Do you recommend an existing paper to be
reprinted in the collection?
* Would you like to contribute a new paper?
* Do you know of someone else who might be able to
contribute?
* Can you volunteer to help with the editing process?
If you can produce a paper, I would very much like to hear from you
informally soon. It is enough to explain which category you want to address
and very roughly what you have in mind. This will make planning a lot
easier because it will help me decide which contributions I must actively
reach out for to get coverage. Please help me gather some of this data by
the end of April.
As a separate project, I am organizing this year's CLOS Users and
Implementors Workshop to be held in the context of OOPSLA '90. I will send
out the call for participation as soon as the OOPSLA administration gives a
green light. This should be by May 28. Even though the Workshop is separate
from the publication described here, there will be linkage in that work
done for the Workshop can find its way into the publication.
Hoping to hear from you soon,
Andreas
Hewlett-Packard Laboratory
Palo Alto, Ca 94304
paepcke@hplabs.hp.com
415-857-7398
;;;;;;;;;;;;;;;;;;;; Categorization Draft ;;;;;;;;;;;;;;;;;;;;;;;;;
%-----------------------------------------------------
% Summary Categorization of Papers
%---------------------------------
Prologue: What is it like to build a language?
Short introduction to CLOS
Applications
Contrasting CLOS with other languages
CLOS Analysis and Discussion
CLOS implementations
Open research issues
Glossary
Annotated Bibliography
Index over all papers
Author Index
Prologue: What is it like to build a language?
----------------------------------------------
Audience: General, not necessarily CLOS or even language-oriented.
Example contents:
- How were existing languages used as blueprints?
- How was the design effort organized?
- Comments on PCL's implementation and distribution.
- Honestly: Was CLOS designed top-down, bottom-up, upside-down,
inside-out or without any of the fashionable CASE disciplines?
- How did the standardization process work? Any advice for others who
want to standardize something?
Short introduction to CLOS:
---------------------------
Very top level, a few pages that make a casual reader aware of what CLOS is
about. If someone has heard the term "CLOS" a lot and wants to know what it
is, this should be the place to go to.
Example contents:
- The five CLOS building blocks.
- A few programming examples.
- Maybe the architecture (MOP concept).
- References to more in-depth sources.
Applications:
-------------
Contributions in this category should go into some depth. While some parts
could be accessible to a casually browsing audience, other parts of the
contributions should satisfy a more serious reader who is considering the
use of CLOS for her own purposes.
Example contents:
- What does the application do?
- Why was CLOS chosen as the implementation language in the first place?
- Where did CLOS shine for the application, where did it weaken or fail?
There might be a discussion of how other languages would have worked
out for this particular application.
- How did the language affect the application design?
- How is the application delivered? (ex: Is there a small CLOS delivery
kernel?)
Contrasting CLOS with other languages:
--------------------------------------
Contributions may be arbitrarily complex and specialized, although it would
be good to have one or two papers accessible to an interested computer
scientist who knows some other object-oriented language and wants an easy
way of finding the correct mental pigeon hole for CLOS.
It would be nice if contributions were dialectic. Maybe two or more authors
with violently different opinions could get together and produce one
sharp-edged discussion.
Example contents:
- Strong and weak points of CLOS vs. other languages.
- Classification of languages along a particular theme (ex: realization
of functional programming, extensibility, oop philosophy,
speed/functionality tradeoffs, etc.)
- Classification of applications by which languages would be optimal for
their realizations.
CLOS Analysis and Discussion:
-----------------------------
This is for very CLOS-specific contributions. Like papers in the "language
contrasting" category, possibly combative, but *technical* pro/con flames
combined into one paper would be interesting if they help to focus a
reader's attention on some CLOS aspect.
Example contents:
- Was the MOP a good idea?
- Is the MOP-level class hierarchy sensible?
- What were the CLOS architectural tradeoffs? Why were particular
alternatives chosen?
- Which tradeoffs were resolved to CLOS' detriment.
CLOS implementations:
---------------------
This is to be a non-commercial category. Papers may point out
implementation issues, even if the author(s) have not produced any
implementation themselves.
Example contents:
- Which parts of CLOS are easy to implement, which are hard?
- Are there clever optimization opportunities?
- Are there language aspects that should have been defined differently,
given the experience gained from an actual implemention process.
Open research issues:
---------------------
The audience for papers in this category would be a competent computer
scientist looking for something to do.
Example contents:
- Anything
Glossary:
---------
Short definitions of CLOS terms.
Annotated Bibliography:
-----------------------
This is to cover the range from casual interest to very specific CLOS
issues. It would be nice if this could be a union of the bibliographies
of the papers.
Index
-----
Terms, concepts, etc. covering all the papers.
Author Index
------------
Names and addresses