Fashionable Forth is a very fashionable 'alternative language' on home micros since it offers the promise of the speed and compactness of assembler with many high level friendlier features. In brief you define various tailor made words, built up from smaller primitive words, which then become your program - the language is said to grow to match the end result and as a result can be very easy to read. As each word is defined it is compiled, giving speed but the final program is run in an interpretive way making for easier debugging, etc. The price to be paid is the superficially frightening reverse polish notation, eg, 'print 1+2' is written as '1 2 + .'. This looks to be almost perversely obscure but familiarity with the language shows that it derives much of its power from the arrangement (although there is no harm in redefining the word '.' to read 'print'). 
Kuma's version is to the Fig Forth standard, and also contains a library of routines such as screen editing colour graphics and sound, the latter especially being much simpler to use than the Basic's sound commands. One of the fundamental philosophies of Forth is that a defined word can be included in future programs without rewriting - so supplying a library makes a lot of sense. Another integral feature of the standard is that the language should allow you complete access to, and control of the hardware. Usually this includes the storage device, discs, as a virtual memory system. Tape based Forths often try to avoid this and use Ram as pseudo storage (reverse polish mentality). However, Kuma Forth bravely attempts to exploit the cassette as fax as possible. You can format an entire tape into a series of blank blocks each of which acts as a Forth program 'screen' for keeping your library of routines and data. The disadvantages are that you have to do a lot of rewinding, etc, but if ever a machine could minimise the inconvenience of this it is the all in one 464 (this version will not exploit discs, but a disc based release is also planned). Tape handling is minimised by the addition of some clever additional words, expanded buffer size, intelligent header reading, etc. It is no more limited by this system than any tape based Forth but it does make it potentially more powerful for programs utilising lots of data. The documentation is good and can take you a long way before you need to resort to a separate text, although some of the latter examples could do with more idiot proof explanation. Altogether an implementation that Kuma can be proud of. Tony Kendle, PopularComputingWeekly
|