Papers by Lennart Beckman
Towards a formal semantics for concurrent logic programming languages
Springer eBooks, 1986
A method for giving a formal semantics of concurrent logic programming languages is proposed. It ... more A method for giving a formal semantics of concurrent logic programming languages is proposed. It is shown how the semantics can be defined in terms of a concurrent execution model, based on Milner's CCS (Calculus of Communicating Systems). The method is illustrated by describing the main features of Relational Language, Concurrent Prolog and Guarded Horn Clauses.

Artificial Intelligence, 1976
Programs which perform partial evaluation, beta-expansion, and certain optimizations on programs,... more Programs which perform partial evaluation, beta-expansion, and certain optimizations on programs, are studied with respect to implementation and application. Two implementations are described, one "'interpretive" partial evaluator, which operates directly on the program to be partially evaluated, and a "compi/ing" system, where the program to be partially evaluated is used to generate a specialized program, which in its turn is executed to do the partial evaluation. Three applications with different requirements on these programs are described. Proofs are given for the equivalence of the use of the interpretive system and the compili.,:g system in two of the three cases. The general use of the partial evaluator as a tool for the programmer in conjunction with certain programming techniques is discussed. Partial evaluation has traditionally been considered as a toy, to be used only as a subroutine in very experimental research programs. The present paper argues that if properly developed and utilized, partial evaluation can also be very useful as a practical working tool for the serious programmer. The paper describes a set of programs for partial evaluation (Sections 3 and 8), and experiments which have been done with them (Sections 4-6), as well as of how such programs can be put to use (the remaining sections). Some figures from the experiments are to be found in the appendix. In the simplest case, a partial evaluation program is a progra~ which takes a procedure P of some arguments (xl, xy,..., xn) together with values (cl,..., c,) for the first m of these n arguments, and which generates a new procedure P' such that P' (xm+~,..., xn) = P(ct,..., c,, xm+l,..., xn) for all x. In doing so, it
Towards a formal semantics for concurrent logic programming languages
Lecture Notes in Computer Science, 1986
A method for giving a formal semantics of concurrent logic programming languages is proposed. It ... more A method for giving a formal semantics of concurrent logic programming languages is proposed. It is shown how the semantics can be defined in terms of a concurrent execution model, based on Milner's CCS (Calculus of Communicating Systems). The method is illustrated by describing the main features of Relational Language, Concurrent Prolog and Guarded Horn Clauses.
An algebraic model of parallel execution of logic programs
Proc. Logic in Computer Science, 1986

Artificial Intelligence, 1976
Programs which perform partial evaluation, beta-expansion, and certain optimizations on programs,... more Programs which perform partial evaluation, beta-expansion, and certain optimizations on programs, are studied with respect to implementation and application. Two implementations are described, one "'interpretive" partial evaluator, which operates directly on the program to be partially evaluated, and a "compi/ing" system, where the program to be partially evaluated is used to generate a specialized program, which in its turn is executed to do the partial evaluation. Three applications with different requirements on these programs are described. Proofs are given for the equivalence of the use of the interpretive system and the compili.,:g system in two of the three cases. The general use of the partial evaluator as a tool for the programmer in conjunction with certain programming techniques is discussed. Partial evaluation has traditionally been considered as a toy, to be used only as a subroutine in very experimental research programs. The present paper argues that if properly developed and utilized, partial evaluation can also be very useful as a practical working tool for the serious programmer. The paper describes a set of programs for partial evaluation (Sections 3 and 8), and experiments which have been done with them (Sections 4-6), as well as of how such programs can be put to use (the remaining sections). Some figures from the experiments are to be found in the appendix. In the simplest case, a partial evaluation program is a progra~ which takes a procedure P of some arguments (xl, xy,..., xn) together with values (cl,..., c,) for the first m of these n arguments, and which generates a new procedure P' such that P' (xm+~,..., xn) = P(ct,..., c,, xm+l,..., xn) for all x. In doing so, it
Uploads
Papers by Lennart Beckman