MORPHISM(ID:5733/mor005)

Symbolic List Processing Language 


Symbolic List Processing Language

Truly remarkable SPL, uses comb-schemes to recall overall syntagmatic patterns and compare them.



References:
  • Vandenburgh, Harold R. "MORPHISM: A Symbolic List Processing Language" view details Abstract: With the formal study of natural languages, we have obtained some residual results which greatly increase our power of logical manipulation. Coupled with a computer, our language extends enormously the external logic of our computing device. This paper is concerned with a well-defined symbolic list processing language and a set of operators for this language. These operators, which we call morphisms, are themselves operators thereby giving us an indefinite nesting ability. We have defined a schematic representation of our operators (called a comb-scheme) and have then proceeded to describe a numbering technique which allows us to use these operators with a computer. Since our operators and lists are defined at the time of execution, our ability to change them is unlimited. The pattern of this paper is to build up from an alphabet to words, then non-connected words, then lists and the operations on lists and finally operations on the operations. We have taken, what we hope to be, descriptive examples in linguistics and non-linguistical applications in the hope of being representative of our language and easily understandable.
    pdf Extract: Introduction
    Introduction
    We at the Facultie des Sciences of the Umverslte de Rennes are interested in the mathematical study of languages. Since we have a computer(1620), it is only natural that we attempt to combine the two. With languages being our major interest, we find that an extensive study of lists and symbolic list processing techniques will yield a most powerful and broad spectrum of results when applied to a computer. It appears that problems involving natural languages and certain types of mathematical problems are computer solvable when list processing techniques are applied to them. There are also linguistical problems which yield beneficial results when they are approached in this manner. We are therefore going to define: lists, operations on lists (which we call morphisms), and a comb-scheme which allows us to manipulate the lists and morphisms; this scheme gives us the ability to manipulate almost any pattern that can be handled in a logical manner (in linguistic usage, the term logical will refer to letters, words, sentences, phonemes; in a predetermined or random occurrence).

    We have defined our operators in such a manner that we allow for an indefinite nesting; adding to a computing machine an external logical system. Also, our operators, in the computer, are defined at processing  time so our ability to change them at execution time is unlimited. This paper can be considered to be divided into four sections. Part one defines our terms and gives definitions for such things as an alphabet, lists, words, non-connected words, etc. Part two defines a morphism and our operators on lists. Part three shows our comb-scheme. Part four consists of examples: in linguistics; an example in the logical generation of a flow diagram into a computer program; and finally, an example of the solution of a mathematical problem (the arithmetic operations on polynominials of n variables).
    Extract: Practical application of symbolic list processing
    3. Practical application of symbolic list processing'
    3.1 Introduction
    The actual programming of a symbolic list processing system presents many interesting and varied problems and possibilities. The power of this type of list manipulation opens the way to many hitherto unsolvable (computer-wise)problems.

    Now that we have defined our language, it naturally behooves us to ask how, and to what, we can apply it. We are going to illustrate three different types of problems to show that we have a general purpose language. The first will be a simple example of list processing manipulating variables in algebra. The second will be an application of morphisms to generate FORTRAN (or any symbolic programming system) in the same general manner of SHADOW but with the added difference that our input is a list instead of a single variable. The third example will be an application to the natural languages.

    3.2 Operating on polynominials using symbolic list processing
    We have written a program for the 1620 computer in FORTRAN which allows us to operate on sets of polymminials of N variables varied to a power p. The only limitation being that of memory size i. e. N p size of memory. If we consider an external memory source such as tapes or discs this does not become much of a limitation. The operations we are treating at present are addition, subtraction, multiplication and raising to a power. We are considering the differenciation but that we will leave to a later date.
    [...]
    We are able to compute Pl ~:= PZ' P1 + P2 ' and any combination of these pclynominials. It turns out that this can be handled ve~.y easily as a function of lists. Our limitations, at Rennes, being simply memory size as we need to set up tables for the coefficients anu the 16Z0 is rather limited in memory capacity and lists are very heavy users of tables. This limitation would be relatively nil, if we had an external memory device such as discs or tapes.
          in [ICCL] 1965 International Conference on Computational Linguistics view details