Здравствуйте, frogkiller, Вы писали:
F>В статье в LinuxJournal приводится оригинальная интерпретация одной из концепций ФП — монад. Но все примеры были на языках, поддерживающих замыкания. В ожидании С++0х со встроенной их поддержкой попробовал переписать примеры "руками". Извиняюсь за обилие кода, меньше не получилось
Если уж тестировать свои руки, то не на Maybe, а сразу на List. У него более затейливые bind и join.
F>Что мне не нравится:
F>1. Приходится постоянно выносить действительное имя класса в качестве шаблонного параметра, чтобы иметь возможность создавать объект нужного класса.
Ну и нормально, тип Maybe ведь параметризован типом элемента.
А вот класс Monad параметризуется шаблоном типа, — это challenge, как на С++ выразить наиболее общо.
... << RSDN@Home 1.2.0 alpha rev. 655>>