caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: padiolea@irisa.fr
To: "Robert Morelli" <morelli@cs.utah.edu>
Cc: "Kyle Consalus" <consalus@gmail.com>, caml-list@yquem.inria.fr
Subject: Re: [Caml-list] (Mostly) Functional Design?
Date: Mon, 18 Jul 2005 20:23:25 +0200 (CEST)	[thread overview]
Message-ID: <1195.82.233.141.201.1121711005.squirrel@mail.irisa.fr> (raw)
In-Reply-To: <42DB6161.4030507@cs.utah.edu>

> 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

what are large scale issues ?

> inept at practical documentation and advocacy.
>    2.  There isn't much of a theory of large scale functional design.

Because there is a theory of large scale design in OO world ?
I mean can we call drawing rectangles and lines a theory ?


> 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.

Can you be more specific ?

> 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.

So what are those intrinsical technical reasons ?


> Functional programming is a niche
> technology ideally suited to simple domains like language tools and
> formal methods.

Do you really think that langage tools and formal methods are
"simple domains" ?


> It does not have much to say about complicated
> systems.

You mean overcomplicated system I guess.


I like some of the ideas that the oo community brings to the world.
I like objects, I think inheritance/subtyping are cool,
I like late binding. I just think they are overrated.
IMHO higher order functions, parametric polymorphism, pattern matching,
garbage collection, ... are equally important features.

In fact, in the OO world, many "design patterns" have direct
translation in fp construct, and in fact just imitates what
functionnal programmers have done for years.
For instance the strategy pattern is just an example of use of
higher order functions. Peter norvig have a talk on his webpage
where he says that 21 of the design patterns have
a direct translation in dylan.
Nevertheless, again, I like the fact that the oo community
brings to the world the idea of design patterns, of a catalogue.
In fact, there is now some design functionnal patterns (have
a look at the haskell wiki).

That said, I have read analysis books, I had a look at UML,
and I never saw anything useful in those books. Those books
are verbose, very long, and boring.



>
>
> 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
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>



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

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-14 18:00 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     ` Large scale and FP Robert Morelli
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 [this message]
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=1195.82.233.141.201.1121711005.squirrel@mail.irisa.fr \
    --to=padiolea@irisa.fr \
    --cc=caml-list@yquem.inria.fr \
    --cc=consalus@gmail.com \
    --cc=morelli@cs.utah.edu \
    /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).