The Purpose
The purpose of this note is to discuss two systems for marking up text. They share some common characteristics and are close to one another in concept, if not in implementation.
The Problem
There are lots of situations where we want to mark up text for simple display. While HTML does this quite handily, it is a nuisance to write native HTML (marks have to be balanced---i.e. properly opened and closed) and it is quite easy to make mistakes. Further, once something is committed to HTML it has to be reworked for presentation in other media.
At the same time, lots of the text that we want to present is really quite simple in nature, and hardly demands the sophisticated capabilities that are present in full HTML. This suggests that for some purposes, when the text we want to present is
Almost Free Text
Todd Coram, apparently with the aid and counsel of Ward Cunningham, has a simple system called Almost Free Text. This system is free and can be downloaded from there. The system implements some simple markup.
REBOL's make-doc
In the language REBOL Carl Sassenrath has implemented a similar concept. I don't know of any specific documentation for this system but the REBOL code contains a number of fairly readable comments. It is also is very simple and straightforward so there's not a great deal that has to be documented. Part of the tour-de-force of REBOL is that in less than 300 lines we have not only adequate documentation, but the entirety of the REBOL program to implement the process described.
Categories of facilities
The basic facilities presented by these languages fall into several convenient categories:
Hierarchy is