From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 7C136BCAE for ; Mon, 18 Jul 2005 09:59:32 +0200 (CEST) Received: from rwcrmhc12.comcast.net (rwcrmhc12.comcast.net [216.148.227.85]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6I7xVWT020033 for ; Mon, 18 Jul 2005 09:59:32 +0200 Received: from [192.168.1.4] (c-24-10-253-157.hsd1.ut.comcast.net[24.10.253.157]) by comcast.net (rwcrmhc12) with ESMTP id <2005071807593001400326sae>; Mon, 18 Jul 2005 07:59:30 +0000 Message-ID: <42DB6161.4030507@cs.utah.edu> Date: Mon, 18 Jul 2005 01:59:29 -0600 From: Robert Morelli User-Agent: Mozilla Thunderbird 1.0 (X11/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Kyle Consalus Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] (Mostly) Functional Design? References: <9cc3782b05071411004b27b6a4@mail.gmail.com> In-Reply-To: <9cc3782b05071411004b27b6a4@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 42DB6163.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; morelli:01 morelli:01 caml-list:01 ocaml:01 ocaml:01 conspiracy:98 giants:98 wrote:01 ideally:01 suited:01 consequence:02 match:02 functional:02 functional:02 consensus:02 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: I've been lurking on this list for several years. This seems as good a time as any to delurk and jump on a soap box. I think you've put your finger on one of the main reasons functional languages have failed to attract significant use beyond a few niche areas. I contend: 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. 2. There isn't much of a theory of large scale functional design. At least, there is no consensus. 3. Point 2. is not the consequence of point 1.; it's not simply a matter of communication, but an instrinsic void in the FP paradigm. The FP paradigm is intrinsically poorly adapted to the kind of large scale design concepts that concern most programmers. Object oriented programming is a much better match, not because of a conspiracy of commercial giants in the software tool business, but because of intrinsic technical reasons. Functional programming is a niche technology ideally suited to simple domains like language tools and formal methods. It does not have much to say about complicated systems. Kyle Consalus wrote: > There are a wealth of resources related to object oriented design techniques > (which can certainly be applied to OCaml), but I've been pretty much unable > to find any good resources on large scale design of functional programs. > I realize that this is the sort of thing that develops over time with > experience. > Just the same, there is (most likely) a lot to learn and consider, and a > resource would be helpful. My recent uses of OCaml for fairly small projects > have been effective, but a lot of things were cumbersome in the design > and I suspect that I may be thinking about it wrong. > So, could anyone suggest a good resource or perhaps weigh > in on their thoughts on the topic? > > Thanks, > > Kyle