Last updated: 1 November 2011

Introduction to FLAG

The objective is to provide portable Forth source code libraries accessible from one place.

If you just want to download code, browse the libraries and download the code.

If you want to put your library on FLAG, keep reading this page and then goto the Using FLAG page.

FLAG is an acronym for "Forth Library Action Group". There are three elements - the objective, the implementation and the management. The objective is called FLAME, the implementation FLAN and the management FLASK.


The manifesto

It's a statement of the obvious - it should be easier to port significant libraries from one Forth system to another and it should be easier to obtain portable libraries. The ANS and Forth200x processes do a good job for the language itself, and application portability of code for embedded systems has greatly improved.

Reinventing the wheel should be considered a sin.


The storage

Web storage costs almost nothing. What we do is provide a front end to enable you to access Forth source code that has been contributed. Browse and download is all that is required.

The key to a library is to make it easy to access for users to download libraries. Similarly, it should be easy for library maintainers to upload data. Each library is given its own space in a directory. Read access is public, write access is up to a library "champion", a named person who is responsible for that library. Since there are many existing libraries, we have no desire to mandate their development process. There are plenty of free collaborative development models such as Sourceforge, and we don't want to reinvent any wheels. Therefore, what is on FLAN is stable releases.

FLAN makes no statement or assumption about the copyright status of the libraries. Libraries accepted by FLASK for inclusion should be free to use any copyright mechanism they wish, provided that they indemnify FLAG against any legal action - we can't afford it.


The steering committee

We can look at the people involved as being mainly consumers or producers of library code. FLASK contains both groups. In the short term, the group consists of Forth system implementers, library producers, and library users. Some FLASK members are system administrators for FLAG.

FLASK encourages producers of libraries to provide portability harnesses for several Forth implementations and to provide good documentation for them.

Goto the Using FLAG page.