16,626 research outputs found

    CGOL - an Alternative External Representation For LISP users

    Get PDF
    This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for the laboratory's artificial intelligence research is provided in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contract N00014-75-C-0643.Advantages of the standard external representation of LISP include its simple definition, its economical implementation and its convenient extensibility. These advantages have been gained by trading off syntactic variety for the rigidity of parenthesized prefix notation. This paper describes an approach to increasing the available notational variety in LISP without compromising the above advantages of the standard notation. A primary advantage of the availability of such variety is the extent to which documentation can be incorporated into the code itself, decreasing the chance of mismatches between cods and documentation. The approach differs from that of MLISP[superscript 4], which attempts to be a self-contained language rather than a notation available immediately on demand to the ordinary LISP user. A striking feature of a MACLISP implementation of this approach, the CGOL notation, is that any LISP user, at any time, without any prior preparation, and without significant compromise of storage or speed, can in mid-stream change to the CGOL notation merely by typing (CGOL) at the LISP he is presently using, even if he has already loaded and begun running his LISP program. Another striking feature is the possibility of notational transparency; a LISP user may ask LISP to read a file without needing to know the notation(s) used within that file.MIT Artificial Intelligence Laborator

    Slisp: A Flexible Software Toolkit for Hybrid, Embedded and Distributed Applications

    Get PDF
    We describe Slisp (pronounced ‘Ess-Lisp’), a hybrid Lisp–C programming toolkit for the development of scriptable and distributed applications. Computationally expensive operations implemented as separate C-coded modules are selectively compiled into a small Xlisp interpreter, then called as Lisp functions in a Lisp-coded program. The resulting hybrid program may run in several modes: as a stand-alone executable, embedded in a different C program, as a networked server accessed from another Slisp client, or as a networked server accessed from a C-coded client. Five years of experience with Slisp, as well experience with other scripting languages such as Tcl and Perl, are summarized. These experiences suggest that Slisp will be most useful for mid-sized applications in which the kinds of scripting and embeddability features provided by Tcl and Perl can be extended in an efïŹcient manner to larger applications, while maintaining a well-deïŹned standard (Common Lisp) for these extensions. In addition, the generality of Lisp makes Lisp a good candidate for an application-level communication language in distributed environments

    Confluent Orthogonal Drawings of Syntax Diagrams

    Full text link
    We provide a pipeline for generating syntax diagrams (also called railroad diagrams) from context free grammars. Syntax diagrams are a graphical representation of a context free language, which we formalize abstractly as a set of mutually recursive nondeterministic finite automata and draw by combining elements from the confluent drawing, layered drawing, and smooth orthogonal drawing styles. Within our pipeline we introduce several heuristics that modify the grammar but preserve the language, improving the aesthetics of the final drawing.Comment: GD 201

    The Limits of Mathematics

    Full text link
    This condensed version of chao-dyn/9509010 will be the main hand-out for a course on algorithmic information theory to be given 22-29 May 1996 at the Rovaniemi Institute of Technology, Rovaniemi, Finland (see announcement at http://www.rotol.fi/ ).Comment: LaTeX, 45 page

    Simulating futures in extended common LISP

    Get PDF
    Stack-groups comprise the mechanism underlying implementation of multiprocessing in Extended Common LISP, i.e., running multiple quasi-simultaneous processes within a single LISP address space. On the other hand, the future construct of MULTILISP, an extension of the LISP dialect scheme, deals with parallel execution. The source of concurrency that future exploits is the overlap between computation of a value and use of the value. Described is a simulation of the future construct by an interpreter utilizing stack-group extensions to common LISP

    Providing Self-Aware Systems with Reflexivity

    Full text link
    We propose a new type of self-aware systems inspired by ideas from higher-order theories of consciousness. First, we discussed the crucial distinction between introspection and reflexion. Then, we focus on computational reflexion as a mechanism by which a computer program can inspect its own code at every stage of the computation. Finally, we provide a formal definition and a proof-of-concept implementation of computational reflexion, viewed as an enriched form of program interpretation and a way to dynamically "augment" a computational process.Comment: 12 pages plus bibliography, appendices with code description, code of the proof-of-concept implementation, and examples of executio
    • 

    corecore