Browse thread
[Caml-list] composing functions...
- Jonathan Roewen
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2005-12-01 (00:55) |
From: | Jonathan Roewen <jonathan.roewen@g...> |
Subject: | [Caml-list] composing functions... |
Hi, I'm getting a bit stuck, and am wondering if there's anyway to compose a bunch of functions together easily without having to pre-maturely apply any of them. My current idea is trying to use objects, like: class virtual ['a] composable = object (self) method compose a b = self#apply a @ b method virtual apply : 'a -> int list end;; class c1 = object inherit ['a] composable method apply (a,b,c) -> [a;b;int_of_char c] end;; class c2 = object inherit ['a] composable method apply a -> [a] end;; let o1 = new c1 and o2 = new c2;; I can do something like let f a1 a2 = o1#compose a1 (o2#compose a2 []);; and get a list back... But what I'm wondering is if it's possible to make a generic compose function that takes say a list of either classes or object instances, and return a new function that I can apply the bunch of tuples to. Theory: let f = compose [o1;o2];; f a1 a2;; maybe it's not worth the hassle (if it's even possible). Jonathan