Изменения

Перейти к: навигация, поиск

Функциональное программирование

4 байта добавлено, 22:58, 4 мая 2015
м
zippers and functions differentiation
== zippers and functions differentiation ==
Для каждой структуры данных (datatype'а) в Haskell можно составить соответствующий ей zipper: это другая структура данных, которая позволяет "гулять" по нашей структуре, беря взяв в фокус текущий элемент, и запоминая при этом остальное состание состояние структуры данных (или контекст). Для списка легко придумывается zipper: мы находимся на какой-то позиции в списке, знаем значение элемента на этой позиции, знаем часть списка слева от текущего элемента и справа (для более глубокого понимания читай LearnYourHaskell). Поэтому zipper для листа имеет следующий вид:
<code>

Навигация