Some serious research work I'm doing is actually pretty close to this.
Basically, everything is call-by-name, and instead of storing values,
you just remember where to get them; instead of passing arguments to a
function, you simply tell it where to ask in order to get the value.
Then the actual values are just constants.
The language I'm doing in my serious research work actually does have
variables, but I see no reason why they're required in order to create a
language like this.
Then, all you have to do in order to pull it out into a full language is
to have each individual term or function on a separate machine, and have
them all communicate with each other, giving each other either constant
values, or information on who to ask for a value (which might end up
being iterated).
This isn't fleshed out, obviously, but seems like a reasonable direction
to develop it on.
--
ais523