A conversation today led me to dig out the very first piece of coursework I did on my degree. Here it is:
times :: num -> num -> num times m n = 0, if m = 0 = (times (m-1) n) + n, otherwise
I smile at this for so many reasons. It's a multiplication program written in a language called Miranda. The language was unlike any I'd seen before, and sadly unlike anything I've used since graduating.
Today I chatted a while with Simon Peyton Jones who works with Haskell, a direct successor to Miranda. Simon talked of his work and how Functional Programming - the class of language that Miranda and Haskell belong to - continues to influence modern software development.
All the time, at the back of my mind I wondered what happened to that sense of excitement and wonder at brave new world Miranda introduced me to. Just when did I become happy designing network devices rather than engineering software?
All contents copyright © 1999-2010 Paul and Emma Bennett