Recently, I’ve been working on a variety of sequential and concurrent micro benchmarks for testing Whiley’s performance. An interesting and relatively simple example, is the parallel sum. The idea is to sum a large list of integers whilst performing as much work as possible in parallel.
To implement the parallel sum, I divide the . . . → Read More: Parallel Sum in Whiley
Recently, I’ve been doing some work on the syntax for [[Actor model|Actors]] in Whiley. After some deliberation, I’ve decided to go with explicit syntax for both synchronous and asynchronous message sends. This means any message can be sent either synchronously or asynchronously. Obviously, sending asynchronously is preferable. However, in cases where a return value . . . → Read More: Actor Syntax in Whiley
ChangeLog Separated compiler up into two main components as follows: The Whiley Compiler (wyc). This provides a base compiler which is responsible for parsing whiley programs, as well as type checking and constraint checking them. This outputs whiley bytecode (wyil) which can then either be executed directly, or compiled to some target platform (e.g. . . . → Read More: Whiley v0.3.5 released!
The [[Actor Model]] is an interesting alternative to the standard threading model used in languages like Java. Its been around for a while, but Erlang has recently brought it into the mainstream. Roughly speaking, an actor corresponds to a Thread, except that actors do not share state. Actors communicate by sending messages, and [[Synchronization . . . → Read More: Actors on the JVM
Whiley adopts the [[Actor model]] of concurrency, instead of the traditional [[Thread (computer science)|multi-threading]] approach used in e.g. Java. The actor model is simple and easy to use, and is less likely to result in complex [[race condition|race conditions]] or [[deadlock|deadlocks]]. The Actor Model has been around for a while, but Erlang has recently . . . → Read More: Implementing Actors on the JVM