croft@su-safe.ARPA (02/27/86)
From: Bill Croft <croft@su-safe.ARPA> PIXELS AND PREDICATES Sam: A Text Editor Based on Structural Regular Expressions Rob Pike, Bell Labs 1:00 pm, Monday, March 3, CSLI trailers (This meeting is Monday not Wednesday, the usual meeting date) This talk will assume some familiarity with the `cut and paste' model of editing supported by the mouse interface, and will focus on the command language. `Sam' has two interfaces: a mouse-based language very similar to `jim'(9.1), and a command language reminiscent of `ed'(1). `Sam' is based on `structural regular expressions': the application of regular expressions to describe the form of a file. Conventional Unix tools think of their input as arrays of lines. The new notation makes it easy to make changes to files regardless of their structure, to define structure within the elements (e.g., the pieces of a line), and to change the apparent shape of a file according to the change being made. The use of structural regular expressions makes it possible for the mouse and command languages to operate on the same objects, so that editing commands from the mouse and keyboard may be mixed comfortably and effectively. Of course, either mouse or keyboard may be used exclusively of the other, so `sam' can be used as if it were `jim', `ed' or even `sed'---a `stream' version of `sam' is forthcoming.