Newsgroups: comp.lang.functional,comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!udel!gatech!swrinde!pipex!lyra.csx.cam.ac.uk!warwick!bsmail!miki!jwl
From: jwl@miki.bristol.ac.uk (John Lloyd)
Subject: Two papers on declarative programming
Message-ID: <Cw8CM2.GCn@info.bris.ac.uk>
Sender: jwl@miki (John Lloyd)
Nntp-Posting-Host: miki.cs.bris.ac.uk
Organization: Computer Science
Date: Fri, 16 Sep 1994 16:03:37 GMT
Lines: 40
Xref: glinda.oz.cs.cmu.edu comp.lang.functional:5101 comp.lang.prolog:11289



I enclose the abstracts of two papers which may interest those working in
the design of declarative programming languages. They can be obtained by
ftp from ftp.cs.bris.ac.uk. Look in the directory /goedel/jwl_papers.

John Lloyd

***************************************************************************

"Practical Advantages of Declarative Programming"

In this paper, I discuss the practical advantages of declarative programming.
I begin with a discussion of the possible meanings of the term ``declarative'' 
and then go on to present the practical advantages of declarative programming 
under five headings: teaching, semantics, programmer productivity, meta-
programming, and parallelism.  I then make some general remarks about the 
extent to which declarativeness is taken seriously even by researchers in 
declarative programming, the possibilities for combining functional and logic 
programming, and, finally, a significant limitation of the current declarative 
approach to programming.  I conclude with a summary of the main points made in 
the paper.



"Combining Functional and Logic Programming Languages"

In this paper, I outline a proposal for a combined functional and logic 
programming language.  The main aim of the proposal is to combine in a 
practical and comprehensive way the best ideas of existing functional and 
logic languages, such as G\"odel, Haskell, and $\lambda$Prolog.  I consider 
here only the core of the language, leaving aside many important issues such 
as the module system, meta-programming, and input/output.  The logic of the 
language is Church's simple theory of types.  I discuss the somewhat unusual 
computational model of the language and illustrate its main ideas with 
various programs.  I conclude with some remarks on what needs to be done to 
complete the design and implementation.



