We propose a new type system for functional logic programming which is more liberal than the classical Damas-Milner usually adopted, but it is also restrictive enough to ensure type soundness. Starting from Damas-Miln...
详细信息
ISBN:
(纸本)9783642171635
We propose a new type system for functional logic programming which is more liberal than the classical Damas-Milner usually adopted, but it is also restrictive enough to ensure type soundness. Starting from Damas-Milner typing of expressions we propose a new notion of well-typed program that adds support for type-indexed functions, existential types, opaque higher-order patterns and generic functions-as shown by an extensive collection of examples that illustrate the possibilities of our proposal. In the negative side, the types of functions must be declared, and therefore types are checked but not inferred. Another consequence is that parametricity is lost, although the impact of this flaw is limited as "free theorems" were already compromised in functional logic programming because of non-determinism.
A generic, self-explanatory model for programming devices and machines is presented. the machine model defines boththe structural composition and its behavior using a set of four visual languages. In this paper, the ...
详细信息
ISBN:
(纸本)9781479943050
A generic, self-explanatory model for programming devices and machines is presented. the machine model defines boththe structural composition and its behavior using a set of four visual languages. In this paper, the basic symbols for the four languages are presented. the symbols are positioned according to predefined layout rules to specify the machine features. Each symbol is designed to represent its meaning as directly as possible. the underlying data structure of the machine model is also described. the model can be used to acquire knowledge related to machine development and be reused by enthusiasts and students.
Real-Time systems place large demands on the languages used to implement them. the current, processor based implementation methods do not allow accurate timing analysis due to the complexity of modern processors. FPGA...
详细信息
ISBN:
(纸本)0769517390
Real-Time systems place large demands on the languages used to implement them. the current, processor based implementation methods do not allow accurate timing analysis due to the complexity of modern processors. FPGAs provide a means to implement a real-time system in way that allows accurate timing analysis. Existing implementations of programminglanguages in hardware do not support the needs of a real-time system. this paper presents a hardware implementation of SPARK Ada that allows accurate timing analysis.
We propose a new join point model for aspect-oriented programming (AOP) languages. In most AOP languages including AspectJ, a join point is a time interval of an action in execution. While those languages are widely a...
详细信息
ISBN:
(纸本)3540489371
We propose a new join point model for aspect-oriented programming (AOP) languages. In most AOP languages including AspectJ, a join point is a time interval of an action in execution. While those languages are widely accepted, they have problems in aspects reusability, and awkwardness when designing advanced features such as trace-matches. Our proposed join point model, namely the point-in-time join point model redefines join points as the moments both at the beginning and end of actions. those finer-grained join points enable us to design AOP languages with better reusability and flexibility of aspects. In this paper, we designed an AspectJ-like language based on the point-in-time model. We also give a denotational semantics of a simplified language in a continuation passing style, and demonstrate that we can straightforwardly model advanced language features such as exception handling and cflow pointcuts.
the concept of unreliable failure detectors for reliable distributed systems was introduced by Chandra and Toueg as a fine-grained means to add weak forms of synchrony into asynchronous systems. Various kinds of such ...
详细信息
ISBN:
(纸本)3540206329
the concept of unreliable failure detectors for reliable distributed systems was introduced by Chandra and Toueg as a fine-grained means to add weak forms of synchrony into asynchronous systems. Various kinds of such failure detectors have been identified as each being the weakest to solve some specific distributed programming problem. In this paper, we provide a fresh look at failure detectors from the point of view of programminglanguages, more precisely using the formal tool of operational semantics. Inspired by this, we propose a new failure detector model that we consider easier to understand, easier to work with and more natural. Using operational semantics, we prove formally that representations of failure detectors in the new model are equivalent to their original representations within the model used by Chandra and Toueg.
Many programs have crosscutting concerns for which neither procedural nor object-oriented programming adequately modularize, which has led to the idea of aspect-oriented programming (AOP). However, AOP has not found f...
详细信息
ISBN:
(纸本)9781450353892
Many programs have crosscutting concerns for which neither procedural nor object-oriented programming adequately modularize, which has led to the idea of aspect-oriented programming (AOP). However, AOP has not found favor withthe programminglanguages community due to a belief that AOP breaks classical modularity and modular reasoning. We propose a new AOP programming model that enables both crosscutting modularity and modular reasoning. this model is implemented by AspectJML, a general-purpose aspect-oriented extension to Java. It supports modular crosscutting concerns using key object-oriented mechanisms, such as hierarchical structure, and allows reasoning that scales to ever-larger programs.
We have built the first family of tagless interpretations for a higher-order typed object language in a typed metalanguage (Haskell or ML) that require no dependent types, generalized algebraic data types, or postproc...
详细信息
ISBN:
(纸本)9783540766360
We have built the first family of tagless interpretations for a higher-order typed object language in a typed metalanguage (Haskell or ML) that require no dependent types, generalized algebraic data types, or postprocessing to eliminate tags. the statically type-preserving interpretations include an evaluator, a compiler (or staged evaluator), a partial evaluator, and call-by-name and call-by-value CPS transformers. Our main idea is to encode HOAS using cogen functions rather than data constructors. In other words, we represent object terms not in an initial algebra but using the coalgebraic structure of the A-calculus. Our representation also simulates inductive maps from types to types, which are required for typed partial evaluation and CPS transformations. Our encoding of an object term abstracts over the various ways to interpret it, yet statically assures that the interpreters never get stuck. To achieve self-interpretation and show Jones-optimality, we relate this exemplar of higher-rank and higher-kind polymorphism to plugging a term into a context of let-polymorphic bindings.
this paper evaluates the suitability of Java as an implementation language for the foundations of a computer algebra library. the design of basic arithmetic and multivariate polynomial interfaces and classes have been...
详细信息
ISBN:
(纸本)9783540878261
this paper evaluates the suitability of Java as an implementation language for the foundations of a computer algebra library. the design of basic arithmetic and multivariate polynomial interfaces and classes have been presented in [1]. the library is type-safe due to its design with Java's generic type parameters and thread-safe due to its concurrent programming facilities. We evaluate some key points of our library and differences to other computer algebra systems.
Although today's graphics processing units (GPUs) have high performance and general-purpose computing on GPUs (GPGPU) is actively studied, developing GPGPU applications remains difficult for two reasons. First, bo...
详细信息
ISBN:
(数字)9783642106729
ISBN:
(纸本)9783642106712
Although today's graphics processing units (GPUs) have high performance and general-purpose computing on GPUs (GPGPU) is actively studied, developing GPGPU applications remains difficult for two reasons. First, both parallelization and optimization of GPGPU applications is necessary to achieve high performance. Second, the suitability of the target application for GPGPU must be determined, because whether at application performs well with GPGPU heavily depends on its inherent properties, which are not obvious from the source code. To overcome these difficulties, we developed a skeletal parallel programming framework for rapid GPGPU application developments. It enables program tin to easily write GPGPU applications and rapidly test them because it generates programs for both GPUs and CPUs from the same source code. It also provides an optimization mechanism based on fusion transformation. Its effectiveness was confirmed experimentally.
the proceedings contain 4 papers. the topics discussed include: quantitative aspects of programminglanguages and systems over the past 2-4 years and beyond;towards digital twins for the description of automotive soft...
the proceedings contain 4 papers. the topics discussed include: quantitative aspects of programminglanguages and systems over the past 2-4 years and beyond;towards digital twins for the description of automotive software systems;a faster-than relation for semi-Markov decision processes;and probabilistic output analyses for deterministic programs â€" reusing existing non-probabilistic analyses.
暂无评论