Gerrit Code Review uses Prolog rules for allowing to customize rules (e.g. “What kind of Code-Review/Verified/… flags are needed, and by to whom, to allow a change to be submitted).
The verifier of pre-2014 SPARK (that Ada variant) was written in Prolog.
I think it’ll become more and more important going forward. Mostly this is a safe bet since type systems are getting more important, but there’s a lot of other places where these ideas haven’t reached yet .. personally; I’d like to replace file systems with a logic programming engine.. and you also end up with a variant of logic programming if you only want to describe coordination free programs (which are a super important class of programs in the cloud world)
The class of coordination-free distributed programs.. the programs that do not require coordination. Something like conflict free replicated datatypes for example (CRDTs).
Edit: Logic programming enters the picture when you start talking about propagator networks; you can look at edward kmett talk about it or the keynote from popl this year.
I use SWI Prolog for hobby stuff & a few little things in prod. There are a few companies that I know of which use it, to the extent that they’ve sponsored development of SWI and reached out for Prolog devs; in most cases though, the fact that they use Prolog is not advertised.
whoa, one of their goals is to run shen performantly! i would be super interested in seeing that.
Does anyone use Prolog ? Because I only know of this being taught in school, nothing in production. For Ada we know of at least one industry using it.
There are few projects. For example: https://github.com/terminusdb/terminusdb
Prolog is used in a log of linguistics and processing. I know of a couple of companies using it.
Fun fact: my only paper credit ever is a piece of Prolog code ;).
Erlang was originally implemented in Prolog. The paper Use of Prolog for developing a new programming language (Armstrong, Virding, and Williams, 1992) is a short and fun read.
Gerrit Code Review uses Prolog rules for allowing to customize rules (e.g. “What kind of Code-Review/Verified/… flags are needed, and by to whom, to allow a change to be submitted).
The verifier of pre-2014 SPARK (that Ada variant) was written in Prolog.
I just found out about ProbLog, and this is supposedly built in ProbLog: http://bioinformatics.intec.ugent.be/phenetic/index.html#/index
Tau prolog is used by the Yarn package manager.
I think it’ll become more and more important going forward. Mostly this is a safe bet since type systems are getting more important, but there’s a lot of other places where these ideas haven’t reached yet .. personally; I’d like to replace file systems with a logic programming engine.. and you also end up with a variant of logic programming if you only want to describe coordination free programs (which are a super important class of programs in the cloud world)
Can you elaborate on what “coordination of free programs” means and how logic programming improves the situation there?
The class of coordination-free distributed programs.. the programs that do not require coordination. Something like conflict free replicated datatypes for example (CRDTs).
Edit: Logic programming enters the picture when you start talking about propagator networks; you can look at edward kmett talk about it or the keynote from popl this year.
I use SWI Prolog for hobby stuff & a few little things in prod. There are a few companies that I know of which use it, to the extent that they’ve sponsored development of SWI and reached out for Prolog devs; in most cases though, the fact that they use Prolog is not advertised.
More links to practical applications via here: https://lobste.rs/s/wdftoh/practical_application_prolog_1993
My favourite is AusPig, an expert system for pig farming.