It has been quite some time now that RWH came out ( almost 3 years ). I was eager to get my copy after following the incremental writing of the book online (which is, I think, one of the best ways to write a book.) What a rewarding read in the midst of all the rather academic papers a haskell student usually encounters!
It was a sturdy companion on quite some trips and I refer back to it regularly. Still, my copy started to look pretty battered and even though most of the content is still valid, there has been an abundance of new topics in the haskell world that would be worth covering in a similar fashion.
Considering the impact RWH had (and still has,) I sincerely hope that there will be a sequel some day :) Some of the topics for a sequel that would immediately come to my mind:
Iteratees more on concurrent programming in haskell merits and dangers of lazy evaluation possibly covering some common libraries that deal with this in particular lazy io new ghc features (eg the new I/O Manager, LLVM code generator) Memoization .. What are the topics that the haskell community needs a RWH-style explanation for?
this is a summary of the suggestions so far:
Concepts
Iteratees / lazy IO Arrows ghc event manager Techniques
generics (uniplate, syb) metaprogramming (Template Haskell) data structures (use of functional datastructures, designing data structures) EDSLs (designing EDSLs) memoization designing with monads best practices for imperative programming Tools
ThreadScope Advanced FFI tools (c2hs, using Haskell from C) cabal haddock hoogle Tuning the runtime, esp. GC flags Djinn Libraries
arrays and array programming (vector, repa, hmatrix) numerics (random numbers) parallel programming (The Par monad) unicode and locales (text, text-icu) parsing (attoparsec, tagsoup) networking (snap, yesod) web stuff (templating) persistance (especially no-sql storage bindings) graphics (cairo, sdl, opengl) xml (haxml) crypto processors and systems stuff
Here's my take, biased towards the ecosystem.
Libraries
arrays and array programming: vector
repa
hmatrix
numerics random numbers parallel programming The Par
monad unicode and locales text
and text-icu
parsing attoparsec
tagsoup
networking snap
and/or yesod
web stuff templating persistance databases beyond hdbc
no-sql storage bindings graphics cairo
sdl
opengl
xml haxml
crypto processors and systems stuff Techniques
generics uniplate
syb
metaprogramming Template Haskell data structures designing data structures EDSLs designing EDSLs memoization designing with monads Tools
ThreadScope
Advanced FFI tools c2hs
using Haskell from C Tuning the runtime, esp. GC flags
I would love to see:
Cabal & Hoogle & Haddock (best practices for the daily code
- build
- test
- deploy
workflow) Available datastructures and their (real world) usage, performance and space characteristics Data Visualization Best practices for imperative programming Yesod & Snap More on Database Connectivity (SQL and NoSQL) More on Network Programming The "More on..." might be better placed in a "Haskell Cookbook" though.
These are less "real worldy", but I'd like to see helpful introductions (and possible Real World applications?) to
Djinn Template Haskell Arrows
链接地址:
http://www.djcxy.com/p/7428.html
上一篇:
何时使用Haskell monad
下一篇:
什么Haskell主题需要在Real中解决