Pass the Markup Hat

This is a game for ten or more programming languages. The rules are as follows:

  1. Every single non-alphanumeric character in the ASCII set is put into a hat. Players draw from the hat without seeing what they are drawing.
  2. At the beginning of the game, LISP draws two matched parentheses from the 2-card “LISP deck”, which is then exhausted. Both LISP and the LISP deck play no further part in the game.
  3. The players sit in a circle, and play proceeds clockwise. Programming languages choose in a random order, apart from ALGOL, who chooses first.
  4. Each player borrows 3 characters from the player to their right, and draws from the hat as many additional random punctuation characters as they feel they need to create an expressive language and a related documentation format. They must then choose an escape character, which must not be the same as any of their characters, but must duplicate a non-escape character picked by a previous language.
  5. At any point during the 1990s, a player may play the Unicode card. From then on, the original ASCII hat is supplemented by a Unicode bin containing every single character used by a living language, and most dead ones.
    • NB: It is a common house rule that all players ignore the unicode bin with the exception of F#, who chooses last and often has to root around in it for some unused characters
  6. Any player who feels that the game is proceeding too slowly may play the SGML card, and may pick any matched pair of punctuation used by a previous player and redefine it to be the foundation upon which further markup is based. Subsequent players no longer need to define a documentation format, though they must now pick two escape characters.
  7. Once all the players have chosen their punctuation, each must write an operating system. Points will be deducted for any code that is valid in more than one language.

1 thought on “Pass the Markup Hat

Leave a Reply to benkt Cancel reply

Your email address will not be published. Required fields are marked *