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.