λProlog: Logic programming in higher-order logic

(lix.polytechnique.fr)

68 points | by ux266478 3 days ago

5 comments

  • Antibabelic 58 minutes ago
    There is a great overview of λProlog from 1988: https://repository.upenn.edu/bitstreams/e91f803b-8e75-4f3c-9...
  • polairscience 50 minutes ago
    I think that might be my favorite department/lab website I've ever come across. Really fun. Doesn't at all align with the contemporary design status quo and it shows just how good a rich website can be on a large screen. Big fan.

    https://www.lix.polytechnique.fr/

  • upghost 1 hour ago
    I'm surprised how hard I had to dig for an actual example of syntax[1], so here you go.

    [1]: https://www.lix.polytechnique.fr/~dale/lProlog/proghol/extra...

  • TheRoque 1 hour ago
    I remember learning it in univerisity. It's a really weird language to reason with IMO. But really fun. However I've heard the performances are not that good if you wanna make e.g. game AIs with it.
    • ux266478 11 minutes ago
      > It's a really weird language to reason with IMO

      I know you likely mean regular Prolog, but that's actually fairly easy and intuitive to reason with (code dependent). Lambda Prolog is much, much harder to reason about IMO and there's a certain intractability to it because of just how complex the language is.

    • laksjhdlka 1 hour ago
      With λProlog in particular I think it probably finds most of its use in specifying and reasoning about systems/languages/logics, e.g. with Abella. I don't think many people are running it in production as an implementation language.
    • pjmlp 1 hour ago
      First of all, it helps to actually use a proper compiled Prolog implementation like SWI Prolog.

      Second you really need to understand and fine tune cuts, and other search optimization primitives.

      Finally in what concerns Game AIs, it is a mixture of algorithms and heuristics, a single paradigm language (first order logic) like Prolog, can't be a tool for all nails.

    • anonzzzies 1 hour ago
      λProlog or Prolog? Probably Prolog I guess?
      • wbolt 43 minutes ago
        No. It is actually λProlog which seems to be an extension of Prolog.
        • ux266478 8 minutes ago
          Not at all, it's a completely different language with a very different computational foundation. It's an SML-Haskell type situation.
        • anonzzzies 32 minutes ago
          I was responding to @TheRoque GP; I know λProlog quite well and I would be pleasantly surprised if they saw that in university, but I think they got taught Prolog. If you mean to say that they saw Lambda Prolog and it is therefor a lot more popular than I believed it to be, then excellent and ignore this reply.
  • yodsanklai 1 hour ago
    I'm curious to see how AI is going to reshape research in programming languages. Statically typed languages with expressive type systems should be even more relevant for instance.