Evolutionary Programming!

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 6 02:32:26 PST 2016


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.



More information about the Digitalmars-d mailing list