
Hello haskell-cafe, first, i should say that i'm real-world programmer with 15 years experience. and my experience taught me that programming language in first place should allow to express complex algorithms easily, factor out any code patterns, and facilitate development of error-proof programs. from several tens of languages that i know, Haskell is best in these areas and therefore i think that it is the best language for professional program development i've written several medium-sized apps and libs in Haskell so i somewhat know how to write real-world programs here, and have written a few pages that may help other haskellers to grok tricky parts of Haskell the note on lambdadot mentioned here don't contain anything new for us - the problems are the same as for any other not-so-popular language. there is even Wadler's paper "Why Haskell will NOT become popular" which said exactly the same: while language itself is great, we lack in areas of libraries, tools/IDEs, and information support (teaching, books, training...); i call all these things "infrastructure". Moreover, for any other language not in "top 5" list, you will found just the same problems Is this means that developers of C# and Java are only smart guys and all other are suckers? No, it's just chicken-and-egg problem - development of rich infrastructure needs large number of developers and gathering large number of interesting developers needs rich infrastructure. the only thing we cam do now is to find "critical points", where small improvements may give significant overall changes and address these problems one of such points may be the book for commercial programmers that will show them how their real programs can be written Haskell and convince them that Haskell really cuts off development cycle and increase software reliability a few pages that i already wrote may be considered as precursors of such book and i will be glad to take part in this work but only if this book will be online-available. not everyone prefers (or even can) order the paper book. it should be allowed to translate book to other languages too next question - how this book should be organized. i think that it should contain two parts: first, we should look which concepts are already described in YAHT and other introductory books, and cover all remaining concepts that will be required for professional programming. second part will describe process of development real program(s) which use all above-mentioned concepts. we can even start with second part just to find which concepts will be required in first part. of course, first part should also contain small examples for each described detail, because it's better one time to look rather than 100 times to hear my a few pages: http://haskell.org/haskellwiki/Modern_array_libraries http://haskell.org/haskellwiki/OOP_vs_type_classes http://haskell.org/haskellwiki/IO_inside http://www.haskell.org/bz/th3.htm -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com