1. 31
    1. 3

      While very cool — and I’d love to see Prolog used more — is this not effectively equivalent to how Nix works? i.e., if I’m deploying with NixOps, isn’t the result the same?

      1. 2

        NixOps operates at a different level. Last time I checked NixOps didn’t have a story about managing global infrastructure like VPCs, security groups, load balancers, IAM profiles, etc. Maybe things have gone further now but I also don’t know what the story is for incremental migrations. Given a completely ad-hoc configuration how does NixOps integrate with it?

        Putting tools aside for a moment, the main problem is about graphs and a sensible language for operating on them. So far the only things I’ve found that fit the bill are languages in the logic paradigm. They seem to strike the right balance between arbitrary computation and being able to express various graph properties in a succinct way.

        1. 2

          “the main problem is about graphs and a sensible language for operating on them”

          Just brainstorming some things worth checking out. Dataflow languages are based on graphs. Lisp’s might be able to do it easily given how they started. Anyway, I was pretty sure there were also languages designed for this. Just found 3-4 submissions for you this week. Stay tuned! :)

        2. 1

          NixOps operates at a different level. Last time I checked NixOps didn’t have a story about managing global infrastructure like VPCs, security groups, load balancers, IAM profiles, etc.

          It does have at least some of those things. I use them in my own projects. You can view some of these things in the docs here.

          Given a completely ad-hoc configuration how does NixOps integrate with it?

          I’m not sure I understand the question.

          Putting tools aside for a moment, the main problem is about graphs and a sensible language for operating on them. So far the only things I’ve found that fit the bill are the languages in the logic paradigm. They seem to strike the right balance between arbitrary computation and being able to express various graph properties in a succinct way.

          I agree, but I think this is the whole idea behind Nix[OS/Ops]. It figures out the dependency graph for your configuration, only building what’s necessary.

    2. 3

      This is a spectacular thought. Keep at it. I need to digest this thought myself.