Введение или простые примеры для итераторов?
Вопрос
Я считаю, что с документацией Олега по Iteratee разобраться довольно сложно.Тем более, что некоторые функции в его сообщениях в Haskell-Cafe отсутствуют в итеративной библиотеке (например, enum_file
).
Есть ли где-нибудь хорошее введение в iteratee, что-то, что описывает основы, такие как открытие файла/сокета, чтение и обработка данных.
Решение
Насколько я знаю, хорошего вступления пока нет.Я выучил их, переписав код Олега.Так что это, безусловно, будет один путь:реализовать уровень ввода-вывода на основе левого сгиба.
Другие советы
Хорошая статья об Iteratees недавно была опубликована в Monad Reader:
http://themonadreader.wordpress.com/2010/05/12/issue-16
В этой статье приведено множество примеров и альтернативных реализаций, сложность которых по мере продвижения увеличивается.
У меня есть несколько слайдов по моноидальному синтаксическому анализу, которые создают потоки Parsec на основе Iteratee в качестве промежуточного результата, который может оказаться вам полезным.
Для счетчик package (который включает в себя итератор) приведен пример того, как ИСПОЛЬЗОВАТЬ реализацию, вместо того, чтобы показывать, как можно переопределить пакет.Здесь показана альтернативная реализация команды find unix, как описано в разделе Книга о реальном мире Haskell (раздел 9).
http://www.mew.org/~kazu/proj/enumerator/
Вероятно, вы также могли бы использовать его в качестве отправной точки для использования других реализаций.