Alpha
Volume Number: 10
Issue Number: 7
Column Tag: Tools of the Trade
Alpha - An Adaptable Programmer’s Editor 
Don’t let that shareware label fool you - this editor’s feature-rich and
powerful
By David Rogers, Aldus Corporation
About the author
A programmer for fifteen years, David is a software engineer at Aldus, and lives
with his wife, two small children, and a cocker spaniel in Issaquah, Washington.
[About the article:When we made mention in comp.sys.mac.programmer of the
review of programmer editors in our June issue, David was quick to let us know that
we had missed one. Sure enough, Alpha is a contender, and David was good enough to
write up an introduction to Alpha for us - Ed stb]
Alpha is a shareware programmer’s editor for the Macintosh with a wide range of
capabilities. Alpha is a product of Pete Keleher, a graduate student at Rice University.
Like most programmer’s editors, Alpha is designed to work with ASCII text,
normally source code. Alpha also edits TEX files, but that capability is not reviewed
here. When needed, Alpha can store text with DOS or UNIX line-ends. Alpha can also
save MPW state information when you close the file. When you reopen the file, the
window will be restored to its former position and the cursor positioned at its
previous point in the file. This is a real advantage if you open and close files
frequently.
A quick look at the look of Alpha
Alpha has a layered architecture. At the core of Alpha is an editing engine which
provides the editing primitives. Layered on top of this is the command language, TCL.
That’s an acronym for Tool Command Language and is pronounced “tickle”. TCL is a
full-fledged C-like language. Most of the Alpha user interface is written in TCL. This
exposes the internals of Alpha to the user. This access to the internals gives Alpha a
great deal of flexibility.
In particular, all the keyboard mappings and menu definitions are user definable.
Alpha even allows you to use multiple keystrokes as a single command in the manner of
Emacs or Wordstar (Word who?). You can, of course, write your own procedures in
TCL and attach menu items or keystrokes to your commands.