Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cabbages, Goat, and Wolf In Two Styles!!

Cabbages, Goat, and Wolf In Two Styles!!

8341c5bff3dcbd8ed34d9d68bd4169f2?s=128

Jason Orendorff

January 11, 2021
Tweet

Transcript

  1. Wolf, Goat, & Cabbages in two styles!!

  2. Wolf, Goat, & Cabbages in two styles!! Jason Orendorff !!Con

    West 2020
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. X

  10. None
  11. None
  12. None
  13. None
  14. X

  15. dagnabbit X

  16. Wolf, Goat, & Cabbages in two styles!!

  17. Wolf, Goat, & Cabbages in two styles!! Jason Orendorff !!Con

    West 2020
  18. None
  19. Book One -

  20. Book One - Inform 7

  21. Chapter 1 - The River The East Riverbank is a

    room.
  22. Chapter 1 - The River The East Riverbank is a

    room. “Here a lazy river crosses your path.”
  23. Chapter 2 - The Boat

  24. Chapter 2 - The Boat The boat is an enterable

    container in the East Riverbank. “A little boat is tied to the dock.”
  25. Chapter 3 - The Treasures A treasure is a kind

    of thing.
  26. Chapter 3 - The Treasures A treasure is a kind

    of thing. A wolf is in the East Riverbank. […]
  27. Chapter 3 - The Treasures A treasure is a kind

    of thing. The wolf, the goat, and the cabbages are treasures. A wolf is in the East Riverbank. […]
  28. None
  29. DIVIDE FORCE BY MASS GIVING ACC. Given a book of

    macabre poetry is in my cart When I click "Buy" Then I should see "Checkout" COBOL (1959) Gherkin (2008) AppleScript (1993) tell application "Preview" to open "manual.pdf" activate application "Preview"
  30. A treasure is a kind of thing. The wolf, the

    goat, and the cabbages are treasures. A wolf is in the East Riverbank. […]
  31. A treasure is a kind of thing. The wolf, the

    goat, and the cabbages are treasures. A wolf is in the East Riverbank. […]
  32. A treasure is a kind of thing. The wolf, the

    goat, and the cabbages are treasures. A wolf is in the East Riverbank. […]
  33. A treasure is a kind of thing. The wolf, the

    goat, and the cabbages are treasures. A wolf is in the East Riverbank. […]
  34. The boat is an enterable container in the East Riverbank.

  35. The boat is an enterable container in the East Riverbank.

  36. None
  37. East Riverbank Here a lazy river crosses your path. A

    boat is tied to a dock nearby. The "sheep" you bought at the fair is here. Your goat stands nearby, chewing on nothing in particular. >
  38. East Riverbank Here a lazy river crosses your path. A

    boat is tied to a dock nearby. The "sheep" you bought at the fair is here. Your goat stands nearby, chewing on nothing in particular. > drop the cabbages Dropped. > take goat Taken. >
  39. Instead of taking the boat, say “There’s no point carrying

    a boat around.”
  40. >

  41. > pick up the river

  42. That’s hardly portable. > pick up the river >

  43. That’s hardly portable. > pick up the river > take

    the goat
  44. You already have that. That’s hardly portable. > pick up

    the river > take the goat >
  45. You already have that. That’s hardly portable. > pick up

    the river > take the goat > pick myself up
  46. You are always self-possessed. You already have that. That’s hardly

    portable. > pick up the river > take the goat > pick myself up
  47. Carry out crossing: if the wolf and the goat are

    ashore together: say “…”; end the story saying “Someone has got your goat”; else if the goat and the cabbages… : … otherwise: move the boat to the other bank.
  48. None
  49. • The manual is amazing

  50. • The manual is amazing • “Use the serial comma.”

  51. Book Two -

  52. Book Two - Alloy

  53. class Person { loves: set Person }

  54. class Person { loves: set Person }

  55. sig Person { loves: set Person }

  56. sig Person { loves: set Person } Lin = new

    Person
  57. sig Person { loves: set Person } Lin = new

    Person
  58. None
  59. Sig Person { loves: set Person } run {} for

    3
  60. None
  61. None
  62. None
  63. Person A loves Person B Balin → Dwalin Óin →

    Glóin Bombur → Balin Bombur → Glóin Bombur → Bombur
  64. Balin .loves = { Dwalin } Óin .loves = {

    Glóin } Bombur.loves = { Balin, Glóin, Bombur }
  65. None
  66. sig Person { loves: set Person }

  67. sig Person { loves: set Person } Love relates various

    people to various people.
  68. sig Person { loves: set Person } Love relates various

    people to various people. The verb to love means the love relation.
  69. None
  70. some Bombur.loves If Bombur loves anyone… Bombur.loves everyone loved by

    Bombur Bombur.~loves everyone who loves Bombur Bombur.loves = Person Everyone loves Bombur.
  71. Part SR1 - The Physical World Model The verb to

    contain means the containment relation. The verb to be in means the reversed containment relation. The verb to carry means the carrying relation. The verb to hold means the holding relation. The verb to wear means the wearing relation.
  72. Part SR1 - The Physical World Model The verb to

    contain means the containment relation. The verb to be in means the reversed containment relation. The verb to carry means the carrying relation. The verb to hold means the holding relation. The verb to wear means the wearing relation.
  73. sig Person { loves: set Person }

  74. sig Object { loves: set Object }

  75. sig Object { eats: set Object }

  76. sig Object { eats: set Object } sig Wolf extends

    Object {} sig Goat extends Object {} sig Cabbages extends Object {} sig Boat extends Object {}
  77. abstract sig Object { eats: set Object } one sig

    Wolf extends Object {} one sig Goat extends Object {} one sig Cabbages extends Object {} one sig Boat extends Object {}
  78. None
  79. fact foodWeb { eats = (Wolf -> Goat) + (Goat

    -> Cabbages) }
  80. None
  81. None
  82. sig Riverbank {}

  83. None
  84. sig Snapshot { }

  85. sig Snapshot { location: Object -> one Riverbank }

  86. // first, last, prev, next open util/ordering[Snapshot] sig Snapshot {

    location: Object -> one Riverbank }
  87. None
  88. fact twoSidesToEveryRiver { #Riverbank = 2 }

  89. None
  90. fact beginningAndEnd { }

  91. fact beginningAndEnd { } one first.location[Object]

  92. fact beginningAndEnd { } one first.location[Object] one last.location[Object]

  93. fact beginningAndEnd { } one first.location[Object] one last.location[Object] first.location[Boat] !=

    last.location[Boat]
  94. None
  95. None
  96. Why Alloy?

  97. None
  98. https://playfic.com/games/jorendorff/cabbages