functional programming

Jeff Petkau jpet at
Wed Feb 23 03:43:09 EST 2000

Neel Krishnaswami <neelk at> wrote in message
news:slrn8b69pc.bv3.neelk at
> François Pinard <pinard at> wrote:
> > P.S. - Yes, I know it has been theoretically proven that we could design
> > computers needing no energy, if we could fully avoid side-effects, but I
> > beg to do not consider this a practical advantage yet. :-)
> Actually, this *isn't* so!
> Consider a computer with a memory space of N bits. After performing
> some number of arbitrary computations, the memory space will be in a
> random configuration of ones and zeros.[*]
> [...]

Hence the notion of reversible computers (which actually don't care whether
you're programming in a functional style, so my post is *really* off topic,
sorry about that). For every primitive logic operation, you add enough
lines so that you can figure out from the output what the input must have
been. Then you run your computer to solve your problem, copy off the
answer (here you pay the thermodynamic price, but it's very very small)
and then run your computer backwards to its initial state. So you don't have
to erase all those bits in the memory space.

I think Feynman came up with this notion first, around 1980 or so. Here's
a link courtesy of Google:

Now back to your regular scheduled Python.


More information about the Python-list mailing list