Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Design question: functors or functions?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: james woodyatt <jhw@w...>
Subject: Re: [Caml-list] Design question: functors or functions?
On Tuesday, Jan 14, 2003, at 13:57 US/Pacific, Brian Hurt wrote:
> [...]  The question I have is wether I should instead be
> using a functor.  The reason I haven't is that I find the functor
> interface to be somewhat unwieldy, although maybe I just haven't gotten
> used to it yet. [...]

I have a similar set of functional data structures, e.g. red-black 
tree, skew-binary heap, catenable deque, etc., and I chose to use a 
functor for transforming modules that define a key type and an 
associated comparator function into modules that define the associated 
data structure.

The reason: functions that take more than one instance of the data 
structure often depend on both instances using the same ordering 
function on the key type.  The traditional way to get that is either 
with functors or with classes.  My general philosophy is to prefer the 
lighter weight functors over classes, except when I really need 
inheritance or the easier method invocation syntax is a clear win.


-- 
j h woodyatt <jhw@wetware.com>

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners