See FunctionalProgrammingInCpp and TemplateMetaprogramming Also see the FACT project http://www.fz-juelich.de/zam/FACT/ ---- CategoryFunctionalProgramming