29 research outputs found
Type-based termination of recursive definitions
This paper introduces "lambda-hat", a simply typed lambda calculus
supporting inductive types and recursive function definitions with
termination ensured by types. The system is shown to enjoy subject
reduction, strong normalisation of typable terms and to be stronger than
a related system "lambda-G" in which termination is ensured by a syntactic guard condition. The system can, at will, be extended to also support coinductive types and corecursive function definitions.Information Society Technologies (IST) - Fifth Framework Programm (FP5) - TYPES.Fundação para a Ciência e a Tecnologia (FCT) – PRAXIS XXI/C/EEI/14172/98.INRIA-ICCTI.Estonian Science Foundation (ETF) - grant no. 4155
Hilbert-Post completeness for the state and the exception effects
In this paper, we present a novel framework for studying the syntactic
completeness of computational effects and we apply it to the exception effect.
When applied to the states effect, our framework can be seen as a
generalization of Pretnar's work on this subject. We first introduce a relative
notion of Hilbert-Post completeness, well-suited to the composition of effects.
Then we prove that the exception effect is relatively Hilbert-Post complete, as
well as the "core" language which may be used for implementing it; these proofs
have been formalized and checked with the proof assistant Coq.Comment: Siegfried Rump (Hamburg University of Technology), Chee Yap (Courant
Institute, NYU). Sixth International Conference on Mathematical Aspects of
Computer and Information Sciences , Nov 2015, Berlin, Germany. 2015, LNC
Coeffects: Unified static analysis of context-dependence
Monadic effect systems provide a unified way of tracking effects of computations, but there is no unified mechanism for tracking how computations rely on the environment in which they are executed. This is becoming an important problem for modern software – we need to track where distributed computations run, which resources a program uses and how they use other capabilities of the environment.
We consider three examples of context-dependence analysis: liveness analysis, tracking the use of implicit parameters (similar to tracking of resource usage in distributed computation), and calculating caching requirements for dataflow programs. Informed by these cases, we present a unified calculus for tracking context dependence in functional languages together with a categorical semantics based on indexed comonads. We believe that indexed comonads are the right foundation for constructing context-aware languages and type systems and that following an approach akin to monads can lead to a widespread use of the concept
Albert, Martin, and Peter too: their roles in creating the Estonian and Latvian Nations
What has enabled the Finnic and Baltic slivers east of the Baltic Sea to survive in the midst of a Germanic-Slavic Northern Europe for the last 1000 years? Such an outcome was not foreordained - it is the result of a succession of lucky circumstances, on top of the strength of native cultures. Favorable factors include geopolitical location, worldwide main currents such as Protestantism and Romanticism, competition among would-be assimilators, and the unintentional positive impact of personalities extraneous to the Baltic area, such as Bishop Albert, Martin Luther and Peter the First. The latter occupy only a part of this overview, but as partly counter-intuitive examples they highlight the contradictory vagaries of the process of nation-building east of the Baltic Sea. While the focus is on Estonia and Latvia, some observations apply to Lithuania and Finland as well. Sustainability during the last 1000 years has implications for future national survival, but with marked reservations in a demographically imploding Europe. Nations without children have no future. © 2011 Journal of Baltic Studies
Combining Effects and Coeffects via Grading
This is the author accepted manuscript. It is currently under an indefinite embargo pending publication by the Association for Computing Machinery. and are two general, complementary aspects of program behaviour. They roughly correspond to computations which change the execution context (effects) versus computations which make demands on the context (coeffects). Effectful features include partiality, non-determinism, input-output, state, and exceptions. Coeffectful features include resource demands, variable access, notions of linearity, and data input requirements.
The effectful or coeffectful behaviour of a program can be captured and described via type-based analyses, with fine grained information provided by monoidal effect annotations and semiring coeffects. Various recent work has proposed models for such typed calculi in terms of for effects and for coeffects.
Effects and coeffects have been studied separately so far, but in practice many computations are both effectful and coeffectful, e.g., possibly throwing exceptions but with resource requirements. To remedy this, we introduce a new general calculus with a combined . This can describe both the and that a program has on its context, as well as interactions between these effectful and coeffectful features of computation. The effect-coeffect system has a denotational model in terms of effect-graded monads and coeffect-graded comonads where interaction is expressed via the novel concept of . This graded semantics unifies the syntactic type theory with the denotational model. We show that our calculus can be instantiated to describe in a natural way various different kinds of interaction between a program and its evaluation context.Orchard was supported by EPSRC grant EP/M026124/1 and EP/K011715/1 (whilst previously at Imperial College London), Katsumata by JSPS KAKENHI grant JP15K00014, Uustalu by Estonian Min. of Educ. and Res. grant IUT33-13 and Estonian Sci. Found. grant 9475. Gaboardi’s work was done in part while at the University of Dundee, UK supported by EPSRC grant EP/M022358/1