Object Functional Implementation

ObjectFunctionalImplementation belongs both in ObjectFunctionalPatterns and in FunctionalProgramming. Both these topics seem to have been around for a long time without being very much connected together. This can be changed if the ObjectFunctionalPatterns are used to generate implementations in one or more programming languages. This would generate general purpose tools.

Some patterns have already been described, including some example code.

FunctionalPatternSystemForObjectOrientedDesign gives a full set of patterns with some code examples in EiffelLanguage.

In CeePlusPlus there are several resources which can be used to cover parts of the same material

I am currently attempting to build a set of programs in CeePlusPlus to implement the patterns of FunctionalPatternSystemForObjectOrientedDesign. For this I am making a lot of use of FunctoidsInCpp and some use of PromotionTraits.

As part of that I am reimplementing the EiffelLanguage code examples kindly supplied to me by ThomasKuehne, using SmartEiffel.

Things so far tackled in both C++ and Eiffel now include:

I was not previously a user of EiffelLanguage so I am learning that as I go along. The version in SmartEiffel is not the same as the one used by ThomasKuehne for his examples in the book, so his examples need some modification.

-- JohnFletcher

See also ObserverPatternInCeePlusPlus. PatternImplementationDiscussion

What got missed: GenericFunction, GenericFunctionObject which need to be mentioned here. There is some discussion on GenericFunction of implementation. FunctoidsInCpp provides a means of implementation of some of the (parameter variation) in CeePlusPlus, but not of variation on specific values. -- JohnFletcher

See also ScalaLanguage and DeprecatingTheObserverPattern.


CategoryObjectFunctionalPatterns CategoryFunctionalProgramming CategoryEiffel CategoryCpp CategoryMultiparadigm


EditText of this page (last edited October 16, 2010) or FindPage with title or text search