ARMs are cheap and plentiful, but computationally limited. I'm looking to do some image processing (motion detection is done by cheap webcams rather than PIR sensors) using OpenCV. This should work on an ARM, but how slow will it go?
Haskell doesn't have much of an ARM presence and I can't rely on bindings to port well. If I use Haskell (and I have already prototyped some motion detection using Haskell and OpenCV), then I'll need a beefy server. Why? Imagine 5 or 6 motion detectors working in parallel to form a comprehensive picture of movement in a household. Plus, some of the visual detection is fairly fine grain (detecting steam, smoke and burner flame from a stove -- more on that later!).
I feel like I am selling my ideas short by going with ARM (at this point). I'd toss the Haskell code and use Lua (upon which I've also done some OpenCV prototyping).
What is the state of small (set-top) Atom PCs?
Well, this one: http://www.newegg.com/Product/Product.aspx?Item=N82E16883220294 looks promising ($244). The price is a bit high (compared to Android/ARM stuff out there), but it can be a good system to target.