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 00091BCAE for ; Mon, 18 Jul 2005 11:24:02 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6I9O28u028833 for ; Mon, 18 Jul 2005 11:24:02 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA26919 for ; Mon, 18 Jul 2005 11:24:01 +0200 (MET DST) Received: from alex.barettalocal.com (h213-255-109-130.albacom.net [213.255.109.130] (may be forged)) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j6I9O0lL028826 for ; Mon, 18 Jul 2005 11:24:01 +0200 Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by alex.barettalocal.com (Postfix) with ESMTP id 00CDF2BAA98; Mon, 18 Jul 2005 11:22:37 +0200 (CEST) Message-ID: <42DB74DC.8030201@barettadeit.com> Date: Mon, 18 Jul 2005 11:22:36 +0200 From: Alex Baretta User-Agent: Debian Thunderbird 1.0.2 (X11/20050331) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Robert Morelli , Ocaml Subject: Re: [Caml-list] (Mostly) Functional Design? References: <9cc3782b05071411004b27b6a4@mail.gmail.com> <42DB6161.4030507@cs.utah.edu> In-Reply-To: <42DB6161.4030507@cs.utah.edu> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 42DB7532.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 42DB7530.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; baretta:01 caml-list:01 morelli:01 ocaml's:01 ocaml:01 coherence:01 baretta:01 conspiracy:98 giants:98 wrote:01 ideally:01 suited:01 consequence:02 match:02 functional:02 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.2 X-Spam-Level: Robert Morelli wrote: > 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. Your points are very simply wrong. Functional design addresses the same large-scale design problems that OO tries to address, and, in fact, given cognitive compatibility with the mind of the developere, it offers a productivity at least an order of magnitude greater on very large scale projects (over 100klocs) where the dominant cost factor is code maintenance. Ocaml's functional paradigm greatly stresses a priori correctness via static type-checking, which we take advantage of to achieve static verification of the Embedded SQL queries in our FreerP suite of business applications. It is only thanks to the rich type system in Ocaml that we are able to maintain coherence between a database schema counting hundreds of relations and hundreds of Xcaml server pages containing at least as many embedded SQL queries. Java simply would not scale. Alex -- ********************************************************************* http://www.barettadeit.com/ Baretta DE&IT A division of Baretta SRL tel. +39 02 370 111 55 fax. +39 02 370 111 54 Our technology: The Application System/Xcaml (AS/Xcaml) The FreerP Project