𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Practical Concurrent Haskell: With Big Data Applications

✍ Scribed by Stefania Loredana Nita; Marius Mihailescu


Publisher
Apress
Year
2017
Tongue
English
Leaves
269
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Learn to use the APIs and frameworks for parallel and concurrent applications in Haskell. This book will show you how to exploit multicore processors with the help of parallelism in order to increase the performance of your applications.
Practical Concurrent Haskell teaches you how concurrency enables you to write programs using threads for multiple interactions. After accomplishing this, you will be ready to make your move into application development and portability with applications in cloud computing and big data. You'll use MapReduce and other, similar big data tools as part of your Haskell big data applications development.
What You'll Learn
Program with Haskell


Harness concurrency to Haskell


Apply Haskell to big data and cloud computing applications


Use Haskell concurrency design patterns in big data


Accomplish iterative data processing on big data using Haskell


Use MapReduce and work with Haskell on large clusters

Who This Book Is For
Those with at least some prior experience with Haskell and some prior experience with big data in another programming language such as Java, C#, Python, or C++.

✦ Table of Contents


Brief Contents
Contents
--- Haskell Foundations
Introduction
What Is Haskell?
A Little Bit of Haskell History
The Cloud and Haskell
Book Structure
Summary
Programming with Haskell
Functional vs. Object-Oriented Programming
Language Basics
Types
Input/Output (IO) Mechanisms
Modules
Advanced Types
Monads
Other Advanced Techniques
Summary
Parallelism & Concurrency
Annotating the Code for Parallelism
Parallelism for Dataflow
Concurrent Servers for a Network
Threads for Parallel Programming
Threads and MVars
Distributed Programming
Eval Monad for Parallelism
Summary
Strategies in Evaluation Process
Redexes and Lazy Evaluation
Parallel Strategies in Haskell
Summary
Exceptions
Errors
Exceptions
Summary
Cancellation
Asynchronous Exceptions
Using Asynchronous Exceptions with mask
Extending the bracket Function
Writing Safe Channels Using Asynchronous Exceptions
timeout Variants
Catching Asynchronous Exceptions
mask and forkIO Operations
Summary
Transactional Memory Case Studies
Transactions
Software Transactional Memory in Haskell
Summary
Debugging Techniques in Big Data
Data Science
Big Data
Haskell vs. Data Science
Debugging Tehniques
Summary
--- Big Data & Cloud Computing
Haskell in the Cloud
Processes and Messages
Matching Without Blocking
Messages Within Channels
Summary
Haskell in Big Data
More About Big Data
MapReduce in Haskell
Summary
Concurrency Design Patterns
Active Object
Balking Pattern
Barrier
Disruptor
Double-Checked Locking
Guarded Suspension
Monitor Object
Reactor Pattern
Scheduler Pattern
Thread Pool Pattern
Summary
Large-Scale Design
The Type System
Purity
Monads for Structuring
Type Classes and Existential Types
Concurrency and Parallelism
Use of FFI
The Profiler
Refactor
Summary
Shared Memory Approach for Hadoop Streaming Performance
Hadoop
Hadoop Streaming
An Improved Streaming Model
Hadoop Streaming in Haskell
Summary
Interactive Debugger for Development & Portability Applications based on Big Data
Approaches to Run-Time Type Reconstruction
Run-Time Type Inference
RTTI and New Types
Termination and Efficiency
Practical Concerns
Implementation in Haskell
Summary
Iterative Data Processing on Big Data
Programming Model
Loop-Aware Task Scheduling
Inter-Iteration Locality
Experimental Tests and Implementation
Summary
MapReduce
Incremental and Iterative Techniques
Iterative Computation in MapReduce
Incremental Iterative Processing on MRBGraph
Summary
Big Data & Large Clusters
Programming Model
Master Data Structures
Fault Tolerance
Locality
Task Granularity
Backup Tasks
Partitioning Function
Implementation of Data Processing Techniques
Summary
Biblio
Index

✦ Subjects


functional programming, data science, data analysis, analysis, science, data


πŸ“œ SIMILAR VOLUMES


Practical concurrent Haskell : with big
✍ Mihailescu, Marius; Nita, Stefania Lorna πŸ“‚ Library πŸ“… 2017 πŸ› Apress 🌐 English

<p>Learn to use the APIs and frameworks for parallel and concurrent applications in Haskell. This book will show you how to exploit multicore processors with the help of parallelism in order to increase the performance of your applications. <br/><i>Practical Concurrent Haskell</i> teaches you how co

The Trouble With Big Data: How Dataficat
✍ Jennifer Edmond, Nicola Horsley, JΓΆrg Lehmann, Mike Priddy πŸ“‚ Library πŸ“… 2022 πŸ› Bloomsbury Publishing 🌐 English

This book explores the challenges society faces with big data, through the lens of culture rather than social, political or economic trends, as demonstrated in the words we use, the values that underpin our interactions, and the biases and assumptions that drive us. Focusing on areas such as data an

The Trouble With Big Data: How Dataficat
✍ Jennifer Edmond, Nicola Horsley, JΓΆrg Lehmann, Mike Priddy πŸ“‚ Library πŸ“… 2022 πŸ› Bloomsbury Publishing 🌐 English

This book explores the challenges society faces with big data, through the lens of culture rather than social, political or economic trends, as demonstrated in the words we use, the values that underpin our interactions, and the biases and assumptions that drive us. Focusing on areas such as data an

The Trouble With Big Data: How Dataficat
✍ Jennifer Edmond; Nicola Horsley; JΓΆrg Lehmann; Mike Priddy πŸ“‚ Library πŸ“… 2022 πŸ› Bloomsbury Academic 🌐 English

This book is available as open access through the Bloomsbury Open programme and is available on www.bloomsburycollections.com. Β It is funded by Trinity College Dublin, DARIAH-EU and the European Commission. This book explores the challenges society faces with big data, through the lens of culture ra