Advanced Functional Programming


Book Description

This tutorial book presents seven revised lectures given by leading researchers at the 4th International School on Functional Programming, AFP 2002, in Oxford, UK in August 2002.The lectures presented introduce tools, language features, domain-specific languages, problem domains, and programming methods. All lectures contain exercises and practical assignments. The software accompanying the lectures can be accessed from the AFP 2002 Web site. This book is designed to enable individuals, small groups of students, and lecturers to study recent work in the rapidly developing area of functional programming.







Datatype-Generic Programming


Book Description

This tutorial book presents six carefully revised lectures given at the Spring School on Datatype-Generic Programming, SSDGP 2006. This was held in Nottingham, UK, in April 2006. It was colocated with the Symposium on Trends in Functional Programming (TFP 2006), and the Conference of the Types Project (TYPES 2006). All the lectures have been subjected to thorough internal review by the editors and contributors, supported by independent external reviews.




Unconventional Programming Paradigms


Book Description

Unconventional approaches to programming have long been developed, in various niches and out of curiosity, and they constitute a reservoir of alternative avenues to deal with unknown programming challenges. New paradigms of programming are currently experiencing a renewed period of interest and growth to cope with problems from specific application domains. This book constitutes the thoroughly refereed post-proceedings of the International Workshop on Unconventional Programming Paradigms, UPP 2004, held at Le Mont Saint Michel, France, in September 2004. The 26 revised full papers presented together with an invited paper on quantum computing were carefully reviewed for presentation in the book. The papers are organized in topical sections on chemical computing, amorphous computing, bio-inspired computing, autonomic computing, and generative programming.




Generative Programming and Component Engineering


Book Description

This volume constitutes the proceedings of the ?rst ACM SIGPLAN/SIGSOFT International Conference on Generative Programming and Component Engine- ing (GPCE 2002), held October 6–8, 2002, in Pittsburgh, PA, USA, as part of the PLI 2002 event, which also included ICFP, PPDP, and a?liated workshops. The future of Software Engineering lies in the automation of tasks that are performed manually today. Generative Programming (developing programs that synthesize other programs), Component Engineering (raising the level of mo- larization and analysis in application design), and Domain-Speci?c Languages (elevating program speci?cations to compact domain-speci?c notations that are easier to write and maintain) are key technologies for automating program de- lopment. In a time of conference and workshop proliferation, GPCE represents acounter-trend in the merging of two distinct communities with strongly ov- lapping interests: the Generative and Component-Based Software Engineering Conference (GCSE) and the International Workshop on the Semantics, App- cations, and Implementation of Program Generation (SAIG). Researchers in the GCSE community address the topic of program automation from a contemporary software engineering viewpoint; SAIG correspondingly represents a community attacking automation from a more formal programming languages viewpoint. Together, their combination provides the depth of theory and practice that one would expect in apremier research conference. Three prominent PLI invited speakers lectured at GPCE 2002: Neil Jones (University of Copenhagen), Catuscia Palamidessi (Penn State University), and Janos Sztipanovits (Vanderbilt University). GPCE 2002 received 39 submissions, of which 18 were accepted.




Haskell 98 Language and Libraries


Book Description

Haskell is the world's leading lazy functional programming language, widely used for teaching, research, and applications. The language continues to develop rapidly, but in 1998 the community decided to capture a stable snapshot of the language: Haskell 98. All Haskell compilers support Haskell 98, so practitioners and educators alike have a stable base for their work.This book constitutes the agreed definition of Haskell 98, both the language itself and its supporting libraries, and should be a standard reference work for anyone involved in research, teaching, or application of Haskell.




Handbook of Constraint Programming


Book Description

Constraint programming is a powerful paradigm for solving combinatorial search problems that draws on a wide range of techniques from artificial intelligence, computer science, databases, programming languages, and operations research. Constraint programming is currently applied with success to many domains, such as scheduling, planning, vehicle routing, configuration, networks, and bioinformatics.The aim of this handbook is to capture the full breadth and depth of the constraint programming field and to be encyclopedic in its scope and coverage. While there are several excellent books on constraint programming, such books necessarily focus on the main notions and techniques and cannot cover also extensions, applications, and languages. The handbook gives a reasonably complete coverage of all these lines of work, based on constraint programming, so that a reader can have a rather precise idea of the whole field and its potential. Of course each line of work is dealt with in a survey-like style, where some details may be neglected in favor of coverage. However, the extensive bibliography of each chapter will help the interested readers to find suitable sources for the missing details. Each chapter of the handbook is intended to be a self-contained survey of a topic, and is written by one or more authors who are leading researchers in the area.The intended audience of the handbook is researchers, graduate students, higher-year undergraduates and practitioners who wish to learn about the state-of-the-art in constraint programming. No prior knowledge about the field is necessary to be able to read the chapters and gather useful knowledge. Researchers from other fields should find in this handbook an effective way to learn about constraint programming and to possibly use some of the constraint programming concepts and techniques in their work, thus providing a means for a fruitful cross-fertilization among different research areas.The handbook is organized in two parts. The first part covers the basic foundations of constraint programming, including the history, the notion of constraint propagation, basic search methods, global constraints, tractability and computational complexity, and important issues in modeling a problem as a constraint problem. The second part covers constraint languages and solver, several useful extensions to the basic framework (such as interval constraints, structured domains, and distributed CSPs), and successful application areas for constraint programming.- Covers the whole field of constraint programming- Survey-style chapters- Five chapters on applications




Encyclopedia of Cloud Computing


Book Description

The Encyclopedia of Cloud Computing provides IT professionals, educators, researchers and students with a compendium of cloud computing knowledge. Authored by a spectrum of subject matter experts in industry and academia, this unique publication, in a single volume, covers a wide range of cloud computing topics, including technological trends and developments, research opportunities, best practices, standards, and cloud adoption. Providing multiple perspectives, it also addresses questions that stakeholders might have in the context of development, operation, management, and use of clouds. Furthermore, it examines cloud computing's impact now and in the future. The encyclopedia presents 56 chapters logically organized into 10 sections. Each chapter covers a major topic/area with cross-references to other chapters and contains tables, illustrations, side-bars as appropriate. Furthermore, each chapter presents its summary at the beginning and backend material, references and additional resources for further information.