gert@nikhefh.hep.nl (Gert Poletiek) (07/22/88)
My mailbox is overflowing with requests for more information on the CRAFT
program development environment. At first I tried to answer these letters
via mail, but more and more are 'returned to sender' with host unknown
errors. Therefore I'm posting the description here.
The CRAFT environment is a UNIX like development environment
for the ST. It consists of a Shell and an Editor plus a number of utility
programs. The Shell is almost completely compatible with the BSD Unix
C-shell. The Editor is not compatible with any existing editor on Unix, but
ideas for its design were taken from a number of others editors (among these
unix' vi, Apollo domain editor, Norsk Data Sintran Screen editor and many
others). The Editor is, as recent benchmarks in Dutch ST magazines
demonstrate, the fastest available for the ST. It easily beats the
(claimed fastest) editor Tempus. In most operations the speed difference
is more than an order of magnitude, sometimes even more.
The Shell has most of its commands built-in for speed (especially for floppy
based systems). The following list of built-ins is taken from the first level
online help of the Shell:
CRAFT/GPshell for Atari ST Series - Version 2.0.4
(c) 1987, 1988 Gert Poletiek, ComMedia Amsterdam
70 built-in commands, 19 keywords
@ df history pathname setres
alias echo keyclick palette shift
alloc errorfile keydelay popd sleep
basename exit keyrepeat printenv source
bell extension logout pushd tee
cache filename lpr pwd time
cat find lprm ramdisk touch
cd font lpq read umount
chmod free ls rehash unalias
clear funcs man rm unset
cp getres mkdir rmdir unsetenv
cursor hashstat moreheap rmfunc verify
date hashtable mount set which
dirs help mv setenv who
break default endif if time
breaksw do endsw repeat until
case else foreach switch while
continue end function then
The Shell is *NOT* a multitasking environment as this causes too many
problems for existing software. The following are the most important Shell
features:
- history list - shell scripts
- command line editing - I/O redirection
- user programmable - pipes
function keys - built-in ramdisk,
- filename completion printer spooler
- wildcarding using and disk cache
regular expressions - command substitution
- fontloader with - 89 built-in
7 alternate fonts functions and keywords
- Gemdos and UNIX - aliasing
style pathnames - control flow
- search paths for (such as: if-then-else)
executable programs - user definable
- full color control shell functions
- system() call interface - can run on serial port for debugging
puposes
The cache and ramdisk can be enabled and disabled at any time freeing the
memory they occupy making it available for other puposes.
The Editor is fully screen oriented. Most people like the fact that the text
being entered can be started anywhere on the screen, i.e. the cursor may be
positioned anywhere not just inside existing text boundaries but anywhere on
the screen (which for the editor is considered 256 columns by 25-32-48 rows
large). The actual number of text rows depend on the screen font selected.
The editor is not a GEM application although the mouse may be used to select
most operations. Below you'll find a list of the most important Editor
features:
. cut copy and past operations on line selections as well as on
rectangular blocks of text (column copy mode).
. automatic line indent (user [de]activated)
. automatic wrap around, supporting fortran continuation card standard
(if enabled)
. extrememly fast search and replace functions
. folds: programming language comment lines that allow you to hide
parts of the program text behind a single screen line
while editing. Folds may be nested to 32000 levels which is far
beyond the useful amount.
. editing binary files . fast search and replace
. full control over tabs . cut, copy, paste and delete
. word jumps and deletes (also in column mode)
. word wrapping and auto indent . automatic backup file generation
. 8 edit buffers . 10 learn buffers
. online help facility . redefinable keyboard
. undo on delete operations . keyboard macros
. available as desk accessory . shell escape
and application. . folds
. find current word . insert and overstrike mode
. stream editing commands for automatic text manipulation
. files size limited to 100000 lines on per edit buffer base
(or available memory, which is likely to occur before the line limit is
reached).
There are several mechanisms to create your own composite commands: there are
10 learn buffers that can remember up to 100 keystrokes each. Stream editing
can be done by preparing a file with edit commands. Keyboard redefinitions can
put sequences of up to 510 key strokes behind a single key (or a sequence of
keys). All redefinitions will be remembered across edit sessions.
The external utilties supplied with CRAFT are:
backup envtest getpr mvt setpr
cmp expand head normdisk setser
desk fastdisk make od size
du fgrep more perror tail
dump format mve pr wc
of which the backup utility is an example shell script demonstrating the
programming features of the shell as well as being a useful (but not too fast)
hard disk backup utility.
The CRAFT environment is extensively documented in a 640 page manual which
includes tutorials as well as reference parts.
CRAFT has been tested with: Mark Williams C, Megamax C, Laser C, Aztec C,
Lattice C, Alcyon C, OSS/CCD Pascal, Hisoft Modula-2, TDI Modula-2, Absoft
Fortran, Prospero Fortran.
CRAFT 2.0 is just released and may be obtained from
Creative Computing Media (ComMedia)
98 Leidsekade
1017 PP Amsterdam
Telephone: (+ 31 20) 23 17 40
Fax: (+ 31 20) 38 00 65
The price is 395 Dutch Guilders (roughly 200 US $, 115 British Pounds).
regards,
Gert Poletiek
NIKHEF-H, Dutch National Institute for Nuclear and High Energy Physics
Kruislaan 409, P.O.Box 41882, 1009 DB Amsterdam, The Netherlands
UUCP: {decvax,cernvax,unido,seismo}!mcvax!nikhefh!gert
bitnet: nikhefh!gert@mcvax.bitnet, U00025@hasara5.bitnet