Browse Prior Art Database

MAGMA2: A LANGUAGE ORIENTED TO EXPERIMENTS IN CONTROL

IP.com Disclosure Number: IPCOM000148835D
Original Publication Date: 1980-Feb-26
Included in the Prior Art Database: 2007-Mar-30
Document File: 32 page(s) / 2M

Publishing Venue

Software Patent Institute

Related People

Turini, Fanco: AUTHOR [+2]

Abstract

Franco Turini IBM Research Laboratory San Jose, California 95193 ABSTRACT: The paper outlines the design of M A W 2 as a system in which programmability and encapsulation of control regimes is possible. The design is oriented to control regimes in which the basis unit of computation is the program closure, i.e., an activation frame of a Lisp function. Typical example of regimes of this kind are coroutining, backtracking and so on. Most of the efforts of the design are devotedto provide abstraction mechanisms which exhibit properties like generality, encapsulation and modularity. The work reported in this paper was done while the author was a visiting postdoc from Istituto di Scienze dell'Informazione, Universita' di Pisa, Italy . CONTENTS Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . Magmalisp: strengths and deficiences 3 MAGMA2: making Magmalisp less magmatic 5 . . . . . . . . . . . . . . Abstractions of control in MAGMA2 6

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 7% of the total text.

Page 1 of 32

~ ~ 2 7 5 8

    (35313) 2/26/80
Computer Science

MAGMA2: A LANGUAGE ORIENTED TO EXPERIMENTS IN CONTROL

Franco Turini

IBM Research Laboratory
San Jose, California 95193

ABSTRACT: The paper outlines the design of M A W 2 as a system in which
programmability and encapsulation of control regimes is possible. The
design is oriented to control regimes in which the basis unit of
computation is the program closure, i.e., an activation frame of a Lisp
function. Typical example of regimes of this kind are coroutining,
backtracking and so on. Most of the efforts of the design are devoted
to provide abstraction mechanisms which exhibit properties like generality,
encapsulation and modularity.

* The work reported in this paper was done while the author was a visiting
postdoc from Istituto di Scienze dell'Informazione, Universita' di Pisa,
Italy .

[This page contains 1 picture or other non-text object]

Page 2 of 32

[This page contains 1 picture or other non-text object]

Page 3 of 32

CONTENTS

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
. . . . . . . . . . . . . . .

Magmalisp: strengths and deficiences 3

MAGMA2: making Magmalisp less magmatic 5

. . . . . . . . . . . . . .

Abstractions of control in MAGMA2 6

. . . . . . . . . . . . . . . .

Program closures 7

. . . . . . . . . . . . . . . . . . . . . . . . .

Program components 8

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . .

Application language 9

. . . . . . . . . . . . . . . . . . . . . . .

Control language 9

Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
. . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

First prelude: Simple Recursion 12

Second Prelude: Recursion and coroutining 13

Third prelude: recursion and backtracking 16 Otherpreludes . . . . . . . . . . . . . . . . . . . . . . . . . . 22

. . . . . . . . . . . .

Other issues and open problems 23

. . . . . . . . . . . . . . . . . .

Implementation issues . . . . . . . . . . . . . . . . . . . . . . 23
. . . . . . . . . . . . . . .

Specifications and proof methodology 24

Related work 26

. . . . . . . . . . . . . . . . . . . . . . . . . . .

Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 28

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Contents

[This page contains 1 picture or other non-text object]

Page 4 of 32

INTRODUCTION

Alternative titles for this paper might be 'What did we learn from
~a~malisp?'
or 'structuring the control abstraction mechanism of
~a~malis~'.

Indeed, the goals of this paper are:

discussing the original philosophy of Magmalisp [lo], stressing its
still valid achievements and its faults;

presenting MAGMA2 as a language conserving what good was in
Magmalisp and improving (I hope) the deficiencies;

discussing t...