Software Language Processing Suite
Frequently Asked Questions
What's the layout of the suite?
The topics directory holds all the language processing samples
(aka themes, topics, etc.). Typically, subdirectories of each topic
directory group different "implementations" (aka alternative
approaches, possibly with differing complementary capabilities). The
typical contributor will operate in the directory of one topic,
perhaps only in the directory of one implementation. For instance, the
"fl" topic (fl — Factorial Language) comprises different
implementations of the fl language that cover components such as
parser, pretty printer, evaluator, type checker, and optimizer. There
are different implementations for Java, Haskell, Prolog, and various
language processing technologies. A topic may also hold a "shared"
subdirectory that is meant to hold resources that are reused across
the different implementations. Next to the topics container,
there are also the following directories: www — SLPS web
content; shared — SLPS libraries and infrastructure not
currently assigned to a topic; tools — executable files (such
as scripts) to cover recurring actions in working with SLPS
topics.
How to use (install, build, run) the suite?
There is no useful way of building or running the suite as a
whole. The different implementations are provided by different people
and rely quite intrinsically on specific libraries and tools that may
require specific effort to get an implementation to work. As a general
rule, each implementation subdirectory of a topic directory should be
documented up to the point that one can build and run it more or less
independently. The use of README files and Makefiles is recommended to
this end. The colllective build and testing of an entire topic (with
several implementations) is often not practical because it would just
require too many third-party libraries and tools to be set up in a
challenging manner.
How to become a contributor?
Contributors are more than welcome. If you want to become a proper
contributor (with svn access), please submit a short request to the
slps-contributors mailing list or use SourceForge
functionality. Clearly, you need a SourceForge account to be a
contributor. This project uses the BSD license. If you merely want to
discuss issues with existing examples or just offer a quick fix or the
sketch of a new example, then please consider using one of the mailing
lists identified above.