3 research outputs found
Preliminary Design of the APIARY for VLSI Support of Knowledge-Based Systems
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 Office of Naval Research of the Department of Defense under Contract N00014-75-C-0522.Knowledge-based applications will require vastly increased computational resources to achieve their goals. We are working on the development of a VLSI Message Passing Architecture to meet this need. As a first step we present the preliminary design of the APIARY system in this paper. The APIARY is currently in an early stage of implementation at the MIT Artificial Intelligence Laboratory.MIT Artificial Intelligence Laboratory
Department of Defense Office of Naval Researc
An intensional implementation technique for functional languages
The potential of functional programming languages has not been
widely accepted yet. The reason lies in the difficulties associated with
their implementation. In this dissertation we propose a new
implementation technique for functional languages by compiling them
into 'Intensional Logic' of R. Montague and R. Carnap. Our technique is
not limited to a particular hardware or to a particular evaluation
strategy; nevertheless it lends itself directly to demand-driven tagged
dataflow architecture. Even though our technique can handle
conventional languages as well, our main interest is exclusively with
functional languages in general and with Lucid-like dataflow languages
in particular.
We give a brief general account of intensional logic and then
introduce the concept of intensional algebras as structures (models) for
intensional logic. We, formally, show the computability requirements for
such algebras.
The target language of our compilation is the family of languages
DE (definitional equations over intensional expressions). A program in
DE is a linear (not structured) set of non-ambiguous equations defining
nullary variable symbols. One of these variable symbols should be the
symbol result.
We introduce the compilation of Iswim (a first order variant of
Landin's ISWIM) as an example of compiling functions into intensional
expressions. A compilation algorithm is given. Iswim(A), for any algebra
of data types A, is compiled into DE(Flo(A)) where Flo(A) is a uniquely
defined intensional algebra over the tree of function calls. The approach
is extended to compiling Luswim and Lucid.
We describe the demand-driven tagged dataflow (the eduction)
approach to evaluating the intensional family of target languages DE.
Furthermore, for each intensional algebra, we introduce a collection of
rewrite rules. A justification of correctness is given. These rules are the
basis for evaluating programs in the target DE by reduction.
Finally, we discuss possible refinements and extensions to our
approach