On Wed, 03 Jan 2001 11:26:53 -0500
 Michael Zawrotny <[EMAIL PROTECTED]> wrote:
> 
> [snip]
> 
> The reason that I found GITH difficult wasn't that the
> concept
> of programming with functions/functional style was new to
> me.  What got me was that the concepts and notations were
> much
> more "mathematical" than "programmatic".  In my
> explorations
> of various languages, my experience with introductions to
> scheme/CL has mostly been that they tend to show how to
> do
> things that are familiar to imperative programmers, plus
> all
> of the things that you can do with functions as first
> class
> values.  With intros to SML, OCaml and Haskell, there is
> a
> much greater emphasis on types, type systems, and
> provable
> program correctness.
> 
> [snip]
> 
> The thing that I would most like to see would entitled "A
> Practical Guide to Haskell" or something of that nature.
> 
> [snip]
> 
> One is tempted to come to the conclusion that Haskell is
> not
> suited for "normal" programmers writing "normal"
> programs.

How would you define a "'normal' programmer writing 'normal' programs?"  What exactly 
is a "'normal' program?"

(Perhaps another way of phrasing the issue is as the "declarative" vs. "procedural" 
distinction, since the issue seems to be that of "what is" (types) vs. "how to" 
(imperative expression; i.e., procedures).)

While I agree that "A Practical Guide to Haskell" would indeed be a suitable 
alternative for programmers from the procedural school of expression, I would caution 
that such an introduction would probably not be suitable for all.

If I may give my own case as an example, I studied both C and Scheme (in addition to 
auditing a course in Haskell) in college, and favored Scheme over C precisely because 
of my Scheme course's emphasis on provable program correctness.  This is largely a 
matter of background and taste:  my course background was relatively focused on the 
design and analysis of algorithms, with provable program correctness being a related 
topic.

Perhaps, ideally, two separate tutorials (or perhaps a single tutorial with two 
sections based on different viewpoints?) may be needed?  The difficulty is that the 
conceptual distance between the declarative and procedural schools of thought seems 
too great to be bridged by a single viewpoint.  It seems that any introduction 
favoring either one would risk alienating the other.

Personally, I would really prefer "A Gentle Elementary Introduction to Haskell:  
Elements of the Haskell School of Expression with Practical Examples," but some would 
no doubt choose "Haskell in a Nutshell:  How to Write Practical Programs in Haskell."

--Ben
--
Benjamin L. Russell
[EMAIL PROTECTED]
[EMAIL PROTECTED]
"Furuike ya!  Kawazu tobikomu mizu no oto."  --Matsuo Basho

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to