My Gripes with Prolog

22 points | by azhenley 2 hours ago

10 comments

  • infotainment an hour ago

    I always felt like Prolog's ability to execute programs was entirely accidental.

    To me, it feels like a data description language that someone discovered could be tricked into performing computation.

      hwayne an hour ago

      Check out datalog! https://learn-some.com/ The tutorial there uses Clojure syntax but Datalog normally uses a Prolog syntax.

      jjgreen an hour ago

      ... a bit like life ...

  • shawn_w 30 minutes ago

    I frequently find myself thinking "this would be a great fit for prolog etc." but always fail when it comes to the execution.

  • doorhammer 42 minutes ago

    I always come back to prolog to tool around with it but haven’t done a ton.

    Bidirectionality has always been super fascinating.

    Didn’t know about Picat. 100% going to check it out.

      hwayne 21 minutes ago

      I'll warn you that Picat is very much a "research language" and a lot of the affordances you'd expect with a polished PL just aren't there yet. There's also this really great "field notes" repo from another person who learned it: https://github.com/dsagman/picat

        doorhammer a minute ago

        Side note: Just realized who you were. Read through Practical TLA+ recently modeling a few things at work. Incredibly helpful book for working through my first concrete model in practice.

        doorhammer 9 minutes ago

        Totally fair. Realistically “check it out” means I’ll probably spin up an env and try modeling a few things to see how it feels.

        I’m mostly a language tourist they likes kicking the tires on modes of modeling problems that feel different to my brain.

        Started skimming those notes. Really solid info. Appreciate it!

  • egl2020 an hour ago

    Maybe it's just me, but my gripe is that it looks declarative, but you have to read the code in execution order.

  • boxed 13 minutes ago

    The line reorder issue is evergreen and it seems all languages need to either go through this phase and fix it, or gaslight its users forever that it's "not really a problem".