Complex Queues

4 Feb 2017 immutable-types csharp

As discussed last time, the solution to our performance problem is to ensure our _inbound stack doesn’t get too large before we reverse it. This means we need to reverse it early; we can’t leave reversal until it’s needed to replace _outbound.


Queue Concatenation

11 Feb 2017 immutable-types csharp

If you have a whole sequence of items you want to add to an existing IImmutableQueue<T>, it’s pretty simple to write a loop to add them all. We can make this even easier by writing a simple extension method that handles the looping on our behalf.


Sharpen The Saw #10

13 Feb 2017 sharpen-the-saw

In this edition: Monitoring for negative events (and why your application should have a blog); writing Python with Visual Studio; the effect of negative stereo types amid language snobbery; big data is just like nuclear waste; and WAT is going on with JavaScript.


Factory Methods

18 Feb 2017 immutable-types csharp

Our stacks and queues don’t exist in isolation - they have to interoperate with standard framework classes and other domain constructs to be useful. For example, it is extremely useful to have some factory methods to make it easier to construct stacks and queues from existing lists and sequences.


Restored Posts

19 Feb 2017 admin

I’ve restored a few very old blog posts from 2004-2005, copied from an older version of my blog:


Testing Immutable Types

25 Feb 2017 immutable-types csharp testing

As alluded to previously, having a good suite of unit tests is critical for ensuring these immutable instances do what they should - after all, there’s no point in having a queue or stack that doesn’t behave.