Research topics in functional programming
The lazy Lambda calculus in a concurrency scenario
Information and Computation
Proving congruence of bisimulation in functional programming languages
Information and Computation
Bisimilarity for a first-order calculus of objects with subtyping
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operational reasoning for functions with local state
Higher order operational techniques in semantics
An indexed model of recursive types for foundational proof-carrying code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new?
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
Untyped Lambda-Calculus with Input-Output
CAAP '96 Proceedings of the 21st International Colloquium on Trees in Algebra and Programming
Towards a Theory of Bisimulation for Local Names
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
A Theory of Bisimulation for a Fragment of Concurrent ML with Local Names
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
A bisimulation for dynamic sealing
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
A bisimulation for type abstraction and recursion
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Small bisimulations for reasoning about higher-order imperative programs
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 6th international conference on Aspect-oriented software development
A bisimulation for dynamic sealing
Theoretical Computer Science
Environmental Bisimulations for Higher-Order Languages
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
A bisimulation for type abstraction and recursion
Journal of the ACM (JACM)
Typed Normal Form Bisimulation for Parametric Polymorphism
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
Reasoning about imperative and higher-order programs
Reasoning about imperative and higher-order programs
Semantic foundations for typed assembly languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
The impact of higher-order state and control effects on local relational reasoning
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Bisimulations for untyped imperative objects
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Typed normal form bisimulation
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
A fully abstract trace semantics for general
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
Program equivalence in a simple language with state
Computer Languages, Systems and Structures
Verifying backwards compatibility of object-oriented libraries using Boogie
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
On coinductive equivalences for higher-order probabilistic functional programs
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
We illuminate important aspects of the semantics of higher-order functions that are common in the presence of local state, exceptions, names and type abstraction via a series of examples that add to those given by Stark. Most importantly we show that any of these language features gives rise to the phenomenon that certain behaviour of higher-order functions can only be observed by providing them with arguments which internally call the functions again. Other examples show the need for the observer to accumulate values received from the program and generate new names. This provides evidence for the necessity of complex conditions for functions in the definition of environmental bisimulation, which deviates in each of these ways from that of applicative bisimulation.