Logical programming is mainly about the goal of finding evidence. The structural relationship between typed languages ββand logic usually includes functional languages, although sometimes imperative and other languages, but not logical programming languages. This relationship links evidence for programs.
Thus, the search for evidence of logical programming can be used to search for evidence, which is then interpreted as functional programs. This is apparently the most direct connection between the two (as you requested).
Building entire programs in this way is impractical, but can be useful for filling out tedious details in programs, and there are some important examples of this in practice. The main example of this is structural subtyping β which corresponds to filling out several stages of evidence with a simple collection proof. A more complex example is the Haskell class system, which includes a certain type of target search - in extreme cases, this includes the full form of Turing's logical programming at compile time.
RD1
source share