On Wednesday, 6 January 2016 at 09:03:04 UTC, crimaniak wrote:
On Tuesday, 5 January 2016 at 20:11:10 UTC, Ola Fosheim Grøstad
wrote:
But I think the most powerful concept now is _software
synthesis_. The basic idea being that you specify the
constraints and let the computer write the actual code, or
some variation over that.
It's called Prolog.
Prolog uses unification that is rather explicit, but Horn clauses
(which is the gut of Prolog) is used. Datalog (a restricted
variation of Prolog) is used for code analysis for instance and
is also the guts of IBM's SQL query engine. It can be executed
bottom up, in parallel.
What people use for specification is SMTLIB2 or some variation of
it. There have been great advances for solving difficult problems
using Satisfiability Modulo Theories (SMT) in the past decades.
So, no, it is not called Prolog, but Prolog is part of the
history.