Documentation

Articles

Contribute

The Case Against Structural Subtyping … ?

My previous post on structural subtyping generated quite a few comments over on reddit.  There were a lot of mixed opinions as to the pros and cons of having a structural type system instead of a nominal type system. To help me digest and ponder it all, I thought I’d discuss the main themes . . . → Read More: The Case Against Structural Subtyping … ?

Modular Purity Analysis for Java

Well, after an agonizing wait I finally heard the news that my paper on purity analysis was accepted to the Conference on Compiler Construction, 2011.  Obviously, I’m stoked!  The paper is:

JPure: a Modular Purity System for Java. David J. Pearce. In Proceedings of the Conference on Compiler Construction, 2011. [PDF]

A pure function . . . → Read More: Modular Purity Analysis for Java

Why not use Structural Subtyping?

Modern programming languages generally use what is known as a Nominal type system.  This means types are associated with explicit names and subtyping relationships are explicit in the code (e.g. via extends or implements). This approach has the advantage of being relatively simple to implement; however, at the same time, it is quite restrictive . . . → Read More: Why not use Structural Subtyping?

More on Flow-Sensitive Typing

The idea behind flow-sensitive typing in Whiley is to give a statically typed language the look-and-feel of a dynamically typed language (as much as possible).  The following illustrates:

int average([int] items): v = 0 for i in items: v = v + items[i] return v / |items|

Here, we see that there are only . . . → Read More: More on Flow-Sensitive Typing

Whiley at Dagstuhl

The abstracts from the Dagstuhl seminar I recently attended are now available on the seminar site — there’s even a photo!  The seminar was a lot of fun, and I encourage everyone who gets the chance to go along.  The idea is that you get a bunch of people together, and then brainstorm for . . . → Read More: Whiley at Dagstuhl