161 research outputs found

    Four relational programs

    Get PDF
    Relational programming is a style of programming in which entire relations are manipulated as data and in which programs are also considered relations. Extensive use is made of higher-order, finite and infinite relations and functions. This report demonstrates the relational programming language RPL by using it to develop four programs: (1) computing work frequencies from text; (2) minimizing deterministic finite state automata; (3) Gaussian elimination; and (4) a simple data processing example involving updating an employee file. Appendix A shows transcripts of executions of the programs on the Brown and Mitton interpreter. The reader is presumed to be familiar with RPL. for convenience, however, Appendix B contains the RPL grammar, and Appendix C describes the language accepted by the Brown and Mitton interpreterRelational programming, functional programming, relations, relational algebra, relational calculus, applicative programming, logic programming, combinator, very-high level language, Gaussian elimination, finite state automata, higher order functionsSupported by Contract from the Office of Naval Research.http://archive.org/details/fourrelationalpr00maclN0001485WR24057N

    Experience with [omega]: Implementation of a prototype programming environment, Part V

    Get PDF
    This is the fifth report of a series exploring the use of the ÂŁ7 programming notation to prototype a programming environment. This environment includes an interpreter, unparser, syntax directed editor, command interpreter, debugger and code generator, and supports programming in a small applicative language. The present report presents a code generator operating on abstract syntax trees. The code generation process is implemented as an evaluator over a nonstandard domain. An implementation of the code generator is listed in the appendices.supported by Contract from the Office of Naval Researchhttp://archive.org/details/experiencewithom05maclN0001485WR24092NAApproved for public release; distribution is unlimited

    Path Creation by Continuous Flocking as an Example of a Morphogenetic Programming Language

    Get PDF
    Artificial morphogenesis uses processes inspired by embryology to control massive swarms of robots to assemble complex physical structures. First, we use an example morphogenetic program to illustrate a prototype implementation of morphgen, a morphogenetic programming language. The syntax and semantics are described informally as illustrated by the example program, which is included in its entirety in an appendix. Another appendix includes a complete formal grammar for the current version of the language. Next, we describe the results of a series of experiments with the program, which simulates a continuous swarm of microscopic agents creating paths from an origin to a destination while avoiding obstacles. We present the effects of various parameters and of alternative ways of accomplishing particular purposes

    NatĂĽrliches und kĂĽnstliches Bewusstsein

    Get PDF
    Based on results from evolutionary psychology, we discuss important functions that can be served by consciousness in autonomous robots. These include deliberately controlled action, conscious awareness, self-awareness, metacognition, and ego consciousness. We distinguish intrinsic intentionality from consciousness, but argue it is also important to understanding robot cognition. Finally, we explore the Hard Problem for robots (i.e., whether they can experience subjective awareness) from the perspective of the theory of protophenomena.En s’appuyant sur les résultats de la psychologie évolutionniste, nous examinons les différentes fonctions importantes que puisse remplir la conscience dans les robots autonomes : action contrôlée, prise de conscience, conscience de soi, métacognition, conscience du moi. Nous distinguons l’intentionnalité intrinsèque de la conscience, mais soutenons également l’importance de la compréhension de la cognition robotique. Enfin, nous étudions le « Hard Problem » concernant les robots, c’est-à-dire la question de savoir s’ils peuvent connaître une prise de conscience subjective, dans une perspective de la théorie du protophénomène.Ausgehend von Erkenntnissen der Evolutionären Psychologie untersucht dieser Beitrag wichtige Funktionen, die das Bewusstsein autonomer Roboter ausfüllen kann. Gemeint sind willkürlich kontrolliertes Handeln, bewusstes Wahrnehmen, Eigenwahrnehmung, Metaerkenntnis sowie Bewusstsein des eigenen Selbst. Der Verfasser unterscheidet zwischen intrinsischer Intentionalität und Bewusstsein, führt jedoch das Argument ins Feld, dass es ebenso wichtig sei, die Erkenntnisweise eines Roboters zu verstehen. Abschließend wird, aus dem Blickwinkel der Theorie von den Protophänomenen, das für Roboter „schwierige Problem” untersucht, d.h. die Frage, ob sie zu subjektiver Wahrnehmung fähig sind

    The Synmac Syntax Macroprocessor: Introduction and Manual, Version 5

    Get PDF
    A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility than allowed with ordinary macroprocessors. This report describes the \emph{synmac} syntax macroprocessor, which permits arbitrarily delimited macro invocations, and thus allows the definition of new statement and expression forms or even complete languages. Synmac is a computationally complete programming language. We define the synmac macro language, document a prototype implementation, and give examples of its use

    Introduction to relational programming

    Get PDF
    A new method of programming, called relational programming, is introduced. This is a style of programming in which entire relations are manipulated rather than individual data. This is analogous to functional programming, wherein entire functions are the value manipulated by the operators. Because of its ability to manipulate complex data structures other than lists, relational programming seems to have distinct advantages over other very high level languages. This paper introduces the basic concepts of relational programming and a preliminary notation for expressing them; it does not define a programming language, per se. (Author)Prepared for: Naval Postgraduate School, Monterey, California 93940. -- Cover.http://archive.org/details/introductiontore00maclN0001481WR10034N

    The automatic generation of syntax directed editors

    Get PDF
    A syntax directed editor is an editor oriented towards a particular language. This paper describes a general table-driven syntax directed editor and an algorithm for automatically generating a syntax directed editor for a language from a description of that language. Aside from the convenience of a syntax directed editor, it is also a very efficient parser. No syntactic error recovery is required since the editor does not permit the user to make syntactic errors. Some of the implications of syntax directed editors for data structure manipulation and two dimensional languages are briefly discussed. (Author)supported by the Foundation Research Program of the Naval Postgraduate School with funds provided by the Chief of Naval Research,http://archive.org/details/automaticgenerat00macl61152N;RR000-01-10 N0001481WR10034N

    The four forms of [omega]

    Get PDF
    Author(s) key words: Object-oriented programming, production rules, production systems, concrete syntax, two-dimensional language, pseudo-natural language, knowledge representation, natural language interface, logic programming, simulation languages, knowledge base, office automation, rule-based systemsChief of Naval Researchhttp://archive.org/details/fourformsofomega62maclN00014-85-24057N
    • …
    corecore