Practical concurrent Haskell : with big data applications /: with big data applications. (2017)
- Record Type:
- Book
- Title:
- Practical concurrent Haskell : with big data applications /: with big data applications. (2017)
- Main Title:
- Practical concurrent Haskell : with big data applications
- Further Information:
- Note: Stefania Loredana Nita, Marius Mihailescu.
- Authors:
- Nita, Stefania Lorna
Mihailescu, Marius - Contents:
- At a Glance; Contents; About the Authors; About the Technical Reviewer; Part I: Haskell Foundations. General Introductory Notions; Chapter 1: Introduction; What Is Haskell?; A Little Bit of Haskell History; The Cloud and Haskell; Book Structure; Summary; Chapter 2: Programming with Haskell; Functional vs. Object-Oriented Programming; Language Basics; Arithmetic; Pairs, Triples, and Much More; Lists; Source Code Files; Functions; if-else; Types; Simple vs. Polymorphic Types; Parametric Polymorphism; Ad hoc Polymorphism; Type Classes; Function Types; Data Types. Input/Output (IO) MechanismsModules; :load/:reload; :module; :import; Operators Used as Sections and Infix; Local Declarations; Partial Application; Pattern Matching; Guards; Instance Declarations; Rules for the Head; Rules for the Context; Rules for Instance Termination; Other Lists; Arrays; Immutable Arrays; Mutable Arrays; Finite Maps; Layout Principles and Rules; xmonad; wxHaskell; The Final Word on Lists; Advanced Types; Monads; Other Advanced Techniques; map, filter, takeWhile; Lambdas; Summary; Chapter 3: Parallelism and Concurrency with Haskell; Annotating the Code for Parallelism. Parallelism for DataflowConcurrent Servers for a Network; Threads for Parallel Programming; Threads and MVars; Distributed Programming; Socket Server; System. IO for Sockets; Concurrency; Communication Between Threads; The Final Code; Running the Server; Eval Monad for Parallelism; Summary; Chapter 4: Strategies Used in theAt a Glance; Contents; About the Authors; About the Technical Reviewer; Part I: Haskell Foundations. General Introductory Notions; Chapter 1: Introduction; What Is Haskell?; A Little Bit of Haskell History; The Cloud and Haskell; Book Structure; Summary; Chapter 2: Programming with Haskell; Functional vs. Object-Oriented Programming; Language Basics; Arithmetic; Pairs, Triples, and Much More; Lists; Source Code Files; Functions; if-else; Types; Simple vs. Polymorphic Types; Parametric Polymorphism; Ad hoc Polymorphism; Type Classes; Function Types; Data Types. Input/Output (IO) MechanismsModules; :load/:reload; :module; :import; Operators Used as Sections and Infix; Local Declarations; Partial Application; Pattern Matching; Guards; Instance Declarations; Rules for the Head; Rules for the Context; Rules for Instance Termination; Other Lists; Arrays; Immutable Arrays; Mutable Arrays; Finite Maps; Layout Principles and Rules; xmonad; wxHaskell; The Final Word on Lists; Advanced Types; Monads; Other Advanced Techniques; map, filter, takeWhile; Lambdas; Summary; Chapter 3: Parallelism and Concurrency with Haskell; Annotating the Code for Parallelism. Parallelism for DataflowConcurrent Servers for a Network; Threads for Parallel Programming; Threads and MVars; Distributed Programming; Socket Server; System. IO for Sockets; Concurrency; Communication Between Threads; The Final Code; Running the Server; Eval Monad for Parallelism; Summary; Chapter 4: Strategies Used in the Evaluation Process; Redexes and Lazy Evaluation; Parallel Strategies in Haskell; Scan Family; Skeletons; Summary; Chapter 5: Exceptions; Errors; Using the error Function; Maybe; Either; Exceptions; Lazy Evaluation and Exceptions; The handle Function; Input/Output Exceptions. The throw FunctionDynamic Exceptions; Summary; Chapter 6: 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; Chapter 7: Transactional Memory Case Studies; Transactions; Introducing Transactional Memory; Software Transactional Memory; Software Transactional Memory in Haskell; A Bank Account Example; Transactional Memory Version; Blocking and Choice; Summary. Chapter 8: Debugging Techniques Used in Big DataData Science; Big Data; Characteristics; Tools; Storage and Management; Cleaning; Data Mining; Languages; Haskell for Big Data; hspark; Hadron; Cloud Haskell; ZeroMQ; The Krapsh Library; The Developer's Perspective; The User's Perspective; Haskell vs. Data Science; Debugging Tehniques; Stack Trace; Printf and Friends; The Safe Library; Offline Analysis of Traces; Haskell Tracer HAT; Hoed: The Lightweight Haskell Tracer and Debugger; Dynamic Breakpoints in GHCi; Source-Located Errors; Other Tricks; Locating a Failure in a Library Function. … (more)
- Publisher Details:
- United States : Apress
- Publication Date:
- 2017
- Copyright Date:
- 2017
- Extent:
- 1 online resource
- Subjects:
- 005.13/3
004
Computer science
Haskell (Computer program language)
Big data
Cloud computing
COMPUTERS -- Programming -- General
Big data
Cloud computing
Haskell (Computer program language)
Computer programming / software development
Computers -- Programming Languages -- General
Programming & scripting languages: general
Electronic books - Languages:
- English
- ISBNs:
- 9781484227817
1484227816 - Related ISBNs:
- 9781484227800
- Notes:
- Note: Includes bibliographical references and index.
Note: Online resource; title from PDF title page (SpringerLink, viewed September 27, 2017). - Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.353595
- Ingest File:
- 01_312.xml