Current Design
This "site" consists of an index.htm page and
five subdirectories:
- tables: Tables versions of the site's contents.
- simple: Non-tables versions of the site's contents.
- frames: Frames versions of the site's contents.
- admin: Adminstrative information, including this page.
- img: .gif and .xbm files.
The same directory that holds these five directories also holds
several more directories that have content that originated elsewhere.
The material in them does not use the navigation scheme used by the
"site proper," and they are not listed on the site map:
- HyperSpec: Harlequin's ANSI CL HyperSpec. (Not available at
Elwood mirror.)
- mop: The MetaObject Protcol "hyperspec".
- luv: Information from previous Lisp User and Vendor conferences.
- humor: Brad Miller's collection of Lisp humor.
The welcome page at index.htm allows users to select between tables,
non-tables, and frames based presentations. Within each presentation,
the content material and page names are identical. There are no-cross
links between a page with one presentation and a page with a different
presentation.
This current site is completely static -- it does not use any of the
dynamic output-generation facilities of CL-HTTP, and is thus suitable
for use with any webserver. A gnu compressed tar file of the entire
site is available for download from the file alu.tgz in this (the admin) directory.
If you are reading this file from the www.alu.org or www.lisp.org
domain, then the pages are being served by CL-HTTP running on Franz
Allegro Common Lisp on a PC running Linux. The machine is at the MIT
AI laboratory using space and an internet port donated by the
laboratory. It is administered completely remotely over the internet,
using the adminstrative facilities of CL-HTTP, rlogin, and a "telnet"
process within the Lisp running CL-HTTP.
Further Work
The site is divided into the following editorial areas:
Within each area there are a number of improvements we would like to
make. These are listed, below, within the appropriate area.
We need volunteers to do each of these. This is a chance to learn and
work with such leading edge tools as CL-HTTP, as well as with some
outstanding members of the Lisp community. For more information
please contact the ALU board at
alu-board@ai.sri.com.
Webmaster: Your name here!
- Search! Presumably this would use W4. The current dummy search
page is only a suggested starting point for the user interface.
- The dynamic output generation capabilities of CL-HTTP should be
used to provide the three presentation formats (tables, no-tables,
frames) from a single source. See proposal.
- Discussion pages. Each page should have a mechanism for
visitors to leave their comments, and to view the threaded comments
which have been left. The CL-HTTP
discussion mechansim should be used. (Example is
National Performance Review Open Meeting.) A chat facility is also
possible, or archived mail (see below).
In particular, the current pages have a lot of editorial opinion
which should be moved to such comment threads. See Learning Lisp and Systems.
- Window dressing! Submit your
graphics/animation! Given CL-HTTP's access to HTTP information from
the client and the ability to generate mobile code, some sort of
animated "your name in lights" applet based on client information
would be cute.
- The site could be used to host the common-lisp mailing list
and/or comp.lang.lisp and comp.lang.clos newsgroups in a
multiple-view archive hypertext archive style.
- It ought to be easy to write a robot which periodically checks
the links on the static pages and checks to see if they are still
valid (404 - file not found). If not, the link would be changed to go
to the dead links page, which would report the
old link and which ALU page refered to it.
we could also maintain a ``responsible-party'' database for each
linked site, which creates an automatically maintained? listing of
linked sites, and allows people to send mail which registers them as
the responsible party for that site. The dead-link robot would
automatically mail these people and ask for a new link.
The idea is just to make it easy for our webmaster to be good
citizen in term of keeping things up to date.
- Rather than trying to maintain lists of certain resources by
hand, we should use W4 to do it automatically. This is true for the
listings of:
- Commercial sites
- Available software tools
- Research projects
- Research papers
- Consultants
- Jobs?
For each of these, a separate W4 robot would be programmed to locate
candidates for the given category. Some clever programming (dare I
use the word 'AI'?) would:
- Project these into single entries (i.e. reduce multiple pages
found on ``the same thing'' to a smaller number of unique
entires).
- Locate the ``top'' or ``home'' page for each entry.
- Determine if the page is already listed.
- Produce the appropriate description, keywords for our site search
engines, etc.
- In the some cases (such as when gathering information about
available source code or available commercial applications), it would
also be desirable for the robot to attempt to determine dependencies
on other systems. This can be done from textual descriptions, or in
the case of source code, by examining the code itself. The
information would be displayed in summaries of the application, and
available to queries.
This ``clever programming'' is a good opportunity for graduate student
research!
- Bug? In the tables-based hierarchy, returning back to a
previously visited page does not come back to the same place in the
page in at least one browser (Netscape 2.0 Sun). It is not clear if
this is browser or html coding bug. If you have any information about
this (even just to report that your browser does NOT have this
problem), please contact
us.
- Automatically generated pages should have the date of last
update inserted at the bottom, along with a mailto link for the editor
of the corresponding area.
Editor: Your name here!
No planned changes (other than the discussion
threads throughout the site.
Editor: Raja Sooriamurthi
- We need someone to contact the publishers/authors and obtain the
publisher's abstract for each book, which would be listed instead of
the existing editory comments. The comments would then be moved to a
discussion thread.
- The Lisp family section is begging for a graphical tree which
shows the various dialects, and approximate date of introduction.
Clicking on the nodes of the tree should bring up the description of
the dialect.
- A gentle "common examples" page, written by an educator or
author. It has been suggested to me that people who know one or more
programming languages like to see examples of doing common things
before learning about a new language. The "hello world" and factorial
examples that I listed in Learning Lisp are as
much as I dare. Things to keep in mind are:
- We don't want to confuse beginners with multiple ways of doing
things.
- We don't want to put off people who prefer a particular
programming style by only demonstrating things in one style that
might be different than the one a particular reader favors. See the
``Object Oriented and Procedural Lisp'' page.
This has to be done very carefully. My feeling is that if we can't
get something very good, we should not do this at all.
- A "learn-more-about" section. This
would have a number of entries, each of which is a "home"
page for material on that topic. Topics might include such things as:
- packages
- setf-expanders
- pathnames
- multi-threading
- foreign-function interfaces, etc.
Each topic would have an editor, who is responsible
for receiving submissions and formatting the ``home page'' for
that topic. It is likely that all topics would have each certain
features such as:
- a friendly overview
- pointers to the relevent parts of the hyperspec and CLtL2
- a listing of pending proposals for changes to ANSI
- a listing of applicable papers
- a listing of related available Common Lisp source code.
- contact information for the editor.
Editor: Michael Tuchman
- No one should be listed unless some sort of contact
information is provided, including a name of someone from the project
who is willing to talk about the use of Lisp in the project.
- The information should be set up in such a way that it should
be easy for users, using search engines or other means, to locate
users with combinations of properties such as:
- Geographic location
- Industry
- Vendor
- Utilities used
- Additional software
- On-line availability of describing documents
- Availability of resulting software, commercially, free, or otherwise.
- Wherever possible, the home webpage of the corporation should
appear as a link. When this happens, we should also have a button
which would use W4 to search that hierarchy for references to lisp.
This would make it easy for people to locate all the people within an
organization who are making web-public comments about Lisp.
- Twistdowns are probably a good idea here. See
Crafstman
Tools search for a non-CL-HTTP example. This should be
coordinated with activities for the Tools Area.
Editor: Bruce Tobin
- The FAQ should be reviewed, with any missing available tools
added to this page.
- A different organization which broke this into a number of
smaller pages wouldn't be a bad idea.
- Twistdowns are probably a good idea here. See
Crafstman
Tools search for a non-CL-HTTP example. This should be
coordinated with activities for the Applications Area.
- See also, the automated maintainance planned for the site.
Editor: Your name here!
- The listing of research papers needs to be overhauled into a
proper research bibliography. This is a major task. However, it
might be automated with a robot.
- Who's Who in Lisp. This provides a place to list mailing
addresses, websites and other contact information for people in the
Lisp community, as well as brief descriptions of their interests.
Options include:
- List by invitation only. A board of editors (the ALU board?) would
decide who is to be listed. This option is further qualified as to
whether or not people should be listed without their permission. Of
course, contact information should not be listed without permission
under any circumstances.
- List by request only. Anyone can submit their own entry to the
Lisp Community Editor, who (after possible editing), would post it on
the page. Perhaps this could be limited to dues paying members.
- List by request or by editorial selection. In other words, we
start with a list of notables and allow people to add themselves.
Editor: Your name here!
- The CL-HTTP documentation should be available at the ALU site.
This is necessary for anyone maintaining part of the site remotely if
they don't have their own working copy of CL-HTTP. It is also a
service to the community.
- It would be nice if links to the local hyperspec were inserted
as appopriate.
- The MOP has been converted to HTML by hand. It woult be nice
if this were done using more rigourous automatic tools, with indexing,
etc, as was done for the hyperspec. (Any volunteers from Harlequin,
Kent?) Extra credit for inserting links from the MOP to the local
hyperspec pages.
Editor: Don Naumann
- The editor for this section should establish a uniform format,
including contact information, for each system entry, and contact the
vendors to have them supply the appropriate information. The current
material, some of which is editorial from the FAQ or CMU, should be
moved, if appropriate, to a discussion thread.
Note that we want to have entries for all implementations, even if
a vendor has a website, because we want searches limited to the ALU
site to cover the system descriptions.
- A language comparison section should include material covering
the differences between Lisps. In particular, I would like to see a
guide to two-way porting between Common Lisp and each of ISLisp and
Scheme (perhaps others). The guides should include text and
compatibility code, and would be used:
- In helping people understand which language to use for a given
situation. (For example, it seems to me that ISLisp is suitable for
people learning Lisp, before they move up to Common Lisp, but this is
before actually writing such a comparison, so...)
- To actually make use of source code writen in a different
language, with the least amount of fuss.
It is not clear which area of responsibility this falls under.
- It would be nice to include material related to other Lisp
dialects, including Scheme, ISLisp (including ILOG), XLISP, AutoLisp,
and Interleaf. However:
- It can make it difficult for readers to locate what they are
looking for. There are a number of techniques we might use:
- Search engines, with keyword systems, neither of which are yet
implemented.
- A color-coding scheme which distinguishes material as being of
general Lisp interest, Common Lisp, Scheme, ISLisp, etc. If enough
material on a subject is distinguishable by dialect (such as in
Tools, Implementations,
or Research, then separate (color coded)
pages would be used. Otherwise, the color coding would be used for
the text. How this can be integrated with other color coding
schemes for this site is not clear.
- I am hesitant about including material related to other
languages in some areas, but not in others. For example, if we
include Scheme material in general, but not for Tools or Research, then
readers might get a false impression of the quantity of material
available.
I personally believe that ISLisp could be allowed to sneak in without
fundametally changing the concept and without introducing the above
problems. Of course, other people might want to let in
``just'' XLisp, or ``just'' ...