Tools

Several multi-platform tools are available for PLaSM, including an easy-to-use Integrated Development Environment (Xplode), a functionally equivalent IDE plugin for an industrial-strength open development platform (Eclipse), a large set of libraries for dimension-independent geometric modeling, documented in the book by Wiley, a visual programming framework based on only two graphical tokens, and producing high-levell executable code (Visual PLaSM). Support is also given for Knuth's Literate Programming with LaTeX (listings package).

Xplode IDE

Example

User interface

The Xplode window is divided into three panes: the upper part is the editor; the lower-left is the listener, for messages from the Plasm interpreter; the lower-right is a list of references to generated VRML models.

Xplode is a multiplatform IDE designed for the Plasm language. IDE stands for Integrated Development Environment, a program that embeds an editor and a connection with the compiler. So, you can edit your own programs with the editor window, and then compile your programs, or better, make the MzPlasm Interpreter evaluate your geometric definitions or expressions.

The source code is the same for all platforms (actually, there's just a little OS-dependant code). The binary distribution for MacOSX and Windows include the Qt library, since they're not included in any operating system version. The Linux binary distribution does not include the Qt library as any distribution ships the library. Check your distribution web site for the proper package. For a complete overview about software licenses, see the license page. For more information about the Qt Library, refer to the relative page.

PLaSM Eclipse Plug-In

Example

PLaSM Libraries

The set of predefined libraries of PLaSM operators is listed here, grouped by library and then alphabetically ordered. The rationale and the implementation are discussed in the book by Wiley.

Functions are documented according to the format below. For sake of readability the preconditions are given using the same semantics of a PLaSM definition. The pre- and postconditions are predicates that must be satisfied by the function input and output, respectively.

NAME short description of how the function works
Pre/Post conds function prototype → type of returned value
Example function usage example

Visual PLaSM

User interface

LaTeX support

Listings package

Literate programming

Literate programming is the writing of computer programs primarily for human beings to read, similar to a work of literature; hence the name "literate programming." This contrasts with the traditional view that a programmer's primary creation is source code to be read by a computer.

Documentation and source code are written into one source file. Both the complete source code and its documentation can be extracted from this file with specific utilities. The information is written and presented in a reading order suitable for human consumption with detailed explanations. The code is automatically rearranged for ordinary processing by other computer tools, such as compilers or interpreters. (From Wikipedia)

PLaSM is Free Software and may be distributed under GNU LGPL