-- file LongStrings.Mesa
-- last edited by Bruce on January 8, 1981  4:20 PM

DIRECTORY
  LongString USING [
    AppendChar, AppendString, AppendSubString, EqualSubString,
    EquivalentSubString, StringBoundsFault, SubString, SubStringDescriptor];

Strings: DEFINITIONS IMPORTS LongString =
  BEGIN
  
  String: TYPE = LONG STRING;

  SubStringDescriptor: TYPE = LongString.SubStringDescriptor;
  SubString: TYPE = LongString.SubString;
  
  AppendChar: PROCEDURE [s: String, c: CHARACTER] = INLINE {
    LongString.AppendChar[s, c]};
  AppendString: PROCEDURE [to, from: String] = INLINE {
    LongString.AppendString[to, from]};
  AppendSubString: PROCEDURE [to: String, from: SubString] = INLINE {
    LongString.AppendSubString[to, from]};

  BoundsFault: PROCEDURE RETURNS [SIGNAL [s: String] RETURNS [ns: String]] = INLINE {
    RETURN[LongString.StringBoundsFault]};

  EqualSubStrings, EqualSubString: PROCEDURE [
    s1, s2: SubString] RETURNS [BOOLEAN] = INLINE {
    RETURN[LongString.EqualSubString[s1, s2]]};
  EquivalentSubStrings, EquivalentSubString: PROCEDURE [
    s1, s2: SubString] RETURNS [BOOLEAN] = INLINE {
    RETURN[LongString.EquivalentSubString[s1, s2]]};

  END.