functional programming

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


Neel Krishnaswami <neelk at brick.cswv.com> wrote in message
news:slrn8b69pc.bv3.neelk at brick.cswv.com...
> François Pinard <pinard at iro.umontreal.ca> 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
output
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: http://www.ai.mit.edu/~cvieri/reversible.html

Now back to your regular scheduled Python.

--Jeff






More information about the Python-list mailing list