Results 1  10
of
12
Steps toward artificial intelligence
 Computers and Thought
, 1961
"... Harvard University. The work toward attaining "artificial intelligence’ ’ is the center of considerable computer research, design, and application. The field is in its starting transient, characterized by many varied and independent efforts. Marvin Minsky has been requested to draw this wor ..."
Abstract

Cited by 185 (0 self)
 Add to MetaCart
Harvard University. The work toward attaining &quot;artificial intelligence’ ’ is the center of considerable computer research, design, and application. The field is in its starting transient, characterized by many varied and independent efforts. Marvin Minsky has been requested to draw this work together into a coherent summary, supplement it with appropriate explanatory or theoretical noncomputer information, and introduce his assessment of the state of the art. This paper emphasizes the class of activities in which a generalpurpose computer, complete with a library of basic programs, is further programmed to perform operations leading to ever higherlevel information processing functions such as learning and problem solving. This informative article will be of real interest to both the general Proceedings reader and the computer specialist. The Guest Editor.
Explicit Cyclic Substitutions
, 1993
"... In this paper we consider rewrite systems that describe the lambdacalculus enriched with recursive and nonrecursive local definitions by generalizing the `explicit substitutions' used by Abadi, Cardelli, Curien, and Lévy [1] to describe sharing in lambdaterms. This leads to `explicit cyclic ..."
Abstract

Cited by 25 (2 self)
 Add to MetaCart
In this paper we consider rewrite systems that describe the lambdacalculus enriched with recursive and nonrecursive local definitions by generalizing the `explicit substitutions' used by Abadi, Cardelli, Curien, and Lévy [1] to describe sharing in lambdaterms. This leads to `explicit cyclic substitutions' that can describe the mutual sharing of local recursive definitions. We demonstrate how this may be used to describe standard binding constructions (let and letrec)  directly using substitution and fixed point induction as well as using `smallstep' rewriting semantics where substitution is interleaved with the mechanics of the following betareductions. With this we hope to contribute to the synthesis of denotational and operational specifications of sharing and recursion.
The Impact Of Programming Style On The Performance Of Scheme Programs
, 1992
"... of the Thesis of Lars Thomas Hansen for the degree of Master of Science in the Department of Computer and Information Science to be taken August 1992 Title: THE IMPACT OF PROGRAMMING STYLE ON THE PERFORMANCE OF SCHEME PROGRAMS Approved: Dr. William D. Clinger Conventional wisdom among programmers st ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
of the Thesis of Lars Thomas Hansen for the degree of Master of Science in the Department of Computer and Information Science to be taken August 1992 Title: THE IMPACT OF PROGRAMMING STYLE ON THE PERFORMANCE OF SCHEME PROGRAMS Approved: Dr. William D. Clinger Conventional wisdom among programmers states that an imperative programming style necessarily gives better performance than a functional style; that iteration together with an explicit stack is faster than recursion; that assignment is faster than parameter passing; and that allocation of intermediate data structures is wasteful if the allocation could have been avoided. We believe that these and other claims about the impact of style on performance are questionable in the presence of a modern runtime system and a generational garbage collector. We have therefore measured the actual performance of a number of Scheme benchmark programs under several garbage collectors. Our findings show that a functional, allocationhungry style i...
Faster answers and improved termination in inverse computation of nonflat languages
 PROGRAM SYSTEMS INSTITUT, RUSSIAN ACADEMY OF SCIENCES, PERESLAVLZALESSKY
, 2002
"... The Universal Resolving Algorithm [3] was formulated for inverse computation of tailrecursive programs. We present an extension of the algorithm to deal with nonflat programming languages. This extension improves the efficiency and termination behavior of inverse computation because partially prod ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The Universal Resolving Algorithm [3] was formulated for inverse computation of tailrecursive programs. We present an extension of the algorithm to deal with nonflat programming languages. This extension improves the efficiency and termination behavior of inverse computation because partially produced output is used to reduce the search space. We explain the extension and present a new technique which we designed and implemented for a firstorder functional programming language. Several examples demonstrate the advantages of the new technique (including decompilation of bytecode programs). We expect that similar methods can be used when performing inverse computation in other programming languages.
Graphbased Operational Semantics of a Lazy Functional Language
 Term Graph Rewriting: Theory and Practice, chapter 22
"... Machine [Car83], the Gmachine [Joh84, BPJR88], Clean [BvEvLP87, KSvEP91], and DACTL [Ken88, GKS89]. All of these can be perceived as notations for algorithms that describe how graphs may be used to model the evaluation of the implemented language. Such notations have the advantage that they are dir ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Machine [Car83], the Gmachine [Joh84, BPJR88], Clean [BvEvLP87, KSvEP91], and DACTL [Ken88, GKS89]. All of these can be perceived as notations for algorithms that describe how graphs may be used to model the evaluation of the implemented language. Such notations have the advantage that they are directly executable. However, they are often not very readable since all the details of the implementation have to be present in the specification. On the other hand, the idea has also been used in attempts to build models of functional languages and to prove properties of such models directly. Again starting from [Wad71] such attempts are naturally focused on models of the calculusa 2 We will use the traditional word "redex" (reducible expression) rather than some abbreviation of "reducible subgraph" even though we will always refer to the latter. GRAPHBASED OPERATIONAL SEMANTICS OF A LAZY FUNCTIONAL LANGUAGE 239 rather large are of research, so we will just mention [Sta78] and [Lam90...
This document in subdirectoryRS/96/56/ Modeling Sharing and Recursion for Weak Reduction Strategies using Explicit Substitution
, 1996
"... Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent publications in the BRICS Report Series. Copies may be obtained by contacting: BRICS ..."
Abstract
 Add to MetaCart
Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent publications in the BRICS Report Series. Copies may be obtained by contacting: BRICS
XSG: Fair Language with Builtin Equality
 FIRST INTERNATIONAL WORKSHOP ON METACOMPUTATION IN RUSSIA (META 2008)
, 2008
"... We describe the XSG programming language and define a formal semantics for it.
XSG is a functionallogic untyped firstorder language. Like a functional language it has functions which return results (not predicates only as classic logic languages). And like a logic language it allows implicit defi ..."
Abstract
 Add to MetaCart
We describe the XSG programming language and define a formal semantics for it.
XSG is a functionallogic untyped firstorder language. Like a functional language it has functions which return results (not predicates only as classic logic languages). And like a logic language it allows implicit definition of variables’ values. XSG is developed as a model language for metacomputations. It is a successor of the TSG and NTSG languages used by S. M. Abramov and R. Glück for formal description of basic metacomputation tools such as driving, PPT and URA [1,2,3,4,5,6,7]. In XSG the concept of pattern matching is generalized by introducing equations. Both free and bound variables in equations can go both at the left and at the right sides. Also a variable can occur in an equation several times. Thus there is a notion of equality inherent in the language.
Every variable in XSG is a logic variable: it designates a set of possible values. The equations are global constraints on the variables. Thus there is an embedded nondeterminism in the language as the program result is an unordered set of possible answers.
Characterizing Computation Models with a Constant Factor Time Hierachy
, 1996
"... The existence of a constant factor time hierarchy within sets decidable within a (timeconstructible) time bound is a necessary property for reasoning theoretically about linear time optimizations. However, proving this property typically involves careful construction of custom interpreters or compi ..."
Abstract
 Add to MetaCart
The existence of a constant factor time hierarchy within sets decidable within a (timeconstructible) time bound is a necessary property for reasoning theoretically about linear time optimizations. However, proving this property typically involves careful construction of custom interpreters or compilers, which is a tedious affair. A more generic method to state the existence or not is desirable. In this note, we discuss some aspects of finite branching for a programming language (viewed as a computation model) which are necessary for the existence of a timehierarchy assuming a realistic memory organization and implementation: a finite number of constructors, variables, and functions, and finite branching of data and control. Then, we analyse some languages for which the existence of a constant factor timehierarchy is already known. Finally, we draw the analogy to traditional machine model theory. 1 Background We assume the reader to be familiar with the idea of complexity from a pro...
YaLG  a tool for higherorder grammar specification
"... this paper we present a prototyping tool for higherorder grammar specification. The motivation for such tool is to create an environment for exploring and experimenting with NLP. This experimentation is supposed to deal with the various levels of language processing: lexical, syntactical, semantica ..."
Abstract
 Add to MetaCart
this paper we present a prototyping tool for higherorder grammar specification. The motivation for such tool is to create an environment for exploring and experimenting with NLP. This experimentation is supposed to deal with the various levels of language processing: lexical, syntactical, semantical, and eventually pragmatical. Such environments already exist but our emphasis differs from most of them. Our aim is to provide ways of generalizing DCG's without loosing their simplicity and elegance. This generalization can be made in different independent directions corresponding to the different levels of processing: lexical, syntactical, and semantical. These directions define a space of generalizations and each particular problem will determine a certain point is this space.
The MachineAssisted Proof Of Programming Language Properties
, 1996
"... The MachineAssisted Proof of Programming Language Properties Myra VanInwegen Advisor: Carl Gunter The goals of the project described in this thesis are twofold. First, we wanted to demonstrate that if a programming language has a semantics that is complete and rigorous (mathematical), but not to ..."
Abstract
 Add to MetaCart
The MachineAssisted Proof of Programming Language Properties Myra VanInwegen Advisor: Carl Gunter The goals of the project described in this thesis are twofold. First, we wanted to demonstrate that if a programming language has a semantics that is complete and rigorous (mathematical), but not too complex, then substantial theorems can be proved about it. Second, we wanted to assess the utility of using an automated theorem prover to aid in such proofs. We chose SML as the language about which to prove theorems: it has a published semantics that is complete and rigorous, and while not exactly simple, is comprehensible. We encoded the semantics of Core SML into the theorem prover HOL (creating new definitional packages for HOL in the process). We proved important theorems about evaluation and about the type system. We also proved the type preservation theorem, which relates evaluation and typing, for a good portion of the language. We were not able to complete the proof of type prese...