Newsgroups: comp.lang.functional Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!linus!linus!linus!swarup From: swarup@mitre.org (Vipin Swarup) Subject: Re: Summary: functional programming of graph algorithms (long) In-Reply-To: barth@au-bon-pain.lcs.mit.edu's message of 21 Jun 91 10:54:56 Message-ID: Sender: news@linus.mitre.org (News Service) Nntp-Posting-Host: hrothgar.mitre.org Reply-To: swarup@mitre.org Organization: Mitre Corporation, Bedford, MA. References: <5495@ztivax.UUCP> <1865@harl86.harl.hitachi.co.jp> Date: 25 Jun 91 16:29:16 Lines: 45 You might also look at the following paper: @InProceedings(Imperative-lambda-calculus, Author = "Swarup, V. and Reddy, U.S. and Ireland, E.", Title = "Assignments for applicative languages", BookTitle = "Proc. Conf. on Functional Programming Languages and Computer Architecture", Note = "(To appear)", Month = "August", Year = "1991" ) The paper proposes a framework for adding references and assignments to pure, strongly-typed functional languages without violating the semantic properties of the languages. Expressions do not have side-effects, and the extended languages are proper extensions of the assignment-free languages. That is, the denotational and operational semantics of lambda-abstraction/application and pairing/projection are exactly the same before and after the extension. References may be used to construct arbitrary data structures (including graphs). Shared data may be destructively modified, and the modifications are visible to other parts of the program without having to explicitly pass the new values to those program points. This is demonstrated by a program for unification. The formal language considered in the paper is called "Imperative Lambda Calculus" (ILC for short). The type system of ILC ensures that state-oriented computation is combined linearly, allowing an implementation in terms of a global store. Evaluation of well-typed programs is Church-Rosser. Thus, programs produce the same results whether an eager or lazy evaluation order is used (assuming termination). The benefits of this work include greater expressive power and efficiency (compared to applicative languages), while retaining simplicity of reasoning. ========================================================================== Vipin Swarup, MS A156 The MITRE Corporation Burlington Road Bedford, MA 01730. E-mail : swarup@mitre.org ==========================================================================