Premier is a difficult piece of software to describe. It does many things that are largely concerned with manipulating text. The package includes a word processor, and the manual was apparently written using this, but the software has much more to offer thanks to what the author of the package calls dynamic text and the use of command files.
Most of the tasks that Premier does (and does well) are achieved by the use of an integral command language, and this is at the heart of the whole system. The supplied word processor is an application written using this language, while the user can similarly write his own applications. Using the command language, what is produced - on screen and as hardcopy - can be controlled either in immediate mode, or via files of those same commands compiled and executed at various points during operation of the software.
The single disc is accompanied by a 160 page manual. There is also a keystrip for the word processor application, and two blank keystrips for your own applications. When booted or selected from the Desktop (Premier runs under RISC OS, though will not yet multi-task), a default set of values is loaded if you provide no other parameters. These defaults set the screen to mode 12, and redefine all the keys to sensible standard functions.
The standard screen display uses a muted set of colours, and you quickly become accustomed to the various conventions used by Premier. One aspect that needs getting used to is that commands entered through the keyboard are not executed immediately. Instead the backspace key is used to execute a sequence of commands previously entered.
The tutorial section of the manual takes you through those concepts which are fundamental to Premier, whatever it is doing. In Premier's environment, there can be any number of buffers, which are separate places in memory in which text is kept. Markers (unlimited in number but with at least one) identify exact positions in the text and thus within the buffer. Obviously the initial cursor position is one such. Until you name and define a Window, no text is visible. Here, for example, a buffer is named and selected and a piece of text is assigned to that buffer. The text is then displayed in a two line window at the bottom right of the screen:
buffer "request"
select "request"
display dynamic
insert "Please return your library books by "
insert date
window "footright" = 20,21,20,70
assign "request" "footright"
colour "footright" = blue, ink, white
open "footright"
As long as "request" is selected, any text will be entered in the window to which it has been assigned, and be edited with the cursor keys. The date, read from the Archimedes internal clock, will appear thanks to the command display dynamic.
One of the strengths of the package is that whole applications can be written to suit very different requirements. The snippet above might come from an entire Lending Library filing system.
Data files of book titles and borrowers could all be read and manipulated by Premier's hundred or so commands. Letters of varying severity could be sent according to the lateness or persistence of the borrower. Because a variety of arithmetic (as well as logical, boolean and string) operators are available, fines could be calculated, VAT added, and a totally personalised reminder sent. And this is just a start.
These are likely to be written using the word processor application supplied with Premier, and are essentially made up from a superset of the commands already mentioned. Macros (like procedures in Pascal or other structured languages) can be created, as well as multi-line functions. Although plans to develop Premier further include improved arithmetic functions and arrays, there is already a pleasingly rich set of commands - with iteration and conditionals - sufficient to devise quite sophisticated command files.
How would you do this in practice? Assume your library suite has two windows on screen. In the upper you might want the text of the letter which will be sent. In the lower the name and address of the borrower together with a borrowing-record. The command file to do this largely obvious. First define your buffers, and then initialise a variable to represent how late the borrower is:
int "overdue" = 0
Then calculate the difference between now and then by reference to the date, assigning the result to the variable overdue, and read in the appropriate letter-file:
if ( overdue >1 and overdue <= 2 ) lenient
if ( overdue >2 and overdue <= 4 ) sharper
if ( overdue >4 ) severest
where lenient, sharper and severest have been defined as macros that will select and load the relevant files from disc into the correct buffer and window.
It should be clear by now that very sophisticated applications can be developed. It has to be said, though, that extensive programming of applications will not necessarily be within the capabilities of all Premier users. It is to be hoped that third parties will eventually write applications, and indeed Circle Software themselves are pursuing this point.
Don't be put off, though. Studying the command file of the word processor application is probably as good a way as any to become familiar with this language, which is not difficult to use. However, the manual is rather poorly indexed, and, as it stands, does not really contain enough detail on this subject. Since it will be the effectiveness of the command files - the programming - which will determine the usefulness of the application, you must bear this in mind when deciding whether to buy Premier.
Having said that, further applications (including a spreadsheet and database) are imminent. It is likely that improvements to the manual will be made to reflect the need for greater clarity, and more detail on the writing of command files. And note that the purchase price includes all such updates and improvements this year.
There is very little not under the user's control. Tabs can be set and colours changed within the palette of each screen-mode. There are constants and some measure of on-screen help for keyword syntax. Pages can be fully formatted and Epson compatible printers addressed directly by control codes; text dialogue can be interactive with an equivalent to Basic's INPUT. There is an impressive array of search functions - with flexible wild-carding, and null as well as literal matching - both forwards and backwards.
Clearly, much thought has gone into this highly professional package. The fact that it is both dynamic, open-ended and intended for user-adaptation as well as being under continual development makes it particularly welcome. If you are used to using integrated data suites as in View Professional/Pipedream, or to customising applications to suit your business or hobby, then Premier should definitely be considered. As upgrades appear, it can only grow in appeal.
Product | Premier Text Processor |
Supplier | Circle Software |
33 Restrop View, | |
Purton, Swindon SN5 9DG. | |
Price | £110.40 inc. VAT and p&p |
Price includes all updates throughout 1989.
Demo disc £5 refundable against full purchase.