Что такое «цельнозерновой» в функциональном программировании? - PullRequest
15 голосов
/ 05 августа 2011

Кто-нибудь может дать четкое объяснение?Что такое программирование из непросеянной муки в области функционального программирования.Все, что я нашел, это то, что wholemeal - это

, фокусирующийся на целых структурах данных, а не на их элементах

, но как его можно заархивировать?(Примеры кода на таких языках, как Scala или Ocaml очень желательны.)

Ответы [ 2 ]

11 голосов
/ 05 августа 2011

"Функциональные языки превосходят в программировании из непросеянной муки термин, придуманный Жерайнт Джонс. Программирование из непросеянной муки означает мыслить масштабно: работать с весь список, а не последовательность элементов; разработать решение пространство, а не индивидуальное решение; представьте себе график, скорее чем один путь. Цельнозерновой подход часто предлагает новые идеи или дает новые перспективы по данной проблеме. Это красиво дополняется идеей проективного программирования: сначала решить более общая проблема, а затем извлечь интересные кусочки преобразование общей программы в более специализированные. "

Я тоже нашел это

это помогает предотвратить заболевание, называемое «индексит», и способствует законному построение программы (из проекта «Жемчужины функционального алгоритма», Ричард Берд, 2010)

См. Также (http://www.comlab.ox.ac.uk/ralf.hinze/publications/ICFP09.pdf)

5 голосов
/ 05 августа 2011

Я всегда находил решатель Hutton / Bird Sudoku хорошим примером программирования из непросеянной муки: http://www.cs.nott.ac.uk/~gmh/sudoku.lhs

Достаточное количество функциональных жемчужин (как в прекрасной книге Берда, которую цитирует Code Monkey, так и в доступных здесь: http://www.haskell.org/haskellwiki/Research_papers/Functional_pearls), вероятно, также будет поучительным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...