14 ms·
The article links to a site[1] where you can interact with the system. That site also features a "How to Use Bayou" page, which contains a succinct description
by dgritsko 8y ago
The article links to a site[1] where you can interact with the system. That site also features a "How to Use Bayou" page, which contains a succinct description of what the system actually does:
> You can think of Bayou as a system for assisting a programmer who is using Java APIs. A programmer interacts with Bayou by writing a draft program — a Java method with “holes”, or missing blocks of code — and supplying some clues in a query about how these holes should be filled. Bayou’s job is then to fill these holes with code in a way that will, hopefully, match the programmer’s intent. More precisely, Bayou infers a probability distribution over the set of candidate completions of a given draft, then returns the top-k programs from this distribution.
The supported terms in a query are:
- an API method call that the generated program should use, or
- an API data type that the user wants the generated code to use.
An example "query" that they provide:
/// call:readLine
Calling this "an A.I. application that can write its own code" is ludicrous. The end result is basically a difficult-to-use Intellisense.
[1]: http://www.askbayou.com/ http://www.askbayou.com/
[2]: https://info.askbayou.com/how-to-use-bayou/ https://info.askbayou.com/how-to-use-bayou/
- 49bc 8y agoBasically doing the work of the same IDEs we’ve been using for decades?
- pluto9 8y ago> Bayou’s job is then to fill these holes with code in a way that will, hopefully, match the programmer’s intent. This seems like it would actually increase the cognitive load of programming. It generally takes more effort to read and understand someone else's code than it does to write it. Every time Bayou "fills a hole", you have to decipher the code to decide whether it matches your intent (i.e., what you would have written anyway, which you have to first "write in your head").
- icebraining 8y agoIt's interesting they use the term "hole". Idris, a functional dependently-typed language, also uses the term for a similar concept - you can leave parts of the program "undefined" and still have it type-check, and it can even do some attempts at "auto-programming" by checking what code would fill the expected type of the Hole. And you don't have to tell it the name of the function, so I'd say it's strictly better at this, despite not being its major goal. http://docs.idris-lang.org/en/latest/tutorial/interactive.html#proofsearch http://docs.idris-lang.org/en/latest/tutorial/interactive.ht...