Graph Information Retrieval Language. Handling directed graphs.

Related languages
GIRL => PIRL   Extension of

  • Berkowitz, S., "Graph information retrieval language - design of syntax", Software Engineering (Proc. COINS-69), J. T. Tou (ed.), Vol. 2, pp. 119-139, 1971 Academic Press, New York view details
  • Berkowitz, Sidney "PIRL—Pattern Information Retrieval Language—design of syntax" view details Abstract: The design of a pattern manipulation language, PIRL, is described here. PIRL can handle arbitrary, oriented patterns (i. e., subgraphs) of lists, nodes, numeric and Hollerith data on many levels of abstraction in a concise, legible manner. Patterns and lists may be inserted, retrieved, deleted, indexed, compared, named, intersected, united, and complemented. Pattern names may be referenced to a lower level of abstraction and pattern forms may be quantified. PIRL should be of considerable value in the solution of certain problems in information retrieval, linguistic analysis, scheduling simulation, and pattern recognition.
    Extract: Introduction

    PIRL (Pattern Information Retrieval Language) is a programming language designed to conveniently manipulate  information in graph structures. As such, the language will play a key role in the  construction of the organizational schemes found, for example, in information retrieval,  linguistic analysis, and process  scheduling systems. The language is written to complement an algebraic language such as FORTRAN or ALGOL, in the sense that PIRL statements are distinguished from the statements of the algebraic language and may be interleaved with those statements.

    The primary advantage of separating symbolic and numeric statements is that the programmer is afforded a linear, one-one trace of graph operations in the code description. From an opposing point of view, Feldman and Rovner's LEAP  and Ross's AED-0, for example, are extensions of ALGOL in the sense that graph or list operations are interspersed with numeric operations. The result is that code sequencing of graph operations is bound by the infix, phrase-substitution nature of the algebraic language, and does not lend itself to an easy scan of the graph. On the other hand, the ALGOL extensions offer a uniformity of notation necessarily missing from PIRL.

    The function of PIRL is to identify, insert, retrieve, delete, and compare  subgraphs, or pattern images, which range from single nodes and lists to arbitrary, directed graph structures. As such, PIRL is an expansion of a less sophisticated  language called GIRL (Graph Information  Retrieval Language), reported elsewhere, which confines its graph manipulation  activities to single nodes and lists.  The GIRL language was designed to be primitive enough to allow the bootstrapping of the PIRL compiler (or preprocessor, as  happens to be the case) from the GIRL  preprocessor, in terms of GIRL statements. Feldman and Rovner's paper contains a discussion and comprehensive bibliography of the languages and programming systems which lie in the background of current thinking on associative languages.
          in [ACM] Proceedings of the 1971 ACM Annual Conference view details
  • Sammet, Jean E. "Roster of Programming Languages for 1973" p147 view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Berkowitz, S. "Graph Information Retrieval Language" Report 76-0085, Naval Ship Res Dev Center, (Feb 1976). view details
          in ACM Computing Reviews 15(04) April 1974 view details
  • Sammet, Jean E "Roster of programming languages for 1976-77" pp56-85 view details
          in SIGPLAN Notices 13(11) Nov 1978 view details