Results 1  10
of
17
A Modal Analysis of Staged Computation
 JOURNAL OF THE ACM
, 1996
"... We show that a type system based on the intuitionistic modal logic S4 provides an expressive framework for specifying and analyzing computation stages in the context of functional languages. Our main technical result is a conservative embedding of Nielson & Nielson's twolevel functional la ..."
Abstract

Cited by 197 (22 self)
 Add to MetaCart
We show that a type system based on the intuitionistic modal logic S4 provides an expressive framework for specifying and analyzing computation stages in the context of functional languages. Our main technical result is a conservative embedding of Nielson & Nielson's twolevel functional language in our language MiniML, which in
A Judgmental Reconstruction of Modal Logic
 Mathematical Structures in Computer Science
, 1999
"... this paper we reconsider the foundations of modal logic, following MartinL of's methodology of distinguishing judgments from propositions [ML85]. We give constructive meaning explanations for necessity (2) and possibility (3). This exercise yields a simple and uniform system of natural deductio ..."
Abstract

Cited by 167 (39 self)
 Add to MetaCart
(Show Context)
this paper we reconsider the foundations of modal logic, following MartinL of's methodology of distinguishing judgments from propositions [ML85]. We give constructive meaning explanations for necessity (2) and possibility (3). This exercise yields a simple and uniform system of natural deduction for intuitionistic modal logic which does not exhibit anomalies found in other proposals. We also give a new presentation of lax logic [FM97] and find that it is already contained in modal logic, using the decomposition of the lax modality fl A as
Categorical and Kripke Semantics for Constructive S4 Modal Logic
 In International Workshop on Computer Science Logic, CSL’01, L. Fribourg, Ed. Lecture Notes in Computer Science
, 2001
"... We consider two systems of constructive modal logic which are computationally motivated. Their modalities admit several computational interpretations and are used to capture intensional features such as notions of computation, constraints, concurrency, etc. Both systems have so far been studied m ..."
Abstract

Cited by 27 (1 self)
 Add to MetaCart
(Show Context)
We consider two systems of constructive modal logic which are computationally motivated. Their modalities admit several computational interpretations and are used to capture intensional features such as notions of computation, constraints, concurrency, etc. Both systems have so far been studied mainly from typetheoretic and categorytheoretic perspectives, but Kripke models for similar systems were studied independently. Here we bring these threads together and prove duality results which show how to relate Kripke models to algebraic models and these in turn to the appropriate categorical models for these logics.
Categorical and Kripke Semantics for Constructive Modal Logics
, 2001
"... We consider two systems of constructive modal logic which are computationally motivated. Their modalities admit several computational interpretations and are used to capture intensional features such as notions of computation, constraints, concurrency design, etc. Both systems have so far been studi ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
We consider two systems of constructive modal logic which are computationally motivated. Their modalities admit several computational interpretations and are used to capture intensional features such as notions of computation, constraints, concurrency design, etc. Both systems have so far been studied mainly from a typetheoretic and categorytheoretic perspectives, but Kripke models for similar systems were studied independently. Here we bring these threads together and prove duality results which show how to relate Kripke models to algebraic models and these in turn to the appropriate categorical models for these logics.
From dynamic binding to state via modal possibility
 In PPDP ’03: Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declaritive Programming
, 2003
"... In this paper we propose a typed, purely functional calculus for state (with secondclass locations) in which types reflect the dichotomy between reading from and writing into the global store. This is in contrast to the usual formulation of state via monads, where the primitives for reading and wri ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
(Show Context)
In this paper we propose a typed, purely functional calculus for state (with secondclass locations) in which types reflect the dichotomy between reading from and writing into the global store. This is in contrast to the usual formulation of state via monads, where the primitives for reading and writing introduce the same monadic type constructor. We hope to argue that making this distinction is useful, simple, and has strong logical foundations. Our type system is based on the proofterm calculus for constructive modal logic S4, which has two modal type operators: for necessity and 3 for possibility. We extend this calculus with the notion of names (which stand for locations) and generalize to indexed families of modal operators (indexed by sets of names). Then, the modal type CA classifies computations of type A which read from store locations listed in the set C. The dual type 3CA classifies computations which first write into the locations from C and than use the changed store to obtain a value of type A. There are several benefits to this development. First, the necessitation fragment of the language is interesting in its own: it formulates a calculus of dynamic binding. Second, the possibility operator 3 is a monad, thus forcing the singlethreading of memory writes, but not of memory reads (as these are associated with ). Finally, the different status of reads and writes gives rise to a natural way of expressing the allocation of uninitialized memory while also providing guarantees that only initialized locations are dereferenced.
Relating Categorical and Kripke Semantics for Intuitionistic Modal Logics
 In Proceedings of the Conference on Advances in Modal Logic (AIML'98
, 1998
"... This paper is about relating traditional Kripkestyle semantics for intuitionistic modal logics to their corresponding categorical semantics. Both forms of semantics have important applications within computer science. One of our aims is to persuade traditional modal logicians that categorical seman ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
This paper is about relating traditional Kripkestyle semantics for intuitionistic modal logics to their corresponding categorical semantics. Both forms of semantics have important applications within computer science. One of our aims is to persuade traditional modal logicians that categorical semantics is easy, fun and useful; just like Kripke semantics.
A Modal Calculus for Named Control Effects
"... The monadic formulation of exceptions forces a programming stylein which the program itself must specify a total ordering on the evaluation of exceptional computations. Moreover, unless a callbyname strategy is used, values of monadic types must be tested before they are used, in order to determin ..."
Abstract
 Add to MetaCart
(Show Context)
The monadic formulation of exceptions forces a programming stylein which the program itself must specify a total ordering on the evaluation of exceptional computations. Moreover, unless a callbyname strategy is used, values of monadic types must be tested before they are used, in order to determine whether they correspondto a raised exception or not. In this
Under consideration for publication in Math. Struct. in Comp. Science A Judgmental Reconstruction of Modal Logic
, 2000
"... We reconsider the foundations of modal logic, following MartinLöf’s methodology of distinguishing judgments from propositions. We give constructive meaning explanations for necessity and possibility which yields a simple and uniform system of natural deduction for intuitionistic modal logic which d ..."
Abstract
 Add to MetaCart
(Show Context)
We reconsider the foundations of modal logic, following MartinLöf’s methodology of distinguishing judgments from propositions. We give constructive meaning explanations for necessity and possibility which yields a simple and uniform system of natural deduction for intuitionistic modal logic which does not exhibit anomalies found in other proposals. We also give a new presentation of lax logic and find that the lax modality is already expressible using possibility and necessity. Through a computational interpretation of proofs in modal logic we further obtain a new formulation of Moggi’s monadic metalanguage.
A Modal Calculus for Exception Handling Abstract
"... The exception monad, while an adequate mechanism for providing the denotational semantics of exceptions, is somewhat awkward to program with. Just as any other monad, it forces a programming style in which exceptional computations are explicitly sequentialized in the program text. In addition, value ..."
Abstract
 Add to MetaCart
(Show Context)
The exception monad, while an adequate mechanism for providing the denotational semantics of exceptions, is somewhat awkward to program with. Just as any other monad, it forces a programming style in which exceptional computations are explicitly sequentialized in the program text. In addition, values of computation types must usually be tested before use, in order to determine if they correspond to a raised exception. In this paper we propose a type system that rearranges the monadic formulation, so that the above shortcomings are avoided. Instead of the exception monad, we propose the operator � from the modal logic S4 to encode exceptional computation. The way tracking of exceptions is organized in the modal system is exactly dual to the monadic case, reflecting the wellknown property that � is actually a comonad. Key words: monads, exceptions, modal logic. 1
Programming languages for interactive computing
, 2007
"... Traditional programming languages are algorithmic: they are best suited to writing programs that acquire all their inputs before executing and only produce a result on termination. By contrast most applications are interactive: they maintain ongoing interactions with their environments. Modern syste ..."
Abstract
 Add to MetaCart
(Show Context)
Traditional programming languages are algorithmic: they are best suited to writing programs that acquire all their inputs before executing and only produce a result on termination. By contrast most applications are interactive: they maintain ongoing interactions with their environments. Modern systems address this incompatibility by manually extending the execution model of the host language to support interaction, usually by embedding an eventdriven state management scheme which executes fragments of imperative code in response to interactions, the job of each executed fragment being to restore the internal consistency of the computation. The downside of this approach to interaction is that it relies heavily on mutable stores and sideeffects and mixes application logic in with behaviour which is more properly the responsibility of an execution model. I describe a programming model called declarative interaction which supports interaction directly. The distinguishing feature of the model is its modal construal of state and interaction. 1 Declarative interaction Almost all software systems today are interactive, in that they maintain ongoing interactions with