
Practical Aspects of Declarative Languages
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Title page
- Preface
- Organization
- Table of Contents
- Recent Advances in Declarative Networking
- Introduction
- Background
- Query Evaluation
- Language Extensions
- Generating Safe Routing Implementations
- Formally Safe Routing Toolkit
- Declarative Network Verification
- Securing Distributed Systems
- Secure Network Datalog
- Reconfigurable Security
- Application-Aware Anonymity
- Debugging Distributed Systems
- Network Provenance Model
- Distributed Maintenance and Querying
- Security and Temporal Extensions
- Optimizing Distributed Systems
- Use Cases: PUMA and COPE
- Colog Language and Compilation
- References
- Make Things Now! Pragmatic Functional Programming in Haskell
- A Declarative Approach for Software Modeling
- Introduction
- Background
- Prolog
- JTransformer
- Model Encoding
- Encoding a Single Client-Story
- Encoding Several Stories
- The Structure of the Model
- Traceability
- Code Generation
- Changing the Granularity of the Interpreter
- Heuristic Code Generation
- An Example of Heuristics Code Generation
- Related Works
- Limitations and Future Work
- Summary
- Explanatory Interpretation
- Partial Evaluation
- Contracts and Specifications for Functional Logic Programming
- Introduction
- Functional Logic Programming and Curry
- Specifications and Contracts
- Tool Support
- Conclusions and Related Work
- References
- The Environment as an Argument Context-Aware Functional Programming
- Introduction
- An Example Application
- A DSL for Context-Aware Programming
- Context-Aware Computations
- Application over Context-Aware Values
- Abstract Knowledge Bases
- Managing a Global Knowledge Base
- Automatically Satisfying Contextual Dependencies
- Evaluation
- Presence Board
- Mailing List
- Related Work
- Future Work
- Conclusion
- References
- Weighted-Sequence Problem: ASP vs CASP and Declarative vs Problem-Oriented Solving
- Introduction
- Problem Statement
- ASP: Generate and Test Methodology
- Encodings
- Experimental Analysis
- Conclusions and Future Work
- References
- Practical and Methodological Aspects of the Use of Cutting-Edge ASP Tools
- Introduction
- Background
- Weight-Assignment Benchmark
- Reverse-Folding Benchmark
- Hydraulic-System-Planning Benchmark
- Airport-Pickup Benchmark
- Performance Assessment
- Conclusions
- References
- Efficient Tabling of Structured Data Using Indexing and Program Transformation
- Introduction
- The Trouble with Tabling Structured Data
- A Workaround and Its Implementation in Prolog
- Examples
- Example: Edit Distance
- Example: Hidden Markov Model in PRISM
- Automatic Program Transformation
- Limitations
- Related Work
- Conclusion
- References
- Optimizing Inequality Joins in Datalog with Approximated Constraint Propagation
- Introduction
- DatalogLB
- The Filter Predicates Transformation
- Non-recursive Programs
- Recursive Programs
- Implementation
- LogicBlox/SWI-Prolog Interface
- The Transformation
- Evaluation
- Non-recursive Programs
- Recursive Programs
- Conclusion and Future Work
- References
- Symbolic Execution of Concurrent Objects in CLP
- Introduction
- An Overview of Concurrent Objects
- CLP-Translated Programs
- Syntax of CLP-Translated Programs
- The Global State
- Symbolic Execution of Concurrent Objects
- Asynchronous Calls
- Implementation of Distribution and Concurrency
- Synchronization: Future Variables, Await, Get and Return
- Experimental Results in aPET
- Conclusions and Related Work
- References
- A Segment-Swapping Approach for Executing Trapped Computations
- Introduction
- The Trapped Goal Problem
- Reordering Stacks to Free Trapped Goals
- An Example of Stack Reordering
- Stack Reordering Algorithm
- Some Low Level Details
- Dealing with Garbage Slots
- Performance Evaluation
- Deterministic and Non-deterministic Benchmarks
- Avoiding Trapped Goals: The Impact of Goal Precedence
- Other Applications for Stack Reordering
- Conclusions
- References
- Palovca: Describing and Executing Graph Algorithms in Haskell
- Introduction
- Palovca's Computational Model
- An EDSL for Vertex-Centric Graph Algorithms
- The Palovca Language
- Examples
- Implementation
- Implementing Palovca in Haskell
- Dynamic Arrays and Parallelizing Vertex Evaluation
- Benchmarks
- Related Work
- Conclusion and Future Work
- References
- LearnPADS++: Incremental Inference of Ad Hoc Data Formats
- Introduction
- Main Algorithm
- Preliminaries
- Incremental Learning Step
- Parsing
- An Example of Parsing and Aggregation
- Description Rewriting
- Optimizations
- Experimental Results
- Related Work
- Conclusion
- References
- The Kennedy-Warren Algorithm Revisited: Ordering Attribute Grammars
- Introduction
- Overview
- A Motivating Example
- Induced Cycles
- Fake Dependencies
- Dependency Graphs
- Production Dependency Graphs
- Nonterminal Dependency Graphs
- Representation
- Derived Edges
- Worklist Algorithm
- Visit Graph
- Representation
- Initial Configuration
- Handling Pending Edges
- Dependency Graph Marks
- Extra Synthesized Attributes
- Difference to Original Algorithm
- Execution Plans
- Code Generation
- Related Work
- Results and Discussion
- Compile Time
- Runtime
- AG Extensions
- Conclusion
- References
- Distributed Policy Specification and Interpretation with Classified Advertisements
- Introduction
- The ClassAd Language and Gangmatching
- SPKI/SDSI
- Gangmatching Structures and Concepts
- Gangmatching Algorithm
- Gangmatching Analysis
- Related Work
- Conclusions
- References
- Handshaking in Kansas Lava Using Patch Logic
- Introduction
- Kansas Lava
- Protocols
- The Enabled Protocol
- Handshaking
- Patches
- Multi-protocol Patches
- Patches for Kansas Lava Sequences
- Chaining Together Patches
- Patch Logic
- Case Study: LCD Driver
- Description of the Sitronix ST7066U
- LCD Driver Design
- LCD Bus Driver
- LCD Instruction Compiler
- LCD Instruction Boot Sequence
- Memory-Mapped LCD Interface
- Discussion
- References
- Virtualizing Real-World Objects in FRP
- Introduction
- A Signal-Processing Language
- Resource Types
- Type Inference Rules
- More Examples
- Implementation
- Limitations and Future Work
- Related Work
- References
- Resource-Safe Systems Programming with Embedded Domain Specific Languages
- Introduction
- The Well-Typed Interpreter
- Language Definition
- Control Structures and Recursion
- Syntax Overloading
- do-Notation
- The dsl Construct
- Formal Definition
- Resource Management
- An EDSL for Generic Resource Correctness
- First Example: File Management
- Second Example: Network Transport
- Related Work
- Conclusion
- References
- Node-Based Connection Semantics for Equation-Based Object-Oriented Modeling Languages
- Introduction
- Modelica-Style Approach
- Models and Equation Generation
- Abstraction and Composition
- Problems in a Functional Setting
- Node-Based Approach
- Phase 1: Collapsing the Model Hierarc
- Phase 2: The Connection Semantics
- Formalization of the Connection Semantics
- Notation and Syntax
- Semantics of Rules
- Implementation and Evaluation
- Related Work
- Modelica
- Hardware Description Languages
- Functional Acausal Languages
- Conclusions
- References
- A Declarative Specification of Tree-Based Symbolic Arithmetic Computations
- Introduction
- A Bijection between Finite Sequences and Natural Numbers
- Ranking Hereditarily Finite Sequences
- Computing with Hereditarily Finite Sequences
- Successor and Predecessor
- Simple Arithmetic Operations in Terms of Successor and Predecessor
- Basic Recognizers and Constructors
- Arithmetic Operations with Hereditarily Finite Sequences - Efficiently
- Computing with Binary Trees Representing Gödel's System T Types
- Mapping Hereditarily Finite Sequences to Parenthesis languages
- Related Work
- Conclusion
- References
- Typing the Numeric Tower
- Designing the Numeric Tower
- A Rich Numeric Tower
- Encoding the Numeric Hierarchy
- Union types
- Layers of Numbers
- Signed Types
- Encoding Range Information
- Typing Operations
- Overloading with Ordered Intersection Types
- Simple Numeric Operations
- Other Operations
- Refining Types with Dynamic Tests
- Numeric Predicates
- Comparison Operators
- Implementation
- Precise Types and Invariance
- Precise Types and Arguments
- Printing Types
- Typechecking Literals
- Optimization
- Related Work
- Conclusion
- References
- Author Index
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.