Continued (2): Simple concurrent evaluation strategies in mainstream languages

OK, so we’ve all been busily tapping away at our keyboards trying to implement the rough design we came up with last time. Let’s have a look at one way of doing it (this is just one way; there are obviously many different methods). public class CallByFuture<T> { public delegate T CallResult(); public static implicit [...]

Continued: Simple concurrent evaluation strategies in mainstream languages

Last time, we outlined an evaluation strategy known as “Call-by-future” and determined that it might (just might!) be useful in adding an easy to use concurrency feature to mainstream languages. Now we’re resolved to implement it, what features should we be aiming for in our implementation? Easy to understand – the solution we come up [...]

Simple concurrent evaluation strategies in mainstream languages

Writing code that makes good use of parallel execution techniques in most mainstream languages is not an easy task. Not only must you specifically write code that is safe for such execution, but then you have to manually deal with the laborious task of making it parallel – spinning up threads, waiting for them to [...]

Boost build problems on Windows

In the vein of putting useful but obscure snippets here for Google to find, I’ve recently been having problems getting the excellent Boost C++ libraries to build under Windows. In short, bjam (the boost “make” style tool) crashes upon invocation, regardless of how you configure your environment. After some digging, it transpires that this is [...]

Ode to the Trials of an Programmers Outmoded Toolkit

Microsoft MVP Phil Weber is running a competition with licences for VS 2005 combined with one year of MSDN Premium as the prizes. My now student status rather rules out a purchase of the VS magnitude (espcially not Team System!) and whilst the express editions are nice, the features missing cut rather close to home [...]