Category Archives: system level semantics

So what is a “pure programming language” anyway?

This is one of those questions that is inflammatory enough to start a flame war, so it should make a good title for a blog post. But instead of feeding the flames I want to pour some water or whatever … Continue reading

Posted in programming languages, system level semantics | Leave a comment

The ultimate programming language?

In several earlier posts I was considering how the conventional notion of contextual equivalence, which relies relies on quantification over syntactic contexts, is sometimes not suitable and a more direct notion of equivalence should be used. This notion of equivalence, which I … Continue reading

Posted in system level semantics | Leave a comment

Two consequences of full abstraction

In a recent paper [pdf] with my student Zaid Al-Zobaidi we describe two enhancements to the GoI compiler. The first one is a tamper-proof mechanism which guarantees that no low-level attacks against the compiled code are possible. This is very nice … Continue reading

Posted in game semantics, Geometry of Synthesis, system level semantics | 1 Comment

Armchair philosophy

I was reading recently a fun paper by Wesley Phoa, Should computer scientists read Derrida? [pdf]. I was attracted by what seemed to me a preposterous title, being quite sure the paper is a parody. Instead, I found myself confronted with a … Continue reading

Posted in game semantics, system level semantics | 11 Comments

The case for a system-level semantics

In an earlier post I was deploring the way research in programming language semantics fetishises syntax. Because adding to a language anything other than syntactic sugar changes contextual equivalence in the language, the semantic model induced by syntactic context is (sometimes … Continue reading

Posted in system level semantics | 4 Comments

A case against syntactic context

A program is what a program does, so if two programs do the same thing then they are the same thing. Semantics starts when you try to pin down what “doing the same thing” means. What is observable? Input and … Continue reading

Posted in system level semantics | 1 Comment