Articles

Property Syntax in Whiley

Recently, I gave a demo which showed off thew new “Property Syntax” in Whiley. Whilst this is still in the devel branch it will make its way, soon enough, into the next release. I thought it would be interesting to give a quick taste of the syntax.

To understand the purpose of properties, let’s . . . → Read More: Property Syntax in Whiley

Contractive and Uninhabited Types in Whiley

An interesting feature of Whiley is that it supports true recursive types.  These are surprisingly tricky to get right, and recently we came across some interesting examples that the Whiley compiler should (but doesn’t) check for.

Recursive Types

The following illustrates the syntax for recursive types in Whiley:

type Link is {any data, LinkedList . . . → Read More: Contractive and Uninhabited Types in Whiley

Eclipse Plugin v0.1.1 Released

After the recent release of Whiley v0.3.22 which updated the language syntax, I have now updated the Eclipse plugin accordingly.  See this page for more on installing the plugin from within Eclipse.

Whiley v0.3.21 Released!

This is a slightly quicker release than usual, with only a few relatively minor fixes and refactorings, etc:

Factored JVM Bytecode library into a separate project, called Jasm Various bug fixes mostly related to verification.  See here for the complete list.

I’ve also been working quite a lot on the Eclipse plugin, and will . . . → Read More: Whiley v0.3.21 Released!

Whiley Features in the Dominion Post!

Today’s edition of the Dominion Post (Wellington’s Local Newspaper) features a nice article on Whiley:

Obviously, I’m very excited to see Whiley being talked about in our local newspaper, and I think the article does a nice job of it.  There is also an electronic version as . . . → Read More: Whiley Features in the Dominion Post!

Profiling Field Initialisation in Java

Recently, I attended the annual Conference on Runtime Verification (RV2012) and gave a talk entitled “Profiling Field Initialisation in Java” (slides for the talk are here, and the paper itself is here). This is the work of my PhD student, Stephen Nelson, and he should take all the credit for the gory details. However, . . . → Read More: Profiling Field Initialisation in Java

Whiley Interview on VBC 88.3FM

Recently, I was on VBC 88.3FM (Victoria University’s Student Radio) giving a 60s “speed summary” of my research, and generally chatting about some tech stuff.  The station has been interviewing a whole range of people at the university to raise awareness of what research is going on.  Anyhow, I agreed to do the interview which . . . → Read More: Whiley Interview on VBC 88.3FM

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 [[Human-computer interaction|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 . . . → Read More: Three Rules for Programming Language Syntax?

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

What Kind of Revert are You?

Reverting is tough.  There’s no doubt about it!  I don’t mean tough as in technically challenging — no, version control systems make this easy!  I mean tough as in mentally challenging.  You’re faced with days or weeks of effort going down the drain, and you have to decide when to pull the plug.  Sure, . . . → Read More: What Kind of Revert are You?