document: FC + + : Functional tools for object-oriented tasks FC + + is a library for programming functionally in C++ . Compared to other C++ functional programming libraries , FC + + is distinguished by its powerful type system which allows the manipulation of parametrically polymorphic functions -LRB- e.g. , passing them as arguments to other functions and returning them as results -RRB- . In this paper , we show how FC + + can be used in common object-oriented programming tasks . We demonstrate FC + + implementations of several common design patterns -LRB- Adapter , Builder , Command , and more -RRB- . Compared to conventional C++ implementations of these patterns , our implementations are either simpler -LRB- in that fewer classes/dependencies are needed -RRB- , more efficient , or more type-safe -LRB- thanks to parametric polymorphism and type inference -RRB-
doc_bio_tags: O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O