caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Robert Morelli <morelli@cs.utah.edu>
To: David MENTRE <david.mentre@gmail.com>
Cc: Kyle Consalus <consalus@gmail.com>, caml-list@yquem.inria.fr
Subject: Re: Large scale and FP
Date: Mon, 18 Jul 2005 12:11:08 -0600	[thread overview]
Message-ID: <42DBF0BC.30807@cs.utah.edu> (raw)
In-Reply-To: <3d13dcfc0507180256491f4a39@mail.gmail.com>

David MENTRE wrote:
> Hello Robert,
> 
> 2005/7/18, Robert Morelli <morelli@cs.utah.edu>:
> 
>>   1.  The FP community tends to emphasize low level issues rather than
>>the larger scale issues that concern most programmers.  It is also
>>inept at practical documentation and advocacy.
> 
> 
> What do you call practical documentation?

Let me give you an example which I think is quite typical.

When I first started learning functional languages,  I chose Haskell
to start with.  I simultaneously read several books.  Of these,  I'll
mention Hudak's The Haskell School of Expression,  because it was the
most admirable of the lot in terms of addressing ordinary programming
issues.  However,  not only did Hudak's book fail to address any higher
level programming principles,  it didn't even properly address the
basics of getting even a small real program running.  To my recollection
(going back some time),  it ignored or gave very short shrift to basic
issues like commenting conventions,  file extension conventions,
directory layout,  documentation tools,  etc.,  much less anything like
debugging techniques.  It didn't even explain the module system to the
point where the reader would be able to write a working program.  Every
example in the book was an exerpt that could not run by itself.  The
code accompanying the book was written with a literate programming
technology that was not discussed in the book.  Etc.

Mind you,  there are excellent beginner's books on Haskell,  like
Davie's "An Introduction to FP Systems using Haskell,"  which introduces
basics of the language along with the basics of its theory and
implementation.  However,  it's not a practical programming book,
and is totally focused on low level issues.  Peyton-Jones' expository
articles are models of clarity,  but aren't complete accounts of the
language.

The situation with Scheme is even worse.  Abelman and Sussman is
a classic,  but hardly practical.  I find it unfortunate that
Dybvig's book is the only attempt at a general introduction to the
language.  As an aside,  I find the documentation for SCSH,  or lack
thereof,  a tragic missed opportunity.

OCaml,  with its O'Reilly book,  probably has the best practical
documentation of any functional language around.  But it's just
not even a far cry from what languages like Java enjoy.


  reply	other threads:[~2005-07-18 18:11 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-14 18:00 (Mostly) Functional Design? Kyle Consalus
2005-07-18  7:59 ` [Caml-list] " Robert Morelli
2005-07-18  9:22   ` Alex Baretta
     [not found]     ` <42DB78D3.7010401@andrej.com>
2005-07-18 10:01       ` Alex Baretta
2005-07-18 18:15     ` Robert Morelli
2005-07-18 18:45       ` Alex Baretta
2005-07-18 18:56       ` padiolea
2005-07-18 19:19         ` Jon Harrop
2005-07-18 19:38       ` Jon Harrop
2005-07-18 21:27       ` skaller
2005-07-18 21:55         ` Alwyn Goodloe
2005-07-18 22:16         ` Paul Snively
2005-07-19  0:45           ` Jonathan Bryant
2005-07-18 21:37       ` skaller
2005-07-18 22:00     ` Kenneth Oksanen
2005-07-18  9:29   ` Mark Meyers
2005-07-18  9:56   ` Large scale and FP (was: Re: [Caml-list] (Mostly) Functional Design?) David MENTRE
2005-07-18 18:11     ` Robert Morelli [this message]
2005-07-18 14:08   ` [Caml-list] (Mostly) Functional Design? james woodyatt
2005-07-18 16:37     ` Alwyn Goodloe
2005-07-18 14:21   ` alphablock
2005-07-18 15:26     ` Alex Baretta
2005-07-18 15:38       ` alphablock
2005-07-18 17:17       ` Doug Kirk
2005-07-18 18:14         ` Alex Baretta
2005-07-19  7:42         ` james woodyatt
2005-07-19  9:35           ` Robert Morelli
2005-07-19 16:53             ` james woodyatt
2005-07-19 17:13               ` Paul Snively
2005-07-19 23:58                 ` Jon Harrop
2005-07-20  0:29                   ` Paul Snively
2005-07-18 18:23   ` padiolea
2005-07-18 19:45   ` Gerd Stolpmann
2005-07-18 22:16     ` skaller
2005-07-19  0:48   ` Chris Campbell
2005-07-19 20:14   ` Some Clarifications Robert Morelli
2005-07-20  6:18     ` [Caml-list] " Ville-Pertti Keinonen
2005-07-24  0:04       ` Robert Morelli
2005-07-24  2:30         ` Paul Snively
2005-07-24  7:37           ` Alex Baretta
2005-07-24  8:08           ` Robert Morelli
2005-07-24 12:23             ` David Teller
2005-07-24 18:29             ` skaller
2005-07-24 18:51             ` Paul Snively
2005-07-24 12:42         ` Gerd Stolpmann
2005-07-25  7:23         ` Ville-Pertti Keinonen
2005-07-20  7:34     ` David MENTRE
2005-07-27 15:37       ` Robert Morelli
2005-07-27 20:33         ` skaller
2005-07-27 23:48           ` Paul Snively
2005-07-20 16:28     ` Damien Doligez
2005-07-24 14:51       ` Robert Morelli
2005-07-24 16:11         ` David MENTRE
2005-07-25 12:21         ` Damien Doligez
2005-07-25 15:47           ` Richard Jones
2005-07-22  5:18   ` [Caml-list] (Mostly) Functional Design? Marius Nita

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42DBF0BC.30807@cs.utah.edu \
    --to=morelli@cs.utah.edu \
    --cc=caml-list@yquem.inria.fr \
    --cc=consalus@gmail.com \
    --cc=david.mentre@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).