-- LooksRecords.mesa
-- written by Bill Paxton, February 1981
-- last edit by Bill Paxton, March 18, 1981  2:56 PM

DIRECTORY
TextLooks;

LooksRecords: DEFINITIONS =
BEGIN OPEN TextLooks;

Tsubstr:  TYPE = RECORD [
	base: Runs, start,len: Card];

Tconcat:  TYPE = RECORD [
	base,rest: Runs, size,pos: Card];

Treplace: TYPE = RECORD [
	base,replace: Runs, start,oldPos,newPos,size: Card];

Tchange: TYPE = RECORD [
	base: Runs, remove, add: Looks, start,len,size: Card];

Tbase: TYPE = RECORD [SEQUENCE length:NAT OF Run]; 

Run: TYPE = RECORD [after: Card ← 0, looks: Looks ← noLooks];

FlatMax: Card = 10; -- flatten if length of run <= FlatMax

END.