Type Driven Development with Idris

Type Driven Development with Idris Author Edwin Brady
ISBN-10 1617293024
Year 2016-12-01
Pages 375
Language en
Publisher Manning Publications
DOWNLOAD NOW READ ONLINE

Types are often seen as a tool for checking errors, with the programmer writing a complete program first and using the type checker to detect errors. And while tests are used to show presence of errors, they can only find errors that you explicitly test for. In type-driven development, types become your tools for constructing programs and, used appropriately, can show the absence of errors. And you can express precise relationships between data, your assumptions are explicit and checkable, and you can precisely state and verify properties. Type-driven development lets users write extensible code, create simple specifications very early in development, and easily create mock implementation for testing. Type-Driven Development with Idris, written by the creator of Idris, teaches programmers how to improve the performance and accuracy of programs by taking advantage of a state-of-the-art type system. This book teaches readers using Idris, a language designed from the very beginning to support type-driven development. Readers learn how to manipulate types just like any other construct (numbers, strings, lists, etc.). This book teaches how to use type-driven development to build real-world software, as well as how to handle side-effects, state and concurrency, and interoperating with existing systems. By the end of this book, readers will be able to develop robust and verified software in Idris and apply type-driven development methods to programming in other languages. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Interactive Theorem Proving and Program Development

Interactive Theorem Proving and Program Development Author Yves Bertot
ISBN-10 9783662079645
Year 2013-03-14
Pages 472
Language en
Publisher Springer Science & Business Media
DOWNLOAD NOW READ ONLINE

A practical introduction to the development of proofs and certified programs using Coq. An invaluable tool for researchers, students, and engineers interested in formal methods and the development of zero-fault software.

F Deep Dives

F  Deep Dives Author Tomas Petricek
ISBN-10 1617291323
Year 2014-09-28
Pages 356
Language en
Publisher Manning Publications
DOWNLOAD NOW READ ONLINE

Summary F# Deep Dives presents a collection of real-world F# techniques, each written by expert practitioners. Each chapter presents a new use case where you'll read how the author used F# to solve a complex problem more effectively than would have been possible using a traditional approach. You'll not only see how a specific solution works in a specific domain, you'll also learn how F# developers approach problems, what concepts they use to solve them, and how they integrate F# into existing systems and environments. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology F# is an elegant, cross-platform, functional-first programming language. With F#, developers create consistent and predictable programs that are easier to test and reuse, simpler to parallelize, and less prone to bugs. The language, its tooling, and the functional programming style have proven effective in many application areas like secure financial engines, machine learning algorithms, scientific calculations, collaborative web applications, games, and more. About the Book F# Deep Dives is a selection of real-world F# techniques written by expert practitioners. Each chapter presents an important use case where you'll solve a real programming challenge effectively using F# and the functional-first approach. Not only will you see how a specific solution works in a specific domain, but you'll also learn how functional programmers think about problems, how they solve them, and how they integrate F# into existing systems and environments. Readers should have at least an introductory knowledge of the F# language. What's Inside Numerical computing Data visualization Business logic Domain-specific languages Practical solutions to real problems Information-rich programming, including LINQ and F# type providers Covers F# 3.1 and VS 2013 About the Authors Tomas Petricek contributed to the development of the F# language at Microsoft Research. Phil Trelford is an early adopter of F# and one of its most vocal advocates. They are joined by F# experts Chris Ballard, Keith Battocchi, Colin Bull, Chao-Jen Chen, Yan Cui, Johann Deneux, Kit Eason, Evelina Gabasova, Dmitry Morozov, and Don Syme. Table of Contents Succeeding with functional-first languages in the industry PART 1 INTRODUCTION Calculating cumulative binomial distributions Parsing text-based languages PART 2 DEVELOPING ANALYTICAL COMPONENTS Numerical computing in the financial domain Understanding social networks Integrating stock data into the F# language PART 3 DEVELOPING COMPLETE SYSTEMS Developing rich user interfaces using the MVC pattern Asynchronous and agent-based programming Creating games using XNA Building social web applications PART 4 F# IN THE LARGER CONTEXT F# in the enterprise Software quality

Hello IOS Development

Hello  IOS Development Author Lou Franco
ISBN-10 1935182986
Year 2013-08-01
Pages 318
Language en
Publisher Manning Publications Company
DOWNLOAD NOW READ ONLINE

Uses instructive cartoons and simple app recipes to help novice programmers learn enough the basics of iPhone development.

Verified Functional Programming in Agda

Verified Functional Programming in Agda Author Aaron Stump
ISBN-10 9781970001266
Year 2016-02-01
Pages 283
Language en
Publisher Morgan & Claypool
DOWNLOAD NOW READ ONLINE

Agda is an advanced programming language based on Type Theory. Agda's type system is expressive enough to support full functional verification of programs, in two styles. In external verification, we write pure functional programs and then write proofs of properties about them. The proofs are separate external artifacts, typically using structural induction. In internal verification, we specify properties of programs through rich types for the programs themselves. This often necessitates including proofs inside code, to show the type checker that the specified properties hold. The power to prove properties of programs in these two styles is a profound addition to the practice of programming, giving programmers the power to guarantee the absence of bugs, and thus improve the quality of software more than previously possible. Verified Functional Programming in Agda is the first book to provide a systematic exposition of external and internal verification in Agda, suitable for undergraduate students of Computer Science. No familiarity with functional programming or computer-checked proofs is presupposed. The book begins with an introduction to functional programming through familiar examples like booleans, natural numbers, and lists, and techniques for external verification. Internal verification is considered through the examples of vectors, binary search trees, and Braun trees. More advanced material on type-level computation, explicit reasoning about termination, and normalization by evaluation is also included. The book also includes a medium-sized case study on Huffman encoding and decoding.

Gradle in Action

Gradle in Action Author Benjamin Muschko
ISBN-10 1617291307
Year 2013-06-30
Pages 456
Language en
Publisher Manning Publications
DOWNLOAD NOW READ ONLINE

Summary Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to build a full-fledged, real-world project. Along the way, it touches on advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. About the Technology Gradle is a general-purpose build automation tool. It extends the usage patterns established by its forerunners, Ant and Maven, and allows builds that are expressive, maintainable, and easy to understand. Using a flexible Groovy-based DSL, Gradle provides declarative and extendable language elements that let you model your project's needs the way you want. About the Book Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to establish an effective build process for a full-fledged, real-world project. Along the way, it covers advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. The book assumes a basic background in Java, but no knowledge of Groovy. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. Whats Inside A comprehensive guide to Gradle Practical, real-world examples Transitioning from Ant and Maven In-depth plugin development Continuous delivery with Gradle About the Author Benjamin Muschko is a member of the Gradleware engineering team and the author of several popular Gradle plugins. Table of Contents PART 1 INTRODUCING GRADLE Introduction to project automation Next-generation builds with Gradle Building a Gradle project by example PART 2 MASTERING THE FUNDAMENTALS Build script essentials Dependency management Multiproject builds Testing with Gradle Extending Gradle Integration and migration PART 3 FROM BUILD TO DEPLOYMENT IDE support and tooling Building polyglot projects Code quality management and monitoring Continuous integration Artifact assembly and publishing Infrastructure provisioning and deployment

Parallel and Concurrent Programming in Haskell

Parallel and Concurrent Programming in Haskell Author Simon Marlow
ISBN-10 9781449335922
Year 2013-07-12
Pages 322
Language en
Publisher "O'Reilly Media, Inc."
DOWNLOAD NOW READ ONLINE

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

Elasticsearch in Action

Elasticsearch in Action Author Radu Gheorghe
ISBN-10 1617291625
Year 2015-03-31
Pages 400
Language en
Publisher Manning Publications
DOWNLOAD NOW READ ONLINE

Elasticsearch makes it easy to add efficient and scalable searches to enterprise applications. Busy administrators and developers love this open source real-time search and analytics engine because they can simply install it, make a few tweaks, and go on with their work. Elasticsearch is miles deep, so once it's up and running, it can be used to build nearly any custom search solution imaginable. Elasticsearch in Action shows how to build scalable search applications using Elasticsearch. It starts off with an informative overview and an engaging introductory example. Within the first few chapters, it discusses core concepts needed to implement basic searches and efficient indexing. With the fundamentals well in hand, readers will gain an organized view of how to optimize their designs. The book focuses on Elasticsearch's REST API via HTTP. Code snippets are written mostly in bash using curl, which makes them easily translatable to other languages. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Kanban in Action

Kanban in Action Author Marcus Hammarberg
ISBN-10 1617291056
Year 2013-09-28
Pages 331
Language en
Publisher Manning Publications
DOWNLOAD NOW READ ONLINE

Summary Kanban in Action is a down-to-earth, no-frills, get-to-know-the-ropes introduction to kanban. It's based on the real-world experience and observations from two kanban coaches who have introduced this process to dozens of teams. You'll learn the principles of why kanban works, as well as nitty-gritty details like how to use different color stickies on a kanban board to help you organize and track your work items. About the Book Too much work and too little time? If this is daily life for your team, you need kanban, a lean knowledge-management method designed to involve all team members in continuous improvement of your process. Kanban in Action is a practical introduction to kanban. Written by two kanban coaches who have taught the method to dozens of teams, the book covers techniques for planning and forecasting, establishing meaningful metrics, visualizing queues and bottlenecks, and constructing and using a kanban board. Written for all members of the development team, including leaders, coders, and business stakeholders. No experience with kanban is required. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside How to focus on work in process and finish faster Examples of successful implementations How team members can make informed decisions About the Authors Marcus Hammarberg is a kanban coach and software developer with experience in BDD, TDD, Specification by Example, Scrum, and XP. Joakim Sundén is an agile coach at Spotify who cofounded the first kanban user groups in Europe. Table of Contents PART 1 LEARNING KANBAN Team Kanbaneros gets started PART 2 UNDERSTANDING KANBAN Kanban principles Visualizing your work Work items Work in process Limiting work in process Managing flow PART 3 ADVANCED KANBAN Classes of service Planning and estimating Process improvement Using metrics to guide improvements Kanban pitfalls Teaching kanban through games

The Formal Semantics of Programming Languages

The Formal Semantics of Programming Languages Author Glynn Winskel
ISBN-10 0262731037
Year 1993
Pages 361
Language en
Publisher MIT Press
DOWNLOAD NOW READ ONLINE

The Formal Semantics of Programming Languages provides the basic mathematical techniques necessary for those who are beginning a study of the semantics and logics of programming languages. These techniques will allow students to invent, formalize, and justify rules with which to reason about a variety of programming languages. Although the treatment is elementary, several of the topics covered are drawn from recent research, including the vital area of concurency. The book contains many exercises ranging from simple to miniprojects.Starting with basic set theory, structural operational semantics is introduced as a way to define the meaning of programming languages along with associated proof techniques. Denotational and axiomatic semantics are illustrated on a simple language of while-programs, and fall proofs are given of the equivalence of the operational and denotational semantics and soundness and relative completeness of the axiomatic semantics. A proof of Godel's incompleteness theorem, which emphasizes the impossibility of achieving a fully complete axiomatic semantics, is included. It is supported by an appendix providing an introduction to the theory of computability based on while-programs.Following a presentation of domain theory, the semantics and methods of proof for several functional languages are treated. The simplest language is that of recursion equations with both call-by-value and call-by-name evaluation. This work is extended to lan guages with higher and recursive types, including a treatment of the eager and lazy lambda-calculi. Throughout, the relationship between denotational and operational semantics is stressed, and the proofs of the correspondence between the operation and denotational semantics are provided. The treatment of recursive types - one of the more advanced parts of the book - relies on the use of information systems to represent domains. The book concludes with a chapter on parallel programming languages, accompanied by a discussion of methods for specifying and verifying nondeterministic and parallel programs.

Mesos in Action

Mesos in Action Author Roger Ignazio
ISBN-10 1617292923
Year 2016-05-01
Pages 325
Language en
Publisher Manning Publications
DOWNLOAD NOW READ ONLINE

The modern "data center" is a complex arena, with physical and virtual servers, multiple OS environments, and complex networking that frequently spans multiple locations. The need to simplify has never been greater. Mesos, an innovative open-source cluster management platform, transforms the whole data center into a single pool of compute, memory, and storage resources that can be allocated, automated, and scaled as if working with a single super-computer. Mesos is an ideal environment for deploying containerized applications at scale, and it's generating a huge buzz in the big data world as a saner environment for running Spark and Hadoop. Mesos in Action introduces the Apache Mesos cluster manager and the concept of application-centric infrastructure. It guides readers from their first steps in deploying a highly-available Mesos cluster through deploying applications in production and writing native Mesos frameworks. It will show how to scale to thousands of nodes, while providing resource isolation between processes using Linux and Docker containers. It contains practical techniques for deploying applications using popular key frameworks, including Marathon, Chronos, and Aurora. Along the way, the book dives into Mesos internals, including fault tolerance, slave attributes, and resource scheduling and Mesos administration, including logging, monitoring, framework authorization, and slave recovery. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

POJOs in Action

POJOs in Action Author Chris Richardson
ISBN-10 UOM:39015063357894
Year 2006-01
Pages 560
Language en
Publisher Manning Publications Company
DOWNLOAD NOW READ ONLINE

The standard platform for enterprise application development has been EJB but the difficulties of working with it caused it to become unpopular. They also gave rise to lightweight technologies such as Hibernate, Spring, JDO, iBATIS and others, all of which allow the developer to work directly with the simpler POJOs. Now EJB version 3 solves the problems that gave EJB 2 a black eye-it too works with POJOs. POJOs in Action describes the new, easier ways to develop enterprise Java applications. It describes how to make key design decisions when developing business logic using POJOs, including how to organize and encapsulate the business logic, access the database, manage transactions, and handle database concurrency. This book is a new-generation Java applications guide: it enables readers to successfully build lightweight applications that are easier to develop, test, and maintain.

Storm Applied

Storm Applied Author Sean T. Allen
ISBN-10 1617291897
Year 2015-01-31
Pages 280
Language en
Publisher Manning Publications
DOWNLOAD NOW READ ONLINE

Summary Storm Applied is a practical guide to using Apache Storm for the real-world tasks associated with processing and analyzing real-time data streams. This immediately useful book starts by building a solid foundation of Storm essentials so that you learn how to think about designing Storm solutions the right way from day one. But it quickly dives into real-world case studies that will bring the novice up to speed with productionizing Storm. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. Summary Storm Applied is a practical guide to using Apache Storm for the real-world tasks associated with processing and analyzing real-time data streams. This immediately useful book starts by building a solid foundation of Storm essentials so that you learn how to think about designing Storm solutions the right way from day one. But it quickly dives into real-world case studies that will bring the novice up to speed with productionizing Storm. About the Technology It's hard to make sense out of data when it's coming at you fast. Like Hadoop, Storm processes large amounts of data but it does it reliably and in real time, guaranteeing that every message will be processed. Storm allows you to scale with your data as it grows, making it an excellent platform to solve your big data problems. About the Book Storm Applied is an example-driven guide to processing and analyzing real-time data streams. This immediately useful book starts by teaching you how to design Storm solutions the right way. Then, it quickly dives into real-world case studies that show you how to scale a high-throughput stream processor, ensure smooth operation within a production cluster, and more. Along the way, you'll learn to use Trident for stateful stream processing, along with other tools from the Storm ecosystem. This book moves through the basics quickly. While prior experience with Storm is not assumed, some experience with big data and real-time systems is helpful. What's Inside Mapping real problems to Storm components Performance tuning and scaling Practical troubleshooting and debugging Exactly-once processing with Trident About the Authors Sean Allen, Matthew Jankowski, and Peter Pathirana lead the development team for a high-volume, search-intensive commercial web application at TheLadders. Table of Contents Introducing Storm Core Storm concepts Topology design Creating robust topologies Moving from local to remote topologies Tuning in Storm Resource contention Storm internals Trident