• porgamrer@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    7 months ago

    Prolog, Mercury, Datalog. Very of intrigued by Verse now that I know it has some logic programming features.

    Mercury is, roughly, a fusion of Haskell and Prolog. Bizarre and fascinating.

    Prolog and Datalog are great but not aimed at general purpose programming.

    Really I just want to see more people trying to adapt ideas from logic programming for general purpose use. Logic programming feels truly magic at times, in a way that other paradigms do not (to me at least).

    • mac@infosec.pub
      link
      fedilink
      arrow-up
      3
      ·
      7 months ago

      What makes a language a “logic programming language” aren’t all language logic based?

        • mac@infosec.pub
          link
          fedilink
          arrow-up
          2
          ·
          7 months ago

          It seems to be incredibly concise, I wonder what kind of use cases this language has.

          • porgamrer@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            7 months ago

            Datalog is sometimes used as an alternative to SQL. Prolog is used by researchers experimenting with rule systems (e.g. type systems, theorem provers, etc).

            Mercury has been used to write regular desktop software, with a couple of notable successes.

            One way to think about Mercury is that it’s like Haskell, except it’s so declarative that the functions can run backwards, generating arguments from return values! Obviously that comes with some pretty big caveats, but in many cases it works great and is extremely useful.

            • mac@infosec.pub
              link
              fedilink
              arrow-up
              1
              ·
              7 months ago

              How likely is it to use one for more standard programming e.g. something where python, JavaScript, C or something would normally be used?

              • porgamrer@programming.dev
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                7 months ago

                I believe Mercury is intended to be comparable to languages like Java, C# and Ocaml, in terms of the performance profile and generality. I don’t know what it’s like in practice though.

                I view it more as a fascinating proof of concept than a language I’d actually like to use. Really I just want new projects to steal ideas from it.

    • metiulekm@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      7 months ago

      I really need to try out Mercury one day. When we did a project in Prolog at uni, it felt cool, but also incredibly dynamic in a bad way. There were a few times when we misspelled some clause, which normally would be an error, but in our case it just meant falsehood. We then spent waaay to much time searching for these. I can’t help but think that Mercury would be as fun as Prolog, but less annoying.

      I actually use from time to time the Bower email client, which is written in Mercury.

    • griD@feddit.de
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 months ago

      Sadly I am waaaay too stupid for those. Couldn’t get clingo to move some animals across a river within a certain ruleset :[