-- file LongStrings.Mesa
-- last edited by Satterthwaite on September 27, 1982 11:25 am

DIRECTORY
  LongString: TYPE USING [
    AppendChar, AppendString, AppendSubString, EqualSubStrings,
    EquivalentSubStrings, StringBoundsFault, SubString, SubStringDescriptor];

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

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

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

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

  }.