Version française
Home     About     Download     Resources     Contact us    
Browse thread
(Mostly) Functional Design?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: alphablock <alphablock@w...>
Subject: Re: [Caml-list] (Mostly) Functional Design?
i love the internet and wise people giving me wise answers :)

- damien

----- Original Message ----- 
From: "Alex Baretta" <alex@barettadeit.com>
To: "alphablock" <alphablock@wanadoo.fr>; "Ocaml" <caml-list@inria.fr>
Sent: Monday, July 18, 2005 5:26 PM
Subject: Re: [Caml-list] (Mostly) Functional Design?


> alphablock wrote:
> > May be there are many less FP solutions than OOP solutions just because
> > there are many less FP problems than OOP problems.
> > 
> > Or may be i am plain naive, who knows...
> > 
> > - damien
> 
> I would not say so. It is just the problems tend to admit a fairly
> simple--although generally not trivial solution. This does not justify a
> large scale attempt to catalog all FP "design patterns" in a single
> book. Let me try to list a few I can readily think of.
> 
> * Indefinite recursion through tail call optimization
> * Systematic elimination of explicit or implicit (recursive) cycles
> whenever an iterator is available. If an iterator is not available for a
> given data structure, it is often advisable to define one.
> * Order preservation of sequential data structures such as lists through
>  the use of an even number of order reversing tail-recursive algorithms.
> * Late-binding of recursive calls
> * Multi-stage programming through partial evaluation
> ...
> 
> These ideas are more general coding strategies requiring a specific
> design from the programmer, rather than parametrized design patterns
> abstracting from the (absence of) cognitive abilities of the programmer.
> 
> 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)
> <http://www.asxcaml.org/>
> 
> The FreerP Project
> <http://www.freerp.org/>
> 
> _______________________________________________
> 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
>