Elliott Hird on Sun, 16 Nov 2008 15:07:09 -0700 (MST)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[s-b] Swan Song


I create and join the following contract:
{{{
For each positive integer N, Cell N is a Thing. These may be  
collectively
referred to as "Cells".

The Interpreter is a Thing.

There is an Attribute with the Name of "Contents", a Scope of Cells,  
a Range of
all integers from 0 to 255 and a Default Value of 0.

There is an Attribute with the Name of "Step", a Scope of the  
Interpreter,
a Range of all positive integers (including 0) and a Default Value of 0.

There is an Attribute with the Name of "Pointer", a Scope of the  
Interpreter,
a Range of all positive integers (including 0), and a Default Value  
of 0.

There is an Attribute with the Name of "Output", a Scope of the  
Interpreter,
a Range of all ASCII strings and a Default Value of "".

There is an Attribute with the Name of "Input", a Scope of the  
Interpreter,
a Range of all ASCII strings and a Default Value of "".

Parties to this contract can change the value of the Contents  
attribute of any
Cell as a Game Action.

Parties to this contract can change the value of the Interpreter's Step
attribute as a Game Action.

Parties to this contract can change the value of the Interpreter's  
Pointer
attribute as a Game Action.

Parties to this contract can change the value of the Interpreter's Input
attribute as a Game Action.

Parties to this contract can change the value of the Interpreter's  
Output
attribute as a Game Action.

Nobody apart from ehird can join this contract.

The "Current Cell" means "Cell N, where N is the value of the  
Interpreter's
Pointer attribute".

"BF-Incrementing" a Cell means "if the Contents of the cell is 255,  
then set the
Contents of the cell to 0; otherwise, increment the Contents of the  
cell by 1".

"BF-Decrementing" a Cell means "if the Contents of the cell is 0,  
then set the
Contents of the cell to 255; otherwise, decrement the Contents of the  
cell by
1".

"BF-Outputting" a Cell means "appending the Contents of the cell  
treated as an
ASCII character number to the Interpreter's Output attribute".

"BF-Inputting" to a Cell means "setting the Contents of the cell to  
the ASCII
character number of the first character in the value of the  
Interpreter's Input
attribute and removing the first character from the Interpreter's Input
attribute".

When a party's Step is 0, they must increase the value of the  
Interpreter's
Pointer attribute by 1 and set their Step to 1. When a party's Step  
is 1, they
must BF-Increment the Current Cell and set their Step to 2. When a  
party's Step
is 2, they must BF-Increment the Current Cell and set their Step to  
3. When a
party's Step is 3, they must BF-Increment the Current Cell and set  
their Step to
4. When a party's Step is 4, they must BF-Increment the Current Cell  
and set
their Step to 5. When a party's Step is 5, they must BF-Increment the  
Current
Cell and set their Step to 6. When a party's Step is 6, they must BF- 
Increment
the Current Cell and set their Step to 7. When a party's Step is 7,  
they must
BF-Increment the Current Cell and set their Step to 8. When a party's  
Step is 8,
they must BF-Increment the Current Cell and set their Step to 9. When  
a party's
Step is 9, they must BF-Increment the Current Cell and set their Step  
to 10.
When a party's Step is 10 and the Contents of the Current Cell is 0,  
they must
set their Step to 23. When a party's Step is 10 and the Contents of  
the Current
Cell is not 0, they must set their Step to 11. When a party's Step is  
11, they
must decrease the value of the Interpreter's Pointer attribute by 1  
and set
their Step to 12. When a party's Step is 12, they must BF-Increment  
the Current
Cell and set their Step to 13. When a party's Step is 13, they must  
BF-Increment
the Current Cell and set their Step to 14. When a party's Step is 14,  
they must
BF-Increment the Current Cell and set their Step to 15. When a  
party's Step is
15, they must BF-Increment the Current Cell and set their Step to 16.  
When a
party's Step is 16, they must BF-Increment the Current Cell and set  
their Step
to 17. When a party's Step is 17, they must BF-Increment the Current  
Cell and
set their Step to 18. When a party's Step is 18, they must BF- 
Increment the
Current Cell and set their Step to 19. When a party's Step is 19,  
they must
BF-Increment the Current Cell and set their Step to 20. When a  
party's Step is
20, they must increase the value of the Interpreter's Pointer  
attribute by 1 and
set their Step to 21. When a party's Step is 21, they must BF- 
Decrement the
Current Cell and set their Step to 22. When a party's Step is 22 and the
Contents of the Current Cell is 0, they must set their Step to 10.  
When a
party's Step is 22 and the Contents of the Current Cell is not 0,  
they must set
their Step to 23. When a party's Step is 23, they must decrease the  
value of the
Interpreter's Pointer attribute by 1 and set their Step to 24. When a  
party's
Step is 24, they must BF-Output the Current Cell and set their Step  
to 25. When
a party's Step is 25, they must increase the value of the  
Interpreter's Pointer
attribute by 1 and set their Step to 26. When a party's Step is 26,  
they must
BF-Increment the Current Cell and set their Step to 27. When a  
party's Step is
27, they must BF-Increment the Current Cell and set their Step to 28.  
When a
party's Step is 28, they must BF-Increment the Current Cell and set  
their Step
to 29. When a party's Step is 29, they must BF-Increment the Current  
Cell and
set their Step to 30. When a party's Step is 30, they must BF- 
Increment the
Current Cell and set their Step to 31. When a party's Step is 31,  
they must
BF-Increment the Current Cell and set their Step to 32. When a  
party's Step is
32, they must BF-Increment the Current Cell and set their Step to 33.  
When a
party's Step is 33 and the Contents of the Current Cell is 0, they  
must set
their Step to 42. When a party's Step is 33 and the Contents of the  
Current Cell
is not 0, they must set their Step to 34. When a party's Step is 34,  
they must
decrease the value of the Interpreter's Pointer attribute by 1 and  
set their
Step to 35. When a party's Step is 35, they must BF-Increment the  
Current Cell
and set their Step to 36. When a party's Step is 36, they must BF- 
Increment the
Current Cell and set their Step to 37. When a party's Step is 37,  
they must
BF-Increment the Current Cell and set their Step to 38. When a  
party's Step is
38, they must BF-Increment the Current Cell and set their Step to 39.  
When a
party's Step is 39, they must increase the value of the Interpreter's  
Pointer
attribute by 1 and set their Step to 40. When a party's Step is 40,  
they must
BF-Decrement the Current Cell and set their Step to 41. When a  
party's Step is
41 and the Contents of the Current Cell is 0, they must set their  
Step to 33.
When a party's Step is 41 and the Contents of the Current Cell is not  
0, they
must set their Step to 42. When a party's Step is 42, they must  
decrease the
value of the Interpreter's Pointer attribute by 1 and set their Step  
to 43. When
a party's Step is 43, they must BF-Increment the Current Cell and set  
their Step
to 44. When a party's Step is 44, they must BF-Output the Current  
Cell and set
their Step to 45. When a party's Step is 45, they must BF-Increment  
the Current
Cell and set their Step to 46. When a party's Step is 46, they must  
BF-Increment
the Current Cell and set their Step to 47. When a party's Step is 47,  
they must
BF-Increment the Current Cell and set their Step to 48. When a  
party's Step is
48, they must BF-Increment the Current Cell and set their Step to 49.  
When a
party's Step is 49, they must BF-Increment the Current Cell and set  
their Step
to 50. When a party's Step is 50, they must BF-Increment the Current  
Cell and
set their Step to 51. When a party's Step is 51, they must BF- 
Increment the
Current Cell and set their Step to 52. When a party's Step is 52,  
they must
BF-Output the Current Cell and set their Step to 53. When a party's  
Step is 53,
they must BF-Output the Current Cell and set their Step to 54. When a  
party's
Step is 54, they must BF-Increment the Current Cell and set their  
Step to 55.
When a party's Step is 55, they must BF-Increment the Current Cell  
and set their
Step to 56. When a party's Step is 56, they must BF-Increment the  
Current Cell
and set their Step to 57. When a party's Step is 57, they must BF- 
Output the
Current Cell and set their Step to 58. When a party's Step is 58,  
they must
increase the value of the Interpreter's Pointer attribute by 1 and  
set their
Step to 59. When a party's Step is 59, they must increase the value  
of the
Interpreter's Pointer attribute by 1 and set their Step to 60. When a  
party's
Step is 60, they must increase the value of the Interpreter's Pointer  
attribute
by 1 and set their Step to 61. When a party's Step is 61, they must  
BF-Increment
the Current Cell and set their Step to 62. When a party's Step is 62,  
they must
BF-Increment the Current Cell and set their Step to 63. When a  
party's Step is
63, they must BF-Increment the Current Cell and set their Step to 64.  
When a
party's Step is 64, they must BF-Increment the Current Cell and set  
their Step
to 65. When a party's Step is 65, they must BF-Increment the Current  
Cell and
set their Step to 66. When a party's Step is 66, they must BF- 
Increment the
Current Cell and set their Step to 67. When a party's Step is 67,  
they must
BF-Increment the Current Cell and set their Step to 68. When a  
party's Step is
68, they must BF-Increment the Current Cell and set their Step to 69.  
When a
party's Step is 69 and the Contents of the Current Cell is 0, they  
must set
their Step to 78. When a party's Step is 69 and the Contents of the  
Current Cell
is not 0, they must set their Step to 70. When a party's Step is 70,  
they must
decrease the value of the Interpreter's Pointer attribute by 1 and  
set their
Step to 71. When a party's Step is 71, they must BF-Increment the  
Current Cell
and set their Step to 72. When a party's Step is 72, they must BF- 
Increment the
Current Cell and set their Step to 73. When a party's Step is 73,  
they must
BF-Increment the Current Cell and set their Step to 74. When a  
party's Step is
74, they must BF-Increment the Current Cell and set their Step to 75.  
When a
party's Step is 75, they must increase the value of the Interpreter's  
Pointer
attribute by 1 and set their Step to 76. When a party's Step is 76,  
they must
BF-Decrement the Current Cell and set their Step to 77. When a  
party's Step is
77 and the Contents of the Current Cell is 0, they must set their  
Step to 69.
When a party's Step is 77 and the Contents of the Current Cell is not  
0, they
must set their Step to 78. When a party's Step is 78, they must  
decrease the
value of the Interpreter's Pointer attribute by 1 and set their Step  
to 79. When
a party's Step is 79, they must BF-Output the Current Cell and set  
their Step to
80. When a party's Step is 80, they must increase the value of the  
Interpreter's
Pointer attribute by 1 and set their Step to 81. When a party's Step  
is 81, they
must increase the value of the Interpreter's Pointer attribute by 1  
and set
their Step to 82. When a party's Step is 82, they must increase the  
value of the
Interpreter's Pointer attribute by 1 and set their Step to 83. When a  
party's
Step is 83, they must BF-Increment the Current Cell and set their  
Step to 84.
When a party's Step is 84, they must BF-Increment the Current Cell  
and set their
Step to 85. When a party's Step is 85, they must BF-Increment the  
Current Cell
and set their Step to 86. When a party's Step is 86, they must BF- 
Increment the
Current Cell and set their Step to 87. When a party's Step is 87,  
they must
BF-Increment the Current Cell and set their Step to 88. When a  
party's Step is
88, they must BF-Increment the Current Cell and set their Step to 89.  
When a
party's Step is 89, they must BF-Increment the Current Cell and set  
their Step
to 90. When a party's Step is 90, they must BF-Increment the Current  
Cell and
set their Step to 91. When a party's Step is 91, they must BF- 
Increment the
Current Cell and set their Step to 92. When a party's Step is 92,  
they must
BF-Increment the Current Cell and set their Step to 93. When a  
party's Step is
93 and the Contents of the Current Cell is 0, they must set their  
Step to 107.
When a party's Step is 93 and the Contents of the Current Cell is not  
0, they
must set their Step to 94. When a party's Step is 94, they must  
decrease the
value of the Interpreter's Pointer attribute by 1 and set their Step  
to 95. When
a party's Step is 95, they must BF-Increment the Current Cell and set  
their Step
to 96. When a party's Step is 96, they must BF-Increment the Current  
Cell and
set their Step to 97. When a party's Step is 97, they must BF- 
Increment the
Current Cell and set their Step to 98. When a party's Step is 98,  
they must
BF-Increment the Current Cell and set their Step to 99. When a  
party's Step is
99, they must BF-Increment the Current Cell and set their Step to  
100. When a
party's Step is 100, they must BF-Increment the Current Cell and set  
their Step
to 101. When a party's Step is 101, they must BF-Increment the  
Current Cell and
set their Step to 102. When a party's Step is 102, they must BF- 
Increment the
Current Cell and set their Step to 103. When a party's Step is 103,  
they must
BF-Increment the Current Cell and set their Step to 104. When a  
party's Step is
104, they must increase the value of the Interpreter's Pointer  
attribute by 1
and set their Step to 105. When a party's Step is 105, they must BF- 
Decrement
the Current Cell and set their Step to 106. When a party's Step is  
106 and the
Contents of the Current Cell is 0, they must set their Step to 93.  
When a
party's Step is 106 and the Contents of the Current Cell is not 0,  
they must set
their Step to 107. When a party's Step is 107, they must decrease the  
value of
the Interpreter's Pointer attribute by 1 and set their Step to 108.  
When a
party's Step is 108, they must BF-Decrement the Current Cell and set  
their Step
to 109. When a party's Step is 109, they must BF-Decrement the  
Current Cell and
set their Step to 110. When a party's Step is 110, they must BF- 
Decrement the
Current Cell and set their Step to 111. When a party's Step is 111,  
they must
BF-Output the Current Cell and set their Step to 112. When a party's  
Step is
112, they must decrease the value of the Interpreter's Pointer  
attribute by 1
and set their Step to 113. When a party's Step is 113, they must  
decrease the
value of the Interpreter's Pointer attribute by 1 and set their Step  
to 114.
When a party's Step is 114, they must decrease the value of the  
Interpreter's
Pointer attribute by 1 and set their Step to 115. When a party's Step  
is 115,
they must decrease the value of the Interpreter's Pointer attribute  
by 1 and set
their Step to 116. When a party's Step is 116, they must BF-Output  
the Current
Cell and set their Step to 117. When a party's Step is 117, they must
BF-Increment the Current Cell and set their Step to 118. When a  
party's Step is
118, they must BF-Increment the Current Cell and set their Step to  
119. When a
party's Step is 119, they must BF-Increment the Current Cell and set  
their Step
to 120. When a party's Step is 120, they must BF-Output the Current  
Cell and set
their Step to 121. When a party's Step is 121, they must BF-Decrement  
the
Current Cell and set their Step to 122. When a party's Step is 122,  
they must
BF-Decrement the Current Cell and set their Step to 123. When a  
party's Step is
123, they must BF-Decrement the Current Cell and set their Step to  
124. When a
party's Step is 124, they must BF-Decrement the Current Cell and set  
their Step
to 125. When a party's Step is 125, they must BF-Decrement the  
Current Cell and
set their Step to 126. When a party's Step is 126, they must BF- 
Decrement the
Current Cell and set their Step to 127. When a party's Step is 127,  
they must
BF-Output the Current Cell and set their Step to 128. When a party's  
Step is
128, they must BF-Decrement the Current Cell and set their Step to  
129. When a
party's Step is 129, they must BF-Decrement the Current Cell and set  
their Step
to 130. When a party's Step is 130, they must BF-Decrement the  
Current Cell and
set their Step to 131. When a party's Step is 131, they must BF- 
Decrement the
Current Cell and set their Step to 132. When a party's Step is 132,  
they must
BF-Decrement the Current Cell and set their Step to 133. When a  
party's Step is
133, they must BF-Decrement the Current Cell and set their Step to  
134. When a
party's Step is 134, they must BF-Decrement the Current Cell and set  
their Step
to 135. When a party's Step is 135, they must BF-Decrement the  
Current Cell and
set their Step to 136. When a party's Step is 136, they must BF- 
Output the
Current Cell and set their Step to 137. When a party's Step is 137,  
they must
increase the value of the Interpreter's Pointer attribute by 1 and  
set their
Step to 138. When a party's Step is 138, they must increase the value  
of the
Interpreter's Pointer attribute by 1 and set their Step to 139. When  
a party's
Step is 139, they must BF-Increment the Current Cell and set their  
Step to 140.
When a party's Step is 140, they must BF-Output the Current Cell and  
set their
Step to 141.
}}}
_______________________________________________
spoon-business mailing list
spoon-business@xxxxxxxxx
http://lists.ellipsis.cx/mailman/listinfo/spoon-business