CART

(0) items

Real World Haskell : Code You Can Believe In

by ; ;
Edition:
1st
ISBN13:

9780596514983

ISBN10:
0596514980
Format:
Paperback
Pub. Date:
12/5/2008
Publisher(s):
Oreilly & Associates Inc

Questions About This Book?

Why should I rent this book?
Renting is easy, fast, and cheap! Renting from eCampus.com can save you hundreds of dollars compared to the cost of new or used books each semester. At the end of the semester, simply ship the book back to us with a free UPS shipping label! No need to worry about selling it back.
How do rental returns work?
Returning books is as easy as possible. As your rental due date approaches, we will email you several courtesy reminders. When you are ready to return, you can print a free UPS shipping label from our website at any time. Then, just return the book to your UPS driver or any staffed UPS location. You can even use the same box we shipped it in!
What version or edition is this?
This is the 1st edition with a publication date of 12/5/2008.
What is included with this book?
  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any CDs, lab manuals, study guides, etc.
  • The Used copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included.
  • The Rental copy of this book is not guaranteed to include any supplemental materials. You may receive a brand new copy, but typically, only the book itself.

Summary

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.

Author Biography

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.

Don Stewart is an Australian hacker based in Portland, Oregon. Don has been involved in a diverse range of Haskell projects, including practical libraries, such as Data.ByteString and Data.Binary, as well as applying the Haskell philosophy to real-world applications including compilers, linkers, text editors, network servers, and systems software. His recent work has focused on optimizing Haskell for high-performance scenarios, using techniques from term rewriting.

Table of Contents

Dedication
Preface
Have We Got a Deal for You!
What to Expect from This Book
What to Expect from Haskell
A Brief Sketch of Haskell's History
Helpful Resources
Conventions Used in This Book
Using Code Examples
Safari(r) Books Online
How to Contact Us
Acknowledgments
Getting Started
Your Haskell Environment
Getting Started with ghci, the Interpreter
Basic Interaction: Using ghci as a Calculator
Command-Line Editing in ghci
Lists
Strings and Characters
First Steps with Types
A Simple Program
Types and Functions
Why Care About Types?
Haskell's Type System
What to Expect from the Type System
Some Common Basic Types
Function Application
Useful Composite Data Types: Lists and Tuples
Functions over Lists and Tuples
Function Types and Purity
Haskell Source Files, and Writing Simple Functions
Understanding Evaluation by Example
Polymorphism in Haskell
The Type of a Function of More Than One Argument
Why the Fuss over Purity?
Conclusion
Defining Types, Streamlining Functions
Defining a New Data Type
Type Synonyms
Algebraic Data Types
Pattern Matching
Record Syntax
Parameterized Types
Recursive Types
Reporting Errors
Introducing Local Variables
The Offside Rule and Whitespace in an Expression
The case Expression
Common Beginner Mistakes with Patterns
Conditional Evaluation with Guards
Functional Programming
Thinking in Haskell
A Simple Command-Line Framework
Warming Up: Portably Splitting Lines of Text
Infix Functions
Working with Lists
How to Think About Loops
Anonymous (lambda) Functions
Partial Function Application and Currying
As-patterns
Code Reuse Through Composition
Tips for Writing Readable Code
Space Leaks and Strict Evaluation
Writing a Library: Working with JSON Data
A Whirlwind Tour of JSON
Representing JSON Data in Haskell
The Anatomy of a Haskell Module
Compiling Haskell Source
Generating a Haskell Program and Importing Modules
Printing JSON Data
Type Inference Is a Double-Edged Sword
A More General Look at Rendering
Developing Haskell Code Without Going Nuts
Pretty Printing a String
Arrays and Objects, and the Module Header
Table of Contents provided by Publisher. All Rights Reserved.


Please wait while the item is added to your cart...