• 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 :[