Real World Haskell

Code You Can Believe In

Author: Bryan O'Sullivan,John Goerzen,Donald Bruce Stewart

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596554309

Category: Computers

Page: 714

View: 7617

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.

Real World Haskell

Author: Bryan O'Sullivan

Publisher: Createspace Independent Publishing Platform

ISBN: 9781548919306

Category:

Page: 188

View: 1781

Real World HaskellBy Bryan O'Sullivan

Real World Haskell

Author: Bryan O'Sullivan,Donald Stewart,John Goerzen

Publisher: "O'Reilly Media, Inc."

ISBN: 0596514980

Category: Computers

Page: 670

View: 7206

Provides information on writing scripts and applications using Haskell, covering such topics as I/O performance, concurrency, error handling, and procedural and functional programming.

Learn You a Haskell for Great Good!

A Beginner's Guide

Author: Miran Lipovaca

Publisher: No Starch Press

ISBN: 1593272952

Category: Computers

Page: 400

View: 7148

It's all in the name: Learn You a Haskell for Great Good! is a hilarious, illustrated guide to this complex functional language. Packed with the author's original artwork, pop culture references, and most importantly, useful example code, this book teaches functional fundamentals in a way you never thought possible. You'll start with the kid stuff: basic syntax, recursion, types and type classes. Then once you've got the basics down, the real black belt master-class begins: you'll learn to use applicative functors, monads, zippers, and all the other mythical Haskell constructs you've only read about in storybooks. As you work your way through the author's imaginative (and occasionally insane) examples, you'll learn to: –Laugh in the face of side effects as you wield purely functional programming techniques –Use the magic of Haskell's "laziness" to play with infinite sets of data –Organize your programs by creating your own types, type classes, and modules –Use Haskell's elegant input/output system to share the genius of your programs with the outside world Short of eating the author's brain, you will not find a better way to learn this powerful language than reading Learn You a Haskell for Great Good!

Parallel and Concurrent Programming in Haskell

Techniques for Multicore and Multithreaded Programming

Author: Simon Marlow

Publisher: "O'Reilly Media, Inc."

ISBN: 1449335926

Category: Computers

Page: 322

View: 3157

If you have a working knowledge of Haskell, this hands-on book shows you how to use the language’s many APIs and frameworks for writing both parallel and concurrent programs. You’ll learn how parallelism exploits multicore processors to speed up computation-heavy programs, and how concurrency enables you to write programs with threads for multiple interactions. Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented: Express parallelism in Haskell with the Eval monad and Evaluation Strategies Parallelize ordinary Haskell code with the Par monad Build parallel array-based computations, using the Repa library Use the Accelerate library to run computations directly on the GPU Work with basic interfaces for writing concurrent code Build trees of threads for larger and more complex programs Learn how to build high-speed concurrent network servers Write distributed programs that run on multiple machines in a network

Real World OCaml

Functional Programming for the Masses

Author: Yaron Minsky,Anil Madhavapeddy,Jason Hickey

Publisher: "O'Reilly Media, Inc."

ISBN: 1449324762

Category: Computers

Page: 510

View: 7192

This fast-moving tutorial introduces you to OCaml, an industrial-strength programming language designed for expressiveness, safety, and speed. Through the book’s many examples, you’ll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code. Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system. Learn the foundations of the language, such as higher-order functions, algebraic data types, and modules Explore advanced features such as functors, first-class modules, and objects Leverage Core, a comprehensive general-purpose standard library for OCaml Design effective and reusable libraries, making the most of OCaml’s approach to abstraction and modularity Tackle practical programming problems from command-line parsing to asynchronous network programming Examine profiling and interactive debugging techniques with tools such as GNU gdb

Beginning Haskell

A Project-Based Approach

Author: Alejandro Serrano Mena

Publisher: Apress

ISBN: 1430262516

Category: Computers

Page: 428

View: 9071

Beginning Haskell provides a broad-based introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. The book takes a project-based approach to learning the language that is unified around the building of a web-based storefront. Excellent coverage is given to the Haskell ecosystem and supporting tools. These include the Cabal build tool for managing projects and modules, the HUnit and QuickCheck tools for software testing, the Scotty framework for developing web applications, Persistent and Esqueleto for database access, and also parallel and distributed programming libraries. Functional programming is gathering momentum, allowing programmers to express themselves in a more concise way, reducing boilerplate and increasing the safety of code. Indeed, mainstream languages such as C# and Java are adopting features from functional programming, and from languages implementing that paradigm. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community. This makes Haskell the best tool for both learning and applying functional programming, and Beginning Haskell the perfect book to show off the language and what it can do. Takes you through a series of projects showing the different parts of the language. Provides an overview of the most important libraries and tools in the Haskell ecosystem. Teaches you how to apply functional patterns in real-world scenarios.

Learn Haskell

Author: Will Kurt

Publisher: Manning Publications

ISBN: 9781617293764

Category: Computers

Page: 325

View: 6011

Unlike any other programming language, Haskell is purely functional with a strong type system and lazy evaluation. It is arguable the most interesting language but also has the reputation of being one of the most challenging to learn. Learning Haskell doesn't have to be difficult, and this book can help! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. Learn Haskell teaches readers the Haskell language and functional programming concepts while they hack on interesting problems that are challenging but never frustrating. This example-filled tutorial will take users from the basics to tackling the tough topics. There are lots of crystal-clear illustrations, hands-on exercises, and open-ended tasks that encourage readers to explore Haskell on their own.

Thinking Functionally with Haskell

Author: Richard Bird

Publisher: Cambridge University Press

ISBN: 1107087201

Category: Computers

Page: 350

View: 8837

Introduces fundamental techniques for reasoning mathematically about functional programs. Ideal for a first- or second-year undergraduate course.

Programming in Haskell

Author: Graham Hutton

Publisher: Cambridge University Press

ISBN: 1316626229

Category: Computers

Page: 320

View: 4176

Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, making this book accessible to a broad spectrum of readers. While Part I focuses on basic concepts, Part II introduces the reader to more advanced topics. This new edition has been extensively updated and expanded to include recent and more advanced features of Haskell, new examples and exercises, selected solutions, and freely downloadable lecture slides and example code. The presentation is clean and simple, while also being fully compliant with the latest version of the language, including recent changes concerning applicative, monadic, foldable, and traversable types.

Haskell Design Patterns

Author: Ryan Lemmer

Publisher: Packt Publishing Ltd

ISBN: 1783988738

Category: Computers

Page: 166

View: 626

Take your Haskell and functional programming skills to the next level by exploring new idioms and design patterns About This Book Explore Haskell on a higher level through idioms and patterns Get an in-depth look into the three strongholds of Haskell: higher-order functions, the Type system, and Lazy evaluation Expand your understanding of Haskell and functional programming, one line of executable code at a time Who This Book Is For If you're a Haskell programmer with a firm grasp of the basics and ready to move more deeply into modern idiomatic Haskell programming, then this book is for you. What You Will Learn Understand the relationship between the “Gang of Four” OOP Design Patterns and Haskell Try out three ways of Streaming I/O: imperative, Lazy, and Iteratee based Explore the pervasive pattern of Composition: from function composition through to high-level composition with Lenses Synthesize Functor, Applicative, Arrow and Monad in a single conceptual framework Follow the grand arc of Fold and Map on lists all the way to their culmination in Lenses and Generic Programming Get a taste of Type-level programming in Haskell and how this relates to dependently-typed programming Retrace the evolution, one key language extension at a time, of the Haskell Type and Kind systems Place the elements of modern Haskell in a historical framework In Detail Design patterns and idioms can widen our perspective by showing us where to look, what to look at, and ultimately how to see what we are looking at. At their best, patterns are a shorthand method of communicating better ways to code (writing less, more maintainable, and more efficient code). This book starts with Haskell 98 and through the lens of patterns and idioms investigates the key advances and programming styles that together make "modern Haskell". Your journey begins with the three pillars of Haskell. Then you'll experience the problem with Lazy I/O, together with a solution. You'll also trace the hierarchy formed by Functor, Applicative, Arrow, and Monad. Next you'll explore how Fold and Map are generalized by Foldable and Traversable, which in turn is unified in a broader context by functional Lenses. You'll delve more deeply into the Type system, which will prepare you for an overview of Generic programming. In conclusion you go to the edge of Haskell by investigating the Kind system and how this relates to Dependently-typed programming. Style and approach Using short pieces of executable code, this guide gradually explores the broad pattern landscape of modern Haskell. Ideas are presented in their historical context and arrived at through intuitive derivations, always with a focus on the problems they solve.

Machine Learning for Data Streams

with Practical Examples in MOA

Author: Albert Bifet,Ricard Gavaldà,Geoff Holmes,Bernhard Pfahringer

Publisher: MIT Press

ISBN: 0262346052

Category: Computers

Page: 288

View: 4903

A hands-on approach to tasks and techniques in data stream mining and real-time analytics, with examples in MOA, a popular freely available open-source software framework. Today many information sources—including sensor networks, financial markets, social networks, and healthcare monitoring—are so-called data streams, arriving sequentially and at high speed. Analysis must take place in real time, with partial data and without the capacity to store the entire data set. This book presents algorithms and techniques used in data stream mining and real-time analytics. Taking a hands-on approach, the book demonstrates the techniques using MOA (Massive Online Analysis), a popular, freely available open-source software framework, allowing readers to try out the techniques after reading the explanations. The book first offers a brief introduction to the topic, covering big data mining, basic methodologies for mining data streams, and a simple example of MOA. More detailed discussions follow, with chapters on sketching techniques, change, classification, ensemble methods, regression, clustering, and frequent pattern mining. Most of these chapters include exercises, an MOA-based lab session, or both. Finally, the book discusses the MOA software, covering the MOA graphical user interface, the command line, use of its API, and the development of new methods within MOA. The book will be an essential reference for readers who want to use data stream mining as a tool, researchers in innovation or data stream mining, and programmers who want to create new algorithms for MOA.

Introduction to Functional Programming Systems Using Haskell

Author: Antony J. T. Davie

Publisher: Cambridge University Press

ISBN: 9780521277242

Category: Computers

Page: 290

View: 5023

Here is an introduction to functional programming and its associated systems. A unique feature is its use of the language Haskell for teaching both the rudiments and the finer points of the functional technique. Haskell is a new, internationally agreed and accepted functional language that is designed for teaching, research and applications, that has a complete formal description, that is freely available, and that is based on ideas that have a wide consensus. Thus it encapsulates some of the main thrusts of functional programming itself, which is a style of programming designed to confront the software crisis directly. Programs written in functional languages can be built up from smaller parts, and they can also be proved correct, important when software has to be reliable. Moreover, a certain amount of parallelism can be extracted from functional languages automatically. This book serves as an introduction both to functional programming and Haskell, and will be most useful to students, teachers and researchers in either of these areas. An especially valuable feature are the chapters on programming and implementation, along with a large number of exercises.

Haskell Data Analysis Cookbook

Author: Nishant Shukla

Publisher: Packt Publishing Ltd

ISBN: 1783286342

Category: Computers

Page: 334

View: 6692

Step-by-step recipes filled with practical code samples and engaging examples demonstrate Haskell in practice, and then the concepts behind the code. This book shows functional developers and analysts how to leverage their existing knowledge of Haskell specifically for high-quality data analysis. A good understanding of data sets and functional programming is assumed.

Developing Web Apps with Haskell and Yesod

Safety-Driven Web Development

Author: Michael Snoyman

Publisher: "O'Reilly Media, Inc."

ISBN: 1491915552

Category: Computers

Page: 396

View: 3115

This fast-moving guide introduces web application development with Haskell and Yesod, a potent language/framework combination that supports high-performing applications that are modular, type-safe, and concise. Fully updated for Yesod 1.4, this second edition shows you how Yesod handles widgets, forms, persistence, and RESTful content. Author Michael Snoyman also introduces various Haskell tools to supplement your basic knowledge of the language. By the time you finish this book, you’ll create a production-quality web application with Yesod’s ready-to-use scaffolding. You’ll also examine several real-world examples, including a blog, a wiki, a JSON web service, and a Sphinx search server. Build a simple application to learn Yesod’s foundation datatype and Web Application Interface (WAI) Output HTML, CSS, and Javascript with Shakespearean template languages Get an indepth look at Yesod’s core monads for producing cleaner, more modular code Probe Yesod’s internal workings: learn the request handling process for a typical application Build forms on top of widgets by implementing the yesod-form declarative API Learn how Yesod and Haskell handle persistence and session data Serve an HTML page and a machine-friendly JSON page from the same URL

Haskell Programming from First Principles

Author: Christopher Allen,Julie Moronuki

Publisher: N.A

ISBN: 9781945388033

Category:

Page: N.A

View: 606

Haskell Programming makes Haskell as clear, painless, and practical as it can be, whether you're a beginner or an experienced hacker. Learning Haskell from the ground up is easier and works better. With our exercise-driven approach, you'll build on previous chapters such that by the time you reach the notorious Monad, it'll seem trivial.

Using Type Classes and I.o of Real World Haskell

Author: Eleanor Pritchard

Publisher: Createspace Independent Publishing Platform

ISBN: 9781542739764

Category:

Page: 58

View: 9264

Typeclasses are among the most powerful features in Haskell. They allow us to define generic interfaces that provide a common feature set over a wide variety of types. Typeclasses are at the heart of some basic language features such as equality testing and numeric operators. Before we talk about what exactly typeclasses are, though, we'd like to explain the need for them.

Sockets, Syslog and Software Transactional Memory in Real World Haskell

Author: Rachel Parkin

Publisher: Createspace Independent Publishing Platform

ISBN: 9781542739672

Category:

Page: 30

View: 2858

In several earlier chapters of this book, we discussed services that operate over a network. Two examples are client/server databases and web services. When the need arises to devise a new protocol or to communicate with a protocol that doesn't have an existing helper library in Haskell, you'll need to use the lower-level networking tools in the Haskell library. In this chapter, we will discuss these lower-level tools. Network communication is a broad topic with entire books devoted to it. We will show you how to use Haskell to apply the low-level network knowledge you already have. Haskell's networking functions almost always correspond directly to familiar C function calls. As most other languages also layer on top of C, you should find this interface familiar.

Mercurial: The Definitive Guide

The Definitive Guide

Author: Bryan O'Sullivan

Publisher: "O'Reilly Media, Inc."

ISBN: 9780596555474

Category: Computers

Page: 284

View: 2251

This instructive book takes you step by step through ways to track, merge, and manage both open source and commercial software projects with Mercurial, using Windows, Mac OS X, Linux, Solaris, and other systems. Mercurial is the easiest system to learn when it comes to distributed revision control. And it's a very flexible tool that's ideal whether you're a lone programmer working on a small project, or part of a huge team dealing with thousands of files. Mercurial permits a countless variety of development and collaboration methods, and this book offers several concrete suggestions to get you started. This guide will help you: Learn the basics of working with a repository, changesets, and revisions Merge changes from separate repositories Set up Mercurial to work with files on a daily basis, including which ones to track Get examples and tools for setting up various workflow models Manage a project that's making progress on multiple fronts at once Find and fix mistakes by isolating problem sources Use hooks to perform actions automatically in response to repository events Customize the output of Mercurial Mercurial: The Definitive Guide maintains a strong focus on simplicity to help you learn Mercurial quickly and thoroughly.

Haskell

The Craft of Functional Programming

Author: Simon Thompson

Publisher: Pearson Higher Ed

ISBN: 1292127570

Category: Computers

Page: 608

View: 649

Introducing functional programming in the Haskell language, this book is written for students and programmers with little or no experience. It emphasises the process of crafting programmes, problem solving and avoiding common programming pitfalls. Covering basic functional programming, through abstraction to larger scale programming, students are lead step by step through the basics, before being introduced to more advanced topics. This edition includes new material on testing and domain-specific languages and a variety of new examples and case studies, including simple games. Existing material has been expanded and re-ordered, so that some concepts – such as simple data types and input/output – are presented at an earlier stage.