archives

"The Anatomy of a Loop"

What's better: recursion or iteration? This topic has been discussed to death on LtU:

Olin I-did-it-all-by-myself Shivers weighs in [PDF, 194K]:

In call-by-value functional languages such as ML or Scheme, we typically write loops using tail-recursive function calls. This is actually a terrible way to express program iteration, and it's not hard to see why. As was popularised by Steele, a tail call is essentially a "goto that passes arguments." So writing loops with tail calls is just writing them with gotos. Yet, it has long been accepted in the programming-language community that goto is a low-level and obfuscatory control operator, a position stated by Dijkstra's "Goto considered harmful" letter.

Ivory, an experimental declarative programming system

It has probably all been done before, but for a number of years I have been attempting to construct a "data" driven programming system.

There is a scrappy website under construction at:
www.ivorysystem.com
or
www.ivoryscript.com
where I am trying to present what has been done so far.

Apart from some useful work done by some staff at Southampton University, it has been something of a solitary exercise. As the system includes a new programming language derivative, this is far from ideal, and I would appreciate any serious peer review and the opportunity to discuss whether or not anything of worth has been achieved.

The website has a .zip archive containing an executable file. I am reasonably sure that it doesn't contain any viruses, but I can't take any responsibility if it becomes infected.