Research Directions in Parallel Functional Programming
Title | Research Directions in Parallel Functional Programming PDF eBook |
Author | Kevin Hammond |
Publisher | Springer Science & Business Media |
Pages | 507 |
Release | 2012-12-06 |
Genre | Computers |
ISBN | 1447108418 |
Programming is hard. Building a large program is like constructing a steam locomotive through a hole the size of a postage stamp. An artefact that is the fruit of hundreds of person-years is only ever seen by anyone through a lOO-line window. In some ways it is astonishing that such large systems work at all. But parallel programming is much, much harder. There are so many more things to go wrong. Debugging is a nightmare. A bug that shows up on one run may never happen when you are looking for it - but unfailingly returns as soon as your attention moves elsewhere. A large fraction of the program's code can be made up of marshalling and coordination algorithms. The core application can easily be obscured by a maze of plumbing. Functional programming is a radical, elegant, high-level attack on the programming problem. Radical, because it dramatically eschews side-effects; elegant, because of its close connection with mathematics; high-level, be cause you can say a lot in one line. But functional programming is definitely not (yet) mainstream. That's the trouble with radical approaches: it's hard for them to break through and become mainstream. But that doesn't make functional programming any less fun, and it has turned out to be a won derful laboratory for rich type systems, automatic garbage collection, object models, and other stuff that has made the jump into the mainstream.
Research Topics in Functional Programming
Title | Research Topics in Functional Programming PDF eBook |
Author | D. A. Turner |
Publisher | Addison Wesley Publishing Company |
Pages | 408 |
Release | 1990 |
Genre | Computers |
ISBN |
Trends in Functional Programming
Title | Trends in Functional Programming PDF eBook |
Author | Aleksander Byrski |
Publisher | Springer Nature |
Pages | 253 |
Release | 2020-08-17 |
Genre | Computers |
ISBN | 3030577619 |
This book constitutes revised selected papers from the 21st International Symposium on Trends in Functional Programming, TFP 2020, which was held in Krakow, Poland, during February 13-14, 2020. The 11 full papers presented in this volume were carefully reviewed and selected from 22 submissions. They were organized in topical sections named: domain-specific languages; debugging and testing; reasoning and effects; and parallelism.
Verified Functional Programming in Agda
Title | Verified Functional Programming in Agda PDF eBook |
Author | Aaron Stump |
Publisher | Morgan & Claypool |
Pages | 328 |
Release | 2016-02-01 |
Genre | Computers |
ISBN | 1970001267 |
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.
Trends in Functional Programming Volume 6
Title | Trends in Functional Programming Volume 6 PDF eBook |
Author | Marko Van Eekelen |
Publisher | Intellect Books |
Pages | 240 |
Release | 2005-06-01 |
Genre | Computers |
ISBN | 1841509906 |
This is Volume 7 of Trends in Functional Programming (TFP). It contains a refereed selection of the papers that were presented at TFP 2006: the Seventh Symposium on Trends in Functional Programming. which took place in Nottingham, 19-21 April, 2006. TFP is an international forum for researchers from all functional programming communities spanning the entire width of topics in the field. Its goal is to provide a broad view of current and future trends in functional programming in a lively and friendly setting, thus promoting new research directions related to the field of functional programming and the relationship between functional programming and other fields of computer science. True to the spirit of TFP, the selection of papers in this volume covers a wide range of topics, including dependently typed programming, generic programming, purely functional data structures, function synthesis, declarative debugging, implementation of functional programming languages, and memory management. A particular emerging trend is that of dependently typed programming, reflected by a number of papers in the present selection and by the co-location of TFP and Types 2006.
Real-World Functional Programming
Title | Real-World Functional Programming PDF eBook |
Author | Tomas Petricek |
Publisher | Simon and Schuster |
Pages | 989 |
Release | 2009-11-30 |
Genre | Computers |
ISBN | 1638353794 |
Functional programming languages like F#, Erlang, and Scala are attractingattention as an efficient way to handle the new requirements for programmingmulti-processor and high-availability applications. Microsoft's new F# is a truefunctional language and C# uses functional language features for LINQ andother recent advances. Real-World Functional Programming is a unique tutorial that explores thefunctional programming model through the F# and C# languages. The clearlypresented ideas and examples teach readers how functional programming differsfrom other approaches. It explains how ideas look in F#-a functionallanguage-as well as how they can be successfully used to solve programmingproblems in C#. Readers build on what they know about .NET and learn wherea functional approach makes the most sense and how to apply it effectively inthose cases. The reader should have a good working knowledge of C#. No prior exposure toF# or functional programming is required. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
Functional JavaScript
Title | Functional JavaScript PDF eBook |
Author | Michael Fogus |
Publisher | "O'Reilly Media, Inc." |
Pages | 440 |
Release | 2013-06-03 |
Genre | Computers |
ISBN | 1449360785 |
How can you overcome JavaScript language oddities and unsafe features? With this book, you’ll learn how to create code that’s beautiful, safe, and simple to understand and test by using JavaScript’s functional programming support. Author Michael Fogus shows you how to apply functional-style concepts with Underscore.js, a JavaScript library that facilitates functional programming techniques. Sample code is available on GitHub at https://github.com/funjs/book-source. Fogus helps you think in a functional way to help you minimize complexity in the programs you build. If you’re a JavaScript programmer hoping to learn functional programming techniques, or a functional programmer looking to learn JavaScript, this book is the ideal introduction. Use applicative programming techniques with first-class functions Understand how and why you might leverage variable scoping and closures Delve into higher-order functions—and learn how they take other functions as arguments for maximum advantage Explore ways to compose new functions from existing functions Get around JavaScript’s limitations for using recursive functions Reduce, hide, or eliminate the footprint of state change in your programs Practice flow-based programming with chains and functional pipelines Discover how to code without using classes