Recently, I finished reading Freakonomics, by Steven Levitt and Stephen Dubner. and I have to say that I really liked it!!

The book is focuses on the study of everyday aspects of life using the tools of economics and statistics.  What I really liked is that the author is really trying . . . → Read More: Freakonomics

Minimising Recursive Data Types

Following on from my previous post about structural subtyping with recursive types, a related problem is that of minimising recursive types. Consider this (somewhat artificial) example:

define InnerList as null | { int data, OuterList next } define OuterList as null | { int data, InnerList next } int sum(OuterList list): if list ~= . . . → Read More: Minimising Recursive Data Types

A Problem with Structural Subtyping and Recusive Types

One problem causing me a headache is how to implement [[Structural type system|structural subtyping]] for [[recursive data type|recursive types]] (which I first blogged about here). The following example illustrates the basic idea:

define Link as { int data, LinkedList next } define LinkedList as null | Link LinkedList f(Link list): return list

This is . . . → Read More: A Problem with Structural Subtyping and Recusive Types

Whiley v0.3.3 Released!

This latest update of Whiley is a somewhat minor increment over the previous.  Aside from a number of bug fixes the main improvement is the inclusion of first-class functions (aka function pointers).  Constraint checking remains disabled, as it still needs a considerable amount of work (which I’m working on 🙂

Function pointers can be . . . → Read More: Whiley v0.3.3 Released!

What Motivates Us?

Here’s an interesting video that I just came across (adapted from Dan Pink’s talk at the RSA), which is currently doing the rounds: The video is about what motivates people to do things and, in particular, whether or not giving people more money means they do a better job.  Definitely worth a look … . . . → Read More: What Motivates Us?