Реализация функционального программирования на Perl - PullRequest
19 голосов
/ 29 октября 2010

Я пытаюсь выучить чистый функциональный язык программирования, такой как Haskell, как и я из Perl, и прочитал, что Perl также может реализовывать методы функционального программирования.Поэтому возникло несколько вопросов:

Стоит ли делать это в Perl 5? Будет ли Perl 6 иметь значение? Кто-нибудь может предложить какой-нибудь код / ​​примеры, реализующие методы функционального программирования на Perl?

Ответы [ 4 ]

47 голосов
/ 29 октября 2010

Чтение Perl высшего порядка . Вы можете купить или бесплатно . Это дает понимание даже опытным программистам Perl.

6 голосов
/ 30 октября 2010

perl6 все еще находится в стадии разработки, поэтому, хотя perl6 значительно улучшил поддержку функционального программирования на уровне языка (см., Например, perlgeek.de о каррировании в perl6 ), вы, вероятно, хочу начать сейчас с perl5, чтобы вы могли приступить к работе с тем, что там есть. я рекомендую заглянуть в cpan для поддержки библиотек более высокого уровня ... Array :: Utils и другие (их много!)

5 голосов
/ 29 октября 2010

Функциональное программирование - это просто программирование, вы можете сделать это на любом языке.Если вам нравится структура API Haskell, вам может понравиться мой модуль Data :: Monad, который предоставляет роли Moose для различных классов типов Haskell, включая Monad.(В отличие от Haskell, в моей монаде нет «сбоя», и все монады являются функторами.)

Вот пример использования различных классов типов в контексте структуры данных, которая обрабатывает успех или неудачу (как Control.Monad.Error):

http://github.com/jrockway/data-monad/blob/master/t/error.t

Обратите внимание, что он имеет возможность преобразовывать обычные вычисления Perl, которые могут завершиться с ошибкой, за исключением чистой процедуры, которую вы можете bindна другие процедуры.Это позволяет «обычному Perl» работать внутри программы, разработанной для обеспечения более функционального потока управления.

0 голосов
/ 05 ноября 2015

Возможно, немного опоздал на вечеринку, но эта маленькая книга - очень хороший пример реализации методов функционального программирования в Perl: http://billhails.net/Book/

Автор строит интерпретатор схемы в Perl 5 с нуля (и кстати, отзывы - чистое золото).

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