Всем привет. Почитываю на досуге как дополнение к "Real World Haskell" книгу Душкин Р.В. "Справочник по языку Haskell". Имею вопрос по замыканиям. Несколько цитат: "Замыкания или локальные определения - один из механизмов ФП, который предназначен для оптимизации определения функций", "Из-за детерминизма, свойственного ФП, значение локальных определений выч-ся один раз, и оно не может быть изменено в рамках текущего выч. процесса. Это свойство и используется для оптимизации, посколько локальным определением можно обозвать нечто в теле функции, что выч-ся несколько раз. Так как в любом случае при вычислениях будут получены одинаковые рез-ты, локальное определение позволяет выполнить вычисления единожды". В качестве подтверждения приводится пример стандартной ф-ии lines: lines "" = [] lines s = let (l, s') = break ('\n' ==) s in l : case s' of [] -> [] (_:s'') -> lines s'' Мне непонятно, что именно здесь может быть вычислено единожды и что понимается под "вычислительным процессом", ведь каждый раз аргументы у lines меняются. Помогите привести сознание в порядок. Спасибо заранее. :)
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от cathode
Ответ на:
комментарий
от Miguel
Ответ на:
комментарий
от cathode
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от Bohtvaroh
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от cathode
Ответ на:
комментарий
от dilmah
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Замыкание и haskell. (2009)
- Форум Замыкания в Haskell и Scheme (2013)
- Форум Haskell дизайн языка (2009)
- Форум Книги по языку Haskell (2012)
- Форум справочник (2009)
- Форум когда добавили замыкания в язык X? (2018)
- Новости Языку Haskell исполнился 21 год (2011)
- Форум Замыкание как аргумент другого замыкания (2018)
- Форум питон замыкания (2015)
- Форум C++, замыкания (2019)