**The absurdly simplistic conceptual summary**
One of the basic features of quantum physics that are of interest to computer scientists is the fact that a particle can be in more than one state at a time, and the state of a particle can only be determined by looking at it. Shroedinger's infamous thought-experiment with the cat conceptually summarizes this. The basic principle is, say you have a particle, which we'll call "Bob". It can have two states, called state A and state B. How can you tell what state your Bob particle is in? Well, you have to look at it. Seems pretty obvious, right?

But what state is Bob in when you're *not* looking at it? What quantum mechanics tells us is that it is in all of its possible states, at once! This is called a quantum superposition, and is meant as literally as possible. It isn't in one state or the other, and we just don't know which-- it is literally in all possible states, at the same time.

What interests computer scientists about this is, what if you tied information to the states of your Bob particle? Say, state A represents a one, and state B represents a 0. So your particle can store one bit of information. But when you're not looking at it, is it a one, or a zero? In fact, it is both at once.

What this means is that you could create a particle with a large number of possible states, and use this superposition to represent, for example, all the numbers smaller than the square root of a very large number. Then, to calculate the factors of this number, you merely need to look at the particle, at which point it will collapse into one of its "eigenstates" or allowed "real" states, which will represent the factors.

**Why do computer scientists, not to mention the NSA, care?**

Anyone who has dabbled in cryptography will probably see where this is going by now. What this means, ultimately, is that you can factor arbitrarily large numbers *in constant time*. If the length of a number doubles, the time it will take you to factor it remains the same. If it triples, the time it takes to factor it still remains the same. Currently, the time it takes to factor a number is a fairly steep exponential, which is the entire basis of public-key cryptography. The keys used are the product of two very large prime numbers, and if you can get the factors of a public key, you can break the encryption. To a quantum computer, the difference between a 56 bit key and a 128 bit key is negligible. Yes, the development of working quantum computers will basically make a big chunk of our current crypto infrastructure totally irrelevant.

But despite this somewhat unfortunate side-effect, there are a lot of advantages for a programmer working with quantum computing. Imagine you have two lists of things, and you want to find out what things are in both lists. The easiest way to do this is to compare every member of each list to every member of the other list. Unfortunately this is also an exponential time algorithm. But a quantum computer could do it in constant time, by simply comparing a superpostion of one list to a superposition of the other, and seeing what eigenstates fall out. That's just one example of what might be possible.

**I thought you said we could do this now...**

All along, Conway had posited a perl module called Quantum::Superposition, which would add a couple new operators to perl, the any(), all(), and eigenstates() operators, and overload the basic unary and binary math and logic operators to work on quantum superpositions as well as ordinary scalars. Then he dropped the bomb. This module exists. He actually wrote it.

Now, can it really do all that in constant time? No, because as he put it, perl has not yet been ported to run on a pair of supercooled, quantum-entangled calcium ions. But it will simulate the behavior of quantum superpositions in perl, right now. We can actually play with the concepts of quantum computing, without even having a working quantum computer. This module includes some of the cleverest coding I've ever seen, as an afterthought, and will be available on CPAN in the very near future.