Comparing regular expressions and finite state machines

This is the last in a series about regular expressions and finite state machines Regular expressionsFinite state machinesComparing regular expressions and finite state machines In this article I won’t be introduce any big new things, but instead I’ll be showing how two things I’ve already discussed in the previous two articles relate to each other.  … Continue reading Comparing regular expressions and finite state machines

How permanent is your data?

This article was inspired by a video from the British Museum, where a conservator discusses a 500-year-old khipu.  A khipu is a document, used for keeping records or accounts, made of knotted strings. https://www.youtube.com/watch?v=-mvjiMjZf-4 I recommend you watch the video – I found it really interesting and well-presented. I hadn’t come across khipus before, and … Continue reading How permanent is your data?

Recursion and iteration – loop unrolling

This article is part of a series on recursion and iteration: Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will talk about loop unrolling, and the wonder / horror that is Duff's device. Image credit Loop unrolling Loop unrolling is something to do only when you're very … Continue reading Recursion and iteration – loop unrolling

Recursion and iteration – blurring the lines

This article is part of a series on recursion and iteration Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling In this article I will look at how the lines between iteration and recursion can get a bit blurry. This breaks down into three areas: Iteration = fast, recursion = slow isn't … Continue reading Recursion and iteration – blurring the lines

Recursion and iteration – mutual recursion and tail recursion

This is part of a series of articles about iteration and recursion. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I have covered the basics of recursion in a previous article. In this article I will go onto two more advanced, rare and obscure versions of recursion - mutual recursion and … Continue reading Recursion and iteration – mutual recursion and tail recursion

Recursion and iteration – an introduction to recursion

This is the second article in a series about recursion and iteration. Introduction to iterationIntroduction to recursionMutual recursion and tail recursionBlurring the linesLoop unrolling I will assume that you have already read the article on iteration, and this article will focus on recursion. Like iteration, recursion is a way of repeatedly doing the same or … Continue reading Recursion and iteration – an introduction to recursion