something is a person if it is either Adam or Eve, or if it has a mother. We can express this in a single rule as follows:

person(X) :- (X=adam; X=eve; mother(X, Y)).

  • bleistift2@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    13
    ·
    6 days ago

    I learned Prolog in university and it was instructive. But has anyone ever professionally used it?

    • souperk@reddthat.com
      link
      fedilink
      arrow-up
      3
      ·
      5 days ago

      DataLog is used to verify smart contracts. I don’t know any specific examples of prolog used in the industry, though I am sure there are a few. Probably, there are expert systems implemented with prolog that are still used.

      Logic programming in general has a few usages, the unification algorithm is used for pretty much every type system. Also, it is quite good for verification systems. For example, I know some symbolic execution systems implemented in OCaml.