Корисні посилання

Історія змін та подяки

Автор хотів би подякувати наступним людям за пропозиції, виправлення та допомогу з різними чернетками цієї статті: Іану Бікінгу (Ian Bicking), Ніку Коглану (Nick Coghlan), Ніку Еффорду (Nick Efford), Реймонду Хеттінгеру (Raymond Hettinger), Джиму Джуветту (Jim Jewett), Майку Крелю (Mike Krell), Леандро Ламейро (Leandro Lameiro), Юссі Сальмелі (Jussi Salmela), Колліну Вінтеру (Collin Winter), Блейку Вінтону (Blake Winton).

Версія 0.1: опублікована 30 червня 2006.

Версія 0.11: опублікована 1 липня 2006. Виправлення друкарських помилок.

Версія 0.2: опублікована 10 липня 2006. Об'єднано розділи genexp та listcomp в один. Виправлення друкарських помилок.

Версія 0.21: Додано більше посилань, запропонованих на листі розсилки tutor.

Версія 0.30: Додано розділ про модуль functional, написаний Колліном Вінтером (Collin Winter); додано короткий розділ про модуль operator; кілька інших правок.

Посилання

Загальні

Структура та інтерпретація комп'ютерних програм, Гарольд Абельсон (Harold Abelson) і Джеральд Джей Сассман (Gerald Jay Sussman) з Джулі Сассман (ulie Sussman). Книгу можна знайти на https://mitpress.mit.edu/sicp. У цьому класичному підручнику з комп'ютерних наук розділи 2 і 3 обговорюють використання послідовностей і потоків для організації потоку даних у програмі. Книга використовує Scheme для своїх прикладів, але багато з підходів до дизайну, описаних у цих розділах, застосовні до функціонального стилю коду Python.

https://www.defmacro.org/ramblings/fp.html: Загальний вступ до функціонального програмування, який використовує приклади на Java і має довгий історичний вступ.

https://en.wikipedia.org/wiki/Functional_programming: Загальна стаття у Вікіпедії, що описує функціональне програмування.

https://en.wikipedia.org/wiki/Coroutine: Стаття про корутини.

https://en.wikipedia.org/wiki/Partial_application: Стаття про концепцію часткового застосування функцій.

https://en.wikipedia.org/wiki/Currying: Стаття про концепцію каррінгу.

Специфічно для Python

https://gnosis.cx/TPiP/: Перший розділ книги Девіда Мерца (David Mertz) "Обробка тексту в Python"]" обговорює функціональне програмування для обробки тексту в розділі під назвою "Використання функцій вищого порядку в обробці тексту".

Мерц також написав серію з 3 частин статей про функціональне програмування для сайту IBM DeveloperWorks; дивіться частину 1, частину 2, і частину 3,

Документація Python

Документація для модуля itertools.

Документація для модуля functools.

Документація для модуля operator.

PEP 289: "Вирази генераторів"

PEP 342: "Корутини через розширені генератори" описує нові можливості генераторів у Python 2.5.

Текст на цієй сторінці є перекладом "Functional Programming HOWTO", автор: A. M. Kuchling. Інформація про копірайт: History and License.