1. 17
  1.  

  2. 5

    Reminder: stack machines are on-topic; the politics and current events of the US Congress are not. If you want to make a “this design feature leads to this political issue” comment, don’t. (But #lobsters-boil welcomes you.)

    1. 3

      Pretty sure this is the first time anyone had ever described Congress as “elegant”. :D

      That said this is really about how the rules for running a bunch of people trying to get stuff done, as formalized through things like Robert’s Rules of Order. Which is a very interesting idea, given it’s basically a social program executed by humans.

      Also reminds me a bit of Magic The Gathering, another human-executed stack machine where mutating the stack is a datum that goes on the stack.

      1. 4

        Haha, well you gotta call a spade a spade, even if it happens to be a spade everyone agrees is dysfunctional :) The underlying design is really simple and elegant, to me.

        As I understand it the design of the US Senate is the foundation for all the other US-based variants of this. So Jefferson modeled the Senate after the UK Parliament, and then the House copied that and then Robert’s Rules and the Mason’s Manual followed.

        I’ve spent so many times in audiences at formal meetings just utterly dumbfounded about what was going on. Implementing this parser was such an enjoyable learning experience, and a little dive into history. I didn’t realize Magic also implements a stack machine - do you know if anyone’s written about it from that perspective?

        Also exactly yes - it’s social code. There’s another aspect here which is the code to understand these procedures also really, really smells like code for implementing Paxos or Raft. I suppose that’s not terribly surprising since it’s all about consensus.. but it makes me wonder if there are algorithms used parliamentary procedure that could be applied in distributed computing..

        1. 4

          I didn’t realize Magic also implements a stack machine - do you know if anyone’s written about it from that perspective?

          Been a few years since I played MTG, but IIRC the rules themselves name the concept of “the stack,” and spells resolve in LIFO order accordingly. Probably the most classic example of this is Counterspell, which lets a player negate their opponent’s spell while it’s still on the stack… but then someone could counter that counter etc etc.

          The game is also Turing Complete.