Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!news.duke.edu!convex!cs.utexas.edu!rutgers!njitgw.njit.edu!vienna!aaron
From: aaron@vienna.njit.edu (Aaron Watters)
Subject: Re: Functional Programming
Message-ID: <1994Oct27.162042.19887@njitgw.njit.edu>
Sender: news@njit.edu
Nntp-Posting-Host: vienna.njit.edu
Organization: New Jersey Institute of Technology, Newark
References: <dig-Scheme-6.317@mc.lcs.mit.edu> <m0r09l8-0004oxC@n2ell.uucp>
Date: Thu, 27 Oct 1994 16:20:42 GMT
Lines: 29

In article <m0r09l8-0004oxC@n2ell.uucp> pcolsen@super.org writes:
>
>I'd like to wade into the dispute about functional programming.
>
>I'm a working engineer...
>...I've written "functional-style" programs in C, C++, and FORTRAN....

Whoops. You can't do anything interesting in the "functional style"(*)
without recursion(**) and FORTRAN doesn't have recursion.

I suspect Mr. Colsen is talking about the use of modular programming
in the style of Wirth, with some of the advanced data structuring
techniques that lisp (common lisp, at least) encourages.  I'm only
a cave-man, not a neanderthol, so I can't disagree.  I myself even
have been known to use higher order functions, when they actually
simplified the code.

Some other strategies are too deep for me.  Recently, for
instance, I chatted with a fellow who uses macros in functional
languages to create looping constructs, which get translated
into tail recursion, which (presumedly) the optimizer takes
out and replaces with loops.  I'm out of my depth here.

Now, in the spirit of peace and brotherhood, lets all
sit in a circle and hold hands and sing "Come by H'ya, My lord"
A one and a two and -- everybody now!....		-a.

(*) At least in common academic parlance.
(**) or something even more "advanced" like combinators.
