A friend of mine, Roger Engelber, pointed me to a nice article on doing functional programming in Lua. The article detailed the steps to generate a flame like effects using a simple particle system.
Of course, it naturally lead to me trying to do the same in Elm!
To translate the approach was really straight forward, though there are some minor differences, e.g. alpha values in Elm are between 0 to 1 but 0 to 255 in Lua.
The code is available on github, feel free to poke around.
Here are two variations in action: