Какие темы haskell нужно решать в стиле Real-World-Haskell?
Прошло довольно много времени, когда вышел RWH (почти 3 года). Я очень хотел получить свою копию после последовательного написания книги в Интернете (что, я думаю, является одним из лучших способов написать книгу.) Какая награда читается посреди всех довольно академических работ студента-ученика обычно сталкивается!
Это был крепкий компаньон в некоторых поездках, и я регулярно возвращаюсь к нему.
Тем не менее, моя копия начала выглядеть довольно потрепанной, и хотя большая часть контента все еще действительна, в мире haskell было множество новых тем, которые можно было бы покрыть аналогичным образом.
![my battered copy of rwh]()
Учитывая влияние RWH (и все еще есть), я искренне надеюсь, что когда-нибудь будет сиквел:)
Некоторые из тем для сиквела, которые сразу придут мне в голову:
- Iteratees
- подробнее о параллельном программировании в haskell
- достоинства и опасности ленивой оценки
- возможно, охватывающий некоторые общие библиотеки, которые занимаются этим
- в частности lazy io
- новые функции ghc (например, новый диспетчер ввода-вывода, генератор кода LLVM)
- запоминание
- ..
Каковы темы, на которые сообществу haskell требуется описание стиля RWH?
это резюме предложений до сих пор:
Основные понятия
- Iteratees/lazy IO
- Стрелки
- диспетчер событий ghc
Методы
- generics (uniplate, syb)
- метапрограммирование (шаблон Haskell)
- структуры данных (использование функциональных структур данных, проектирование структур данных)
- EDSL (проектирование EDSL)
- запоминание
- проектирование с монадами
- лучшие практики для императивного программирования
Инструменты
- ThreadScope
- Расширенные инструменты FFI (c2hs, использование Haskell с C)
- междусобойчик
- пикши
- hoogle
- Настройка времени выполнения, особенно. Флаги GC
- Джинн
Библиотеки
- массивы и программирование массивов (вектор, репа, hmatrix)
- число (случайные числа)
- параллельное программирование (The Par monad)
- Юникод и локали (текст, текст-icu)
- парсинг (attoparsec, tagoup)
- сеть (привязка, дад)
- веб-материал (шаблон)
- persistance (особенно привязки для хранения без sql)
- графика (cairo, sdl, opengl)
- xml (haxml)
- криптографических
- процессоры и системы.
Ответы
Ответ 1
Здесь мой прием, предвзятый к экосистеме.
Библиотеки
- массивы и программирование массивов:
- Числовые
- параллельное программирование
- Юникод и локали
- разборе
- сеть
- веб-материал
- настойчивость
- за пределами
hdbc
- привязки к хранилищу no-sql
- графика
- XML
- криптографических
- процессоры и системы.
Методы
- дженерики
- метапрограммированием
Структуры данных
-
- проектирование структур данных
- EDSLs
- запоминание
- проектирование с монадами
Инструменты
-
ThreadScope
- Расширенные инструменты FFI
-
c2hs
- используя Haskell с C
- Настройка времени выполнения, особенно. Флаги GC
Ответ 2
Мне бы хотелось увидеть:
- Cabal и Hoogle и Haddock (лучшие практики для ежедневного рабочего процесса
code
- build
- test
- deploy
)
- Доступные структуры данных и их использование (реальный мир), характеристики производительности и пространства
- Визуализация данных
- Лучшие практики для императивного программирования
- Yesod и Snap
- Подробнее о подключении к базе данных (SQL и NoSQL)
- Подробнее о сетевом программировании
"Больше на..." может быть лучше помещено в "Книгу Haskell Cookbook".
Ответ 3
Это менее "настоящие мирские", но я хотел бы видеть полезные представления (и возможные приложения Real World?) для
- Джинн
- Шаблон Haskell
- Стрелки
Ответ 4
Я хотел спросить этот тот же самый вопрос! Я бы купил RWH vol2, если в нем есть элементы в списке. Я также хотел бы привести примеры реального мира (в определенном порядке)
Ответ 5
Мне бы хотелось увидеть "подход RWH" к функциональному реактивному программированию - версию RWH это, возможно, охватывающее Ямпу или что-то подобное. Но, может быть, эта тема не совсем "реальна" достаточно (пока)...
Ответ 6
Я недавно недавно был знаком с Haskell и только прочитал несколько глав этой книги и Программирование в Haskell от Graham Hutton
Тем не менее, я должен был бы согласиться с Alexander в том смысле, что мне бы хотелось увидеть "Поваренную книгу Haskell", а также новую более новую версию RWH (As Мне еще предстоит закончить, это не так важно лично для меня!).
Советы и примеры кода для создания дат, генерации случайных чисел и наиболее эффективных кодов для выполнения ключевых алгоритмов (сортировка и т.д.) были бы отличным дополнением к любому такая книга!