Live Data Structures in Logic Programs


Book Description

A common hazard for implementations of applicative programming languages is the excessive creation of garbage cells during program execution. The available run-time garbage collecting processes are expensive in time and often require a periodic disruption of the program execution. The present book addresses the problem of memory re-use for logic programs through program analysis rather than by run-time garbage collection. The static analysis is constructed as an application of abstractinterpretation for logic programs. The starting point is a previously developed application of integrated type and mode analysis, which basically supplies a description of the logical terms to which program variables can be bound at run time. The contribution of the book consists of a modular extension of the abstract domain and operations in order to derive run-time properties concerning the sharing and liveness of term substructures dynamically created during program execution. Alsoillustrated is how such information can be used by the compiler to improve the allocation of run-time structures and to automatically introduce destructive assignments in logic languages in a safe and transparent way, thereby shifting some part of the run-time storage reclamation overhead to compile time.







Programming Languages: Implementations, Logics, and Programs


Book Description

This book constitutes the refereed proceedings of the Eighth International Symposium on Programming Languages, Implementations, Logics, and Programs, PLILP '96, held in conjunction with ALP and SAS in Aachen, Germany, in September 1996. The 30 revised full papers presented in the volume were selected from a total of 97 submissions; also included are one invited contribution by Lambert Meerlens and five posters and demonstrations. The papers are organized in topical sections on typing and structuring systems, program analysis, program transformation, implementation issues, concurrent and parallel programming, tools and programming environments, lambda-calculus and rewriting, constraints, and deductive database languages.




Logic Programming


Book Description

Covers the latest research in areas such as theoretical foundations, constraints, concurrency and parallelism, deductive databases,language design and implementation, non-monotonic reasoning, and logicprogramming and the Internet. 8-12 July 1997, Leuven, Belgium The International Conference on Logic Programming is the main annual conference sponsored by the Association for Logic Programming. It covers the latest research in areas such as theoretical foundations, constraints, concurrency and parallelism, deductive databases, language design and implementation, non-monotonic reasoning, and logic programming and the Internet.




Logic Programming


Book Description

The Tenth International Conference on Logic Programming, sponsored by the Association for Logic Programming, is a major forum for presentations of research, applications, and implementations in this important area of computer science. Logic programming is one of the most promising steps toward declarative programming and forms the theoretical basis of the programming language Prolog and it svarious extensions. Logic programming is also fundamental to work in artificial intelligence, where it has been used for nonmonotonic and commonsense reasoning, expert systems implementation, deductive databases, and applications such as computer-aided manufacturing.David S. Warren is Professor of Computer Science at the State University of New York, Stony Brook.Topics covered: Theory and Foundations. Programming Methodologies and Tools. Meta and Higher-order Programming. Parallelism. Concurrency. Deductive Databases. Implementations and Architectures. Applications. Artificial Intelligence. Constraints. Partial Deduction. Bottom-Up Evaluation. Compilation Techniques.




Program Development by Specification and Transformation


Book Description

This volume gives a coherent presentation of the outcome of the project PROSPECTRA (PROgram development by SPECification and TRAnsformation) that aims to provide a rigorous methodology for developing correct software and a comprehensive support system. The results are substantial: a theoretically well-founded methodology covering the whole development cycle, a very high-level specification and transformation language family allowing meta-program development and formalization of the development process itself, and a prototype development system supporting structure editing, incremental static-semantic checking, interactive context-sensitivetransformation and verification, development of transformation (meta-) programs, version management, and so on, with an initial libraryof specifications and a sizeable collection of implemented transformations. The intended audience for this documentation is the academic community working in this and related areas and those members of the industrial community interested in the use of formal methods.




Parallel Computing on Distributed Memory Multiprocessors


Book Description

Advances in microelectronic technology have made massively parallel computing a reality and triggered an outburst of research activity in parallel processing architectures and algorithms. Distributed memory multiprocessors - parallel computers that consist of microprocessors connected in a regular topology - are increasingly being used to solve large problems in many application areas. In order to use these computers for a specific application, existing algorithms need to be restructured for the architecture and new algorithms developed. The performance of a computation on a distributed memory multiprocessor is affected by the node and communication architecture, the interconnection network topology, the I/O subsystem, and the parallel algorithm and communication protocols. Each of these parametersis a complex problem, and solutions require an understanding of the interactions among them. This book is based on the papers presented at the NATO Advanced Study Institute held at Bilkent University, Turkey, in July 1991. The book is organized in five parts: Parallel computing structures and communication, Parallel numerical algorithms, Parallel programming, Fault tolerance, and Applications and algorithms.




Automata, Languages and Programming


Book Description

The International Colloquium on Automata, Languages and Programming (ICALP) is an annual conference series sponsored by the European Association for Theoretical Computer Science (EATCS). It is intended to cover all important areas of theoretical computer science, such as: computability, automata,formal languages, term rewriting, analysis of algorithms, computational geometry, computational complexity, symbolic and algebraic computation, cryptography, data types and data structures, theory of data bases and knowledge bases, semantics of programming languages, program specification, transformation and verification, foundations of logicprogramming, theory of logical design and layout, parallel and distributed computation, theory of concurrency, and theory of robotics. This volume contains the proceedings of ICALP 93, held at LundUniversity, Sweden, in July 1993. It includes five invited papers and 51 contributed papers selected from 151 submissions.




Codeless Data Structures and Algorithms


Book Description

In the era of self-taught developers and programmers, essential topics in the industry are frequently learned without a formal academic foundation. A solid grasp of data structures and algorithms (DSA) is imperative for anyone looking to do professional software development and engineering, but classes in the subject can be dry or spend too much time on theory and unnecessary readings. Regardless of your programming language background, Codeless Data Structures and Algorithms has you covered. In this book, author Armstrong Subero will help you learn DSAs without writing a single line of code. Straightforward explanations and diagrams give you a confident handle on the topic while ensuring you never have to open your code editor, use a compiler, or look at an integrated development environment. Subero introduces you to linear, tree, and hash data structures and gives you important insights behind the most common algorithms that you can directly apply to your own programs. Codeless Data Structures and Algorithms provides you with the knowledge about DSAs that you will need in the professional programming world, without using any complex mathematics or irrelevant information. Whether you are a new developer seeking a basic understanding of the subject or a decision-maker wanting a grasp of algorithms to apply to your projects, this book belongs on your shelf. Quite often, a new, refreshing, and unpretentious approach to a topic is all you need to get inspired. What You'll LearnUnderstand tree data structures without delving into unnecessary details or going into too much theoryGet started learning linear data structures with a basic discussion on computer memory Study an overview of arrays, linked lists, stacks and queues Who This Book Is ForThis book is for beginners, self-taught developers and programmers, and anyone who wants to understand data structures and algorithms but don’t want to wade through unnecessary details about quirks of a programming language or don’t have time to sit and read a massive book on the subject. This book is also useful for non-technical decision-makers who are curious about how algorithms work.




Functional Programming, Concurrency, Simulation and Automated Reasoning


Book Description

This collection of papers arose from a series of lectures for workers in computer science and other disciplines. The lectures were intended to familiarize them with some of the most exciting advanced computer based systems for the conceptualization, design, implementation, simulation, and logical analysis of applications in these disciplines. The collection presents some strong motivational points for the use of theory based systems in the areas of functional programming, concurrency, simulation, and automated reasoning, highlighting some of their advantages and disadvantages relative to conventional systems. The papers are mostly the work of individuals who were among the originators of the systemspresented. The volume is intended as a contribution to narrowing the learning gap facing conventional computer users when they wish to use advanced theory based systems. The papers are meant for a wide audience and should not require great mathematical sophistication for their comprehension. The papers contain numerous references for those wishing to pursue a topic in greater depth.