Documentation

Articles

Contribute

Whiley v0.3.13 Released!

Well, it’s been almost two months in the making, but here’s the next release of Whiley.  Quite of lot of changes, although there remain significant issues to resolve — particularly with the front-end.

ChangeLog Fixed outstanding problem with list and set types related to type tests.  More specifically, on the negative branch of a . . . → Read More: Whiley v0.3.13 Released!

Connecting the Dots on the Future of Programming Languages

Yesterday, I serendipitously came across two things which got me thinking about the future of programming languages:

The first was an excellent article entitled “Welcome to the Hardware Jungle” by Herb Sutter. This article is about the coming advent our multicore overlords. Whilst this might sound like something you’ve heard before, it’s actually well . . . → Read More: Connecting the Dots on the Future of Programming Languages

Three Rules for Programming Language Syntax?

I’m always pondering the question: what makes good programming language syntax? One thing occuring to me is that many languages often ignore the HCI aspect.  For me, it’s a given that the purpose of a programming language is to simplify the programmer’s life, not the other way around.

So, I thought of a few . . . → Read More: Three Rules for Programming Language Syntax?

Merchants of Doubt

I’ve just finished reading this book, which I have to say was really good.  The book is about how a handful of rogue scientists deliberately spread disinformation on a range of key issues, including tobacco, acid rain, the ozone hole and climate change.  Their key strategy was to argue the science . . . → Read More: Merchants of Doubt

Whiley Talk at Wellington JUG (VIDEO)

Last month, the Wellington Java User Group was kind enough to invite me to give a talk on Whiley.  The talk is a general introduction to Whiley, including the syntax, some issues related to implementation and inter-operation with Java.  The talk was video and, finally, after some faffing around I’ve uploaded it onto YouTube . . . → Read More: Whiley Talk at Wellington JUG (VIDEO)

Efficient Value Semantics for Whiley

The latest release of the Whiley compiler (v0.3.12) includes an optimisation for passing compound structures (e.g. lists, sets and records) by value.  This is really important because all compound structures in Whiley have value semantics, meaning they are always passed by value.  In fact, Whiley does not support references or pointers as found in . . . → Read More: Efficient Value Semantics for Whiley

Final should be Default for Classes in Java

We were having an interesting discussion the other day, and the issue of final classes came up.  For some reason, it suddenly occurred to me that all classes should be final by default. That is, classes should be implicitly final, rather than requiring an explicit declaration.  For example, the following should be considered invalid . . . → Read More: Final should be Default for Classes in Java

Whiley v0.3.12 Released!

Well, crikey, what a long time since the last release.  Things haven’t changed a whole lot, apart from various bug fixes.  Probably the most interesting update is the inclusion of reference counting of compound structures to enable in-place updates and prevent unnecessary cloning.  This leads to some nice performance improvements.  Quite a bit of . . . → Read More: Whiley v0.3.12 Released!

Not all Tests are Passing … is that so Bad?

For the Whiley compiler, I currently have over 500 end-end tests and in excess of 15,000 unit tests (most of which were auto-generated and target the type system).  Each end-end test is a short Whiley program that is  categorised as either valid or invalid.  Valid tests also include sample output and are expected to . . . → Read More: Not all Tests are Passing … is that so Bad?

Whiley v0.3.11 Released!

As usual, it’s been a surprising amount of effort … but the next release of Whiley is available!  It’s been quite a long time since the last update, but then quite a lot has improved.  Unfortunately, I did find a fairly serious problem with my type system, which means I’ve got to go back . . . → Read More: Whiley v0.3.11 Released!