
Implementation and Application of Functional Languages
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
This book constitutes the thoroughly refereed post-conference
proceedings of the 22nd International Symposium on Implementation and
Applications of Functional Languages, IFL 2010, held in Alphen aan den
Rijn, The Netherlands, in September 2010.
The 13 revised full papers presented were carefully reviewed and were
selected from 31 submissions. The IFL symposia bring together
researchers and practitioners that are actively engaged in the
implementation and the use of functional and function based programming
languages. Every year IFL provides a venue for the presentation and
discussion of new ideas and concepts, of work in progress, and of
publication-ripe results.
More details
Other editions
Additional editions

Content
- Title
- Preface
- Organization
- Table of Contents
- Haskell Boards the Ferry
- Introduction
- DSH by Example
- Internals
- Haskell Front-End
- Turning Haskell into SQL
- Related Work
- HaskellDB
- Data Parallel Haskell
- Embedding Approaches
- Future Work and Conclusions
- References
- Theory and Practice of Fusion
- Introduction
- Background: Algebras and Coalgebras
- Recursive Coalgebras
- Calculational Properties
- Fusion
- Warm-Up: Type Functors
- Generalised Foldr/Build Fusion
- Generalised Destroy/Unfoldr Fusion
- Church and Co-church Encodings
- Stream Fusion
- Related Work
- Conclusions
- References
- Orthogonal Serialisation for Haskell
- Introduction
- Related Work
- Implementation
- Runtime System Support
- Heap to Array: Unsafe Dynamics
- Phantom Types: Type-Safe Dynamics in One Program Run
- Type-Safe Persistence
- Potential Applications
- Checkpointing Long-Running Applications
- Persistent Memoisation for Frequently Used Applications
- Conclusions and Future Work
- References
- Introducing the PilGRIM: A Processor for Executing Lazy Functional Languages
- Introduction
- The Pipelined Graph Reduction Instruction Machine
- Instruction Set and Compilation
- A Simple Functional Core Language
- Evaluation Model and Memory Layout
- Assembly Language
- Translation of the Core Language to the Instruction Set
- The PilGRIM Architecture
- Splitting the Stack
- Allocation Heap
- Hardware Component Sizes and Constraints
- Instruction Set
- Hardware Implementation Strategy
- Evaluation and Comparison
- Related Work
- Conclusions
- References
- Automating Derivations of Abstract Machines from Reduction Semantics:
- Introduction
- An Axiomatization of a Substitution-Based Reduction Semantics
- Syntactic Categories
- Decompositions and Contraction
- Reduction Semantics
- From Reduction Semantics to Abstract Machine by Refocusing
- An Evaluator
- A Small-Step Abstract Machine
- A Staged Abstract Machine
- The Result: An Eval/Continue Abstract Machine
- An Eval Abstract Machine
- Refocusing in Reduction Semantics with Explicit Substitutions
- Axiomatization of Closure Calculi
- Towards an Efficient Eval/Continue Machine
- Refocusing in Context-Sensitive Reduction Semantics
- Conclusion
- References
- From Bayesian Notation to Pure Racket via Discrete Measure-Theoretic Probability in ?ZFC
- Introduction
- Theory of Probability
- Approach and Target Language
- Bayesian Languages
- The Expression Language
- Background Theory: Random Variables
- Interpreting Random Variable Expressions as Computations
- Implementation in Racket
- The Query Language
- Background Theory: Probability Spaces
- Background Theory: Queries
- Interpreting Query Notation
- Approximating Queries
- Implementation in Racket
- Conditional Queries
- The Statement Language
- Interpreting Common Conditional Theories
- Interpreting Statements as Monadic Computations
- Approximating Models and Queries
- Implementation in Racket
- Why Separate Statements and Queries?
- Related Work
- Conclusions and Future Work
- References
- Dependently Typed Attribute Grammars
- Introduction
- Preliminaries
- Dependently Typed Example
- Support Code Dealing with Environments
- Grammar of the Source and Target Language
- Dependent Attributes
- Semantics of Attributes
- AG Descriptions and Their Core Representation
- Translation to Agda
- Partially Defined Attributes
- Related Work
- Conclusion
- References
- The Design and Implementation of Feldspar
- Introduction
- Language Architecture
- Core Language
- Core Language Implementation
- Extended Interface
- Inspecting and Optimizing Expressions
- Arrays
- Vector Library
- Related Work
- Discussion and Future Work
- Conclusion
- References
- Purity in Erlang
- Introduction
- Erlang: The Language and Its Features
- Purity Analysis in Erlang
- Flavours of Purity
- The Core of the Analysis
- Higher Order Functions
- Implementation Aspects
- Experiences
- Extending Erlang with User-Defined Guards
- Related Work
- Concluding Remarks
- References
- iTask as a New Paradigm for Building GUI Applications
- Introduction
- Introducing the iTask System
- Library Overview
- Running Example: A Simple Text Editor
- Extending the iTask System
- Giving the User More Choices
- Structuring Choices Using Menus
- A View on Shared State
- Dynamic Task Groups
- Dynamic Menus
- Mixing Workflow and GUI
- Related Work
- Conclusions and Future Work
- References
- Improving Your CASH Flow: The Computer Algebra SHell
- Introduction
- Linking Haskell and Computer Algebra Systems
- The SCSCP Interface
- The OpenMath Data Format
- Calling GAP from Haskell and Vice-Versa
- Greatest Common Divisor
- A Linear System Solver
- Using CASH to Enhance Parallelism
- SymGrid-Par
- Calling Haskell from GAP
- Related Work
- Conclusions
- References
- Concurrent Non-deferred Reference Counting on the Microgrid: First Experiences
- Introduction
- SAC and Non-deferred Reference Counting
- The Microgrid and the SVP Concurrency Model
- Our Approach: Asynchronous Reference Counting
- Evaluation
- Synthetic Kernel
- 2-Dimensional FFT
- Related Work
- Conclusion
- References
- Composing Reactive GUIs in F# Using WebSharper
- Introduction
- Design
- Static Composition
- Dynamic Composition
- Representation
- Flowlet Architecture
- Composition
- Layout
- Rendering
- Streams
- WebSharper Flowlets
- Underlying Technology
- Representation.
- Controls
- Layout Managers
- Combinators
- Related Work
- Conclusions
- 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.