I'm not talking about metaprogramming, exactly. I'm talking about actually building some kind of framework by with you can:<p>a) specify attributes of, say, a method or library, and have a machine produce code that meets those specifications<p>b) the machine can ask clarifying questions, such as, "do you need this function to handle UTF-8 input?" and other things that, also need to be taught to the machine<p>c) eventually, a refactoring pass that causes the machine to refine its programmatic output for human consumption, without changing the functional output<p>Does anyone know of a library or research that's being done to have software that you can teach to write software?<p>Honestly, I'd be happy even if someone had a teachable module that had to be taught inch by inch. I'm looking, in a sense, for something to which I can offload my knowledge, to teach it basics, and then have it do tasks for me and others in return.