|
|
By Dave, on April 17th, 2012
Whiley uses flow typing to give it the look-and-feel of a dynamically typed language (see this page for more on flow typing). In short, flow typing means that variables can have different types at different program points. For example:
define Node as { int data, Tree left, Tree right } define Tree as null . . . → Read More: Termination of Flow Typing in Whiley
By Dave, on March 7th, 2012
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!
By Dave, on 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. So, whenever I get one of these things, I can rely on it being sorted. Here’s . . . → Read More: Type Aliasing in Java?
By Dave, on 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. Let’s consider a simple example:
package zlib.core import Console . . . → Read More: A Problem of Decoupling?
By Dave, on February 13th, 2012
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
By Dave, on January 24th, 2012
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!
By Dave, on 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. In fact, Whiley does not support references or pointers as found in . . . → Read More: Efficient Value Semantics for Whiley
By Dave, on December 2nd, 2011
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!
By Dave, on November 1st, 2011
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?
By Dave, on October 28th, 2011
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!
|
|
Popular Posts