Dr. David J. Pearce
Type Aliasing in Java?
Friday, March 2nd, 2012
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.
A Problem of Decoupling?
Wednesday, February 29th, 2012
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.
Writing a PNG Decoder in Whiley!
Saturday, February 18th, 2012
Over the last few days, I have been writing GIF and PNG decoders in Whiley. These form part of an image manipulation benchmark which I’m planning to use for experimenting with the compiler.
Three Rules for Programming Language Syntax?
Wednesday, January 11th, 2012
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.
Merchants of Doubt
Tuesday, December 27th, 2011
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.
Efficient Value Semantics for Whiley
Tuesday, December 13th, 2011
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.
Final should be Default for Classes in Java
Tuesday, December 6th, 2011
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.
Fall-Through by Default for Switch Statements?
Wednesday, October 26th, 2011
The switch statement has a long history, and most languages support it or something similar. In my experience, I found it to be very useful — both for conciseness, and also improving performance.
What Kind of Revert are You?
Wednesday, October 19th, 2011
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.
Namespaces in Whiley
Saturday, September 3rd, 2011
With the upcoming v0.3.10 release of Whiley, the way import statements are interpreted has changed in a fairly significant manner. The primary purpose of this is to give better support for namespaces.