Proposed Syntax Changes for Whiley

Now that I’ve had the chance to write a reasonable amount of code in Whiley, it is time to reflect on some things I don’t like.  In particular, there are a number of issues with the syntax which I’d like to improve which I’ll document here.

Function & Method Declarations

Currently, the syntax for . . . → Read More: Proposed Syntax Changes for Whiley

Are Checked Exceptions Always Caused by I/O?

Recently, I’ve had the pleasure of working with Eclipse and trying to build a plugin.  On the whole, I have to confess, I find that Eclipse is an extremely well-designed and considered piece of software.  The biggest problem, I suppose, is that it is designed for a wide variety of tasks and this means . . . → Read More: Are Checked Exceptions Always Caused by I/O?

Test to Code Ratio

I’ve just been watching the following talk over on InfoQ: Software Quality — You know it when you see it.  Thanks to Craig over at SoftViz for pointing me to it.  The talk is quite interesting, with the focus being primarily around using innovative visualizations of software to gauge quality.

But, that’s not what . . . → Read More: Test to Code Ratio

Whiley v0.3.14 Released!

Finally, it’s time for yet another release.  The main change with this release has been a reworking of the compiler framework into a more serious build system called, unsurprisingly, the Whiley Builder System (wybs).  This has helped integration with both Ant and Eclipse.  However, there remain a few aspects of it that need improvement, . . . → Read More: Whiley v0.3.14 Released!

Type Aliasing in Java?

A problem I often encounter in Java is that I want to say “these two things are the same”, but Java won’t let me. Suppose I want to maintain an int[] array which is always sorted in my program. So, whenever I get one of these things, I can rely on it being sorted. Here’s . . . → Read More: Type Aliasing in Java?

A Problem of Decoupling?

Recently, I’ve been working on improving the core framework that underpins the Whiley compiler.  This provides a platform for reading/writing files of specified content in a structured fashion.  Like Java, Whiley provides a hierarchical namespace in which names live and can be imported by others.  Let’s consider a simple example:

package zlib.core import Console . . . → Read More: A Problem of Decoupling?

Design of the Whiley Compiler (Wyc) Front-End

Designing the front-end of the Whiley Compiler (Wyc) is a somewhat delicate and complicated issue.  I have iterated on this a few times, and still not found a solution I’m happy with.  It’s important, because it ultimately determines what is possible in terms of language syntax and what is not.  That is, when certain . . . → Read More: Design of the Whiley Compiler (Wyc) Front-End

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

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