I think the client code ends up looking very nice.
r.text_input_with_callback(proc {}) do |r2, text| if text.length > 1 r2.div_named 'bar', `grep -i \"^#{text}\" /usr/share/dict/words`.gsub("\n", "<br/>") end end
You can see it in action here. I’ll post the code to the Borges mailing list, but it seems pretty dead lately.
I think this idea can pushed much further. I’ll get back to you with anything else I come up with on this front, but you have to promise to do the same.