3 ms·
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.
by 6gvONxR4sf7o 7y ago
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.
- pag 7y agoDatalog 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 https://semmle.com [2] https://souffle-lang.github.io/index.html https://souffle-lang.github.io/index.html [3] https://bitbucket.org/yanniss/doop/src/master https://bitbucket.org/yanniss/doop/src/master [4] https://suif.stanford.edu/bddbddb https://suif.stanford.edu/bddbddb [5] https://github.com/GrammaTech/ddisasm https://github.com/GrammaTech/ddisasm [6] https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=539759 https://resources.sei.cmu.edu/library/asset-view.cfm?assetid...
- pag 7y agoDatalog also comes up in cluster management / provisioning. For example: Differential Datalog [1]. [1] https://github.com/vmware/differential-datalog https://github.com/vmware/differential-datalog
- pag 7y agoAnd lets not forget that Rust's borrow checker is implemented with Datalog [1]. [1] https://smallcultfollowing.com/babysteps/blog/2018/04/27/an-alias-based-formulation-of-the-borrow-checker/ https://smallcultfollowing.com/babysteps/blog/2018/04/27/an-...
- whitten 7y agoI 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 ?