
On Wed, Aug 24, 2011 at 04:35:42PM +0400, dokondr wrote:
Hi, What is the Haskell way to compose functions in run-time? Depending on configuration parameters I need to be able to compose function in several ways without recompilation. When program starts it reads configuration parameters from a text file. For example, I have three functions, f1, f2, f3, each doing some string processing. I need to support two configurations of string processors :
if param1 then sp = f1 . f2 . f3 else sp = f1 . f3
I'd like to avoid 'if' somehow and instead use some declarative way to specify code to run in external configuration file. In other words I need some easy tools to create mini DSLs without all the efforts usually involved with implementing full-blown DSL.
A simple alternative to if would be: options = [ ("foo", f1 . f2 . f3) , ("bar", f1 . f3 )] and then "lookup param options". I don't know if this is what you're looking for, though. regards, iustin