Мохнатые уроды и моральные пёзды. Войти !bnw Сегодня Клубы
Читаю Сейджвика @ он пишет - "во многих языках итераторы добавлены как очень важная first-class парадигма" @ у меня бомбит от осознания что в хачкелле эта хуйня работает без специльного синтаксиса и говна @ пукан остывает, остается ощущение высоких абстракций и не обдумывание узконаправленного говна
#O0L1X3 / @grouzen / 3457 дней назад

это в каких?
#O0L1X3/4YV / @lexszero / 3457 дней назад
хуячкель настолько стройный, что там даже монады являются ебаной неведомой хуйней, вшитой в цомпилятор
#O0L1X3/UL9 / @komar / 3457 дней назад
А где в хаскеле итераторы?
#O0L1X3/TT9 / @ndtimofeev / 3457 дней назад
@komar Ты про монады или про do-нотацию?
#O0L1X3/3W6 / @ndtimofeev --> #O0L1X3/UL9 / 3457 дней назад
Читаю Славика @ он пишет - "рекомендую транквилизаторы" @ у меня бомбит от осознания того, что я торможу без специальных препаратов @ пукан остывает, остается чистое сознание, я - лишь одно из восприятий глобального сознания, которое воспринимает себя субъективно
#O0L1X3/5BG / @krkm / 3457 дней назад
@ndtimofeev Возьми хотя бы fmap любой структуры данных.
#O0L1X3/MEW / @grouzen --> #O0L1X3/TT9 / 3457 дней назад
@grouzen итераторы - это скорей Traversable, т.е. traverse, а не fmap
#O0L1X3/QIX / @jtootf --> #O0L1X3/MEW / 3451 день назад
@jtootf А-а-а, говорящий жтутф!
#O0L1X3/F6U / @komar --> #O0L1X3/QIX / 3451 день назад

@ndtimofeev Интерфейс ленивого списка изоморфен (имеет идентичную структуру) интерфейсам итераторов. // с точностью до языковых особенностей конкретного итератора; то есть если It1 бросает исключение StopIteration в-тех-же-и-только-тех ситуациях, где It2 возвращает False на .hasNext() -- то It1 и It2 не рассматриваются как разные интерфейсы.

Контракт следующий. Консьюмер итератора it :: [V] запрашивает следующий итем x :: V путем патерн-матчинга по it. В ответ на это its продюсер вычисляет факт наличия следующего итема и в положительном сценарии сам итем x :: V либо рецепт его вычисления (зависимо от ленивости V). Консьюмер получает факт наличия/отсутствия следующего итема как уже данное предположение в case-альтернативах. Значение Nil означает конец итерации. Значение Cons дает следующий итем x :: V и новое значение итератора it' :: [V].


Звучит тривиально и по-капитански, ровно потому что это изоморфизм. Интерфейс ленивого списка и интерфейс Итератор идентичны по своей структуре.

#O0L1X3/8DS / @ulidtko --> #O0L1X3/TT9 / 3386 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.