News for hackers. Stuff that matters.
Re:Warren Abstract Machine by 6gvONxR4sf7o on Thursday March 12, 2020 @05:06PM (#22561738)
Has anyone here used logic programming at work? I'm curious where it pops up in industry as I haven't encountered it myself yet.
Re:Warren Abstract Machine by pag on Thursday March 12, 2020 @05:55PM (#22562232)
Datalog and variants of it come up a bunch in program analysis and software security. For example, GitHub/Microsoft acquired a company, Semmle [1], that has an object-oriented query language that compiles down into Datalog, and can be used to query source code in interesting ways. Souffle [2] comes up in static analysis as well, and is used in systems such as Doop [3]. A kind of predecessor to Doop is bddbddb [4].

Souufle has been used in Ddisasm [5] for disassembling binaries. XSB Prolog has been used in OOAnalyzer [6] for inferring class hierarchies and virtual tables in binaries as well.

I myself spend some time working on datalog compilation for program analysis and decompilation :-)

[1] https://semmle.com

[2] https://souffle-lang.github.io/index.html

[3] https://bitbucket.org/yanniss/doop/src/master

[4] https://suif.stanford.edu/bddbddb

[5] https://github.com/GrammaTech/ddisasm

[6] https://resources.sei.cmu.edu/library/asset-view.cfm?assetid...

Re:Warren Abstract Machine by pag on Thursday March 12, 2020 @05:59PM (#22562282)
And lets not forget that Rust's borrow checker is implemented with Datalog [1].

[1] https://smallcultfollowing.com/babysteps/blog/2018/04/27/an-...

Re:Warren Abstract Machine by whitten on Friday March 13, 2020 @11:37AM (#22568089)
I have a buddy who works with Prolog for a "major credit analysis firm" (his words). His code is basically fraud detection and credit scores (i.e. suitability for receiving a loan that you will pay off)

On a different note, does anyone know if WAM (or any logic programming advanced Instruction Set Archictecture) has been implemented in hardware, such as VHDL etc ?

Re:Warren Abstract Machine by pag on Thursday March 12, 2020 @05:57PM (#22562264)
Datalog also comes up in cluster management / provisioning. For example: Differential Datalog [1].

[1] https://github.com/vmware/differential-datalog