Hi, I´m writing a simple expression parser in boost::spirit that can parse a string like "_1 + _2" or "log(_1)" and return a function object that does just that. I used boost::lamda for that and return it as boost::function object. Now I want to parse compositions like "sqrt(_1*_1 + _2*_2)" or "(_1 + _2)*_2" etc. It is easy to parse this of course but I have to create the corresponding function incrementally (in a loop or recursively) and that means I have to keep incremental lambdas until the whole expression has been created. I can not store them as boost::function since they do not work with lambda operator overloading (apart from the fact that it would be too costly). I need a lambda type for these intermediate lambda objects. I guess the auto type specifier would solve this but when will that be available I wonder? The typeof seems to provide a solution though. I was just trying it and it seems to work! Am I on the right track or am I overlooking something? If anyone knows a better solution please tell me! cheers Arnaldur Gylfason