[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::languages

Title:Languages
Notice:Speaking In Tongues
Moderator:TLE::TOKLAS::FELDMAN
Created:Sat Jan 25 1986
Last Modified:Wed May 21 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:394
Total number of notes:2683

386.0. "functional programming & prototyping productivity" by STAR::PRAETORIUS (what does the elephant need?) Wed Nov 23 1994 13:35

[URL of interest: ftp://nebula.cs.yale.edu/pub/yale-fp/papers/NSWC/jfp.ps
 headers after FF]

Mark Robinson (PG) <[email protected]> wrote:
>[...]  I am looking for information on any SE methods/methodologies
>(particularly program design) that have been either built for
>functional languages or adapted from imperative language systems.
 
However, in recent years there has been a steady emphasis on using
functional languages in applied contexts.  You should read the papers
on the GRASP, AQUA, and Flare projects found at the University of
Glasgow, available via anonymous ftp [1].
 
These projects have since been completed and focused on practical
applications in functional programming languages.  The papers discuss
issues relating to the effectiveness of the actual implemented
applications as well as issues surrounding the use of functional
langauges in the software development cycle.
 
Another important paper is "Haskell vs. Ada vs. C++ vs. Awk vs. ... An
Experiment in Software Prototyping Productivity" [2].  This paper
details the results of an impressive experiment by the Naval Surface
Warfare Center in software prototyping.  But let me digress for a
moment...
 
The power of modern functional languages lies in the sheer power of
the abstraction facilities available.  To paraphrase Paul Hudak: "What
are the three most important things in programming?  Abstraction,
abstraction, abstraction."
 
It is this very fact that has driven the success of object oriented
languages like C++.  OO provides more powerful abstraction mechanisms
than the simple procedural models available heretofore.
 
Now to return to my main point: The Yale paper provides an excellent
illustration of the incredible power of abstraction available in
functional languages.  To whet your appetite: the Haskell
implementation of the project required a total of 85 lines of code.
The C++ implementation took 1105 lines of code, and Ada clocked in at
767 lines.
 
But there is a catch: functional languages are still in a state of
development.  There is some work that remains to be done before a
language like Haskell could completely subsume the roles of languages
like C, C++, and Ada.  (Yet see the discussion of Sisal, a scientific
functional language, in the FAQ [3].)
 
It is also my firm belief that as functional languages grow towards
practicality, the strength of the abstraction mechanisms will also
grow.  Current abstraction techniques will mature, and new ones may be
developed.
 
The FAQ is a good general starting place for functional language
information.  Note particularly the two papers referenced in section
1.2 of the FAQ, one by Hudak the other by Hughes.  Here you will find
enlightening discussions of the motivations behind the development of
functional languages.
 
Hope this is of some use,
John Whitley
 
[1] Information on the GRASP, AQUA, and Flare projects:
    ftp.dcs.glasgow.ac.uk:/pub/glasgow-fp/grasp-and-aqua-docs/
     "   "     "    "   ":/pub/flare/
 
[2] "Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software
     Prototyping Productivity" by Paul Hudak and Mark P. Jones,
     available via anonymous ftp from:
    nebula.cs.yale.edu:/pub/yale-fp/papers/NSWC/jfp.ps
 
[3] The comp.lang.functional FAQ:
    http://www.cs.nott.ac.uk/Department/Staff/mpj/faq.html


Article: 3156
Newsgroups: comp.software-eng,comp.lang.functional
Path: jac.zko.dec.com!pa.dec.com!decuac.dec.com!haven.umd.edu!news.umbc.edu!eff!news.kei.com!ub!acsu.buffalo.edu!whitley
From: [email protected] (John Whitley)
Subject: Re: Real Functional Programming
Message-ID: <[email protected]>
Sender: [email protected]
Nntp-Posting-Host: hydra.cs.buffalo.edu
Reply-To: [email protected]
Organization: State University of New York at Buffalo/Comp Sci
References: <[email protected]>
Date: Tue, 22 Nov 1994 05:45:39 GMT
Lines: 70
Xref: jac.zko.dec.com comp.software-eng:17579 comp.lang.functional:3156
T.RTitleUserPersonal
Name
DateLines