This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter.
With this book, you will:
- Understand the differences between procedural and functional programming
- Learn the features of Haskell, and how to use it to develop useful programs
- Interact with filesystems, databases, and network services
- Write solid code with automated tests, code coverage, and error handling
- Harness the power of multicore systems via concurrent and parallel programming
You'll find plenty of hands-on exercises, along with examples of real Haskell programs that you can modify, compile, and run. Whether or not you've used a functional language before, if you want to understand why Haskell is coming into its own as a practical language in so many major organizations, Real World Haskell is the best place to start.
This is the book for software developers who want to learn Haskell and use it to do real work. There are a number of books on Haskell out there, but they're all either textbooks or academic books; the textbooks use Pascal as a language for teaching computer science. There isn't anything out there that shows you how to use Haskell to write software that's actually useful. There's been a significant upsurge of interest in Haskell and other functional programming languages. It's not clear what's driving this interest, but one of the factors may be the importance of concurrent programming and new computer architectures. The book introduces readers to the language, but it's a fairly fast and brief tutorial, rather than a textbook. It pays special attention to real-world issues like I/O, performance, dealing with external data, databases, concurrency, and web applications.
Über den Autor und weitere Mitwirkende
Bryan O'Sullivan is an Irish hacker and writer who likes distributed systems, open source software, and programming languages. He was a member of the initial design team for the Jini network service architecture (subsequently open sourced as Apache River). He has made significant contributions to, and written a book about, the popular Mercurial revision control system. He lives in San Francisco with his wife and sons. Whenever he can, he runs off to climb rocks.John Goerzen is an American hacker and author. He has written a number of real-world Haskell libraries and applications, including the HDBC database interface, the ConfigFile configuration file interface, a podcast downloader, and various other libraries relating to networks, parsing, logging, and POSIX code. John has been a developer for the Debian GNU/Linux operating system project for over 10 years and maintains numerous Haskell libraries and code for Debian. He also served as President of Software in the Public Interest, Inc., the legal parent organization of Debian. John lives in rural Kansas with his wife and son, where he enjoys photography and geocaching.Donald Stewart is an Australian hacker, currently completing his computer science doctorate at the University of New South Wales, Sydney. Don has been involved in a diverse range of Haskell projects, including practical libraries such as Data.ByteString and Data.Binary, as well applying the Haskell philosophy to real world applications, including compilers, linkers, text editors, network servers and systems software. His recent work has focused on optimising Haskell for high-performance scenarios, using techniques from term rewriting. He is the current editor of the Haskell Weekly News.