Stape

From Esolang
Jump to navigation Jump to search

Stape is office-supplies-based programming language, designed to be difficult to program in in new and interesting ways. It was created in 2017 by User: stellatedHexahedron, who considers it to be partially successful.

Overall

Stape is staple and tape based language. The data and instruction tapes are one and the same, the tape is manipulated via operations which code of our open up sections via stapled loops, which are denoted with []. The full specification for Stape has not yet been converted from Markdown to the markup used by this wiki, but can be found here, along with an interpreter with a (primitive) debugger.

Example Programs

99 Bottles

+O:%-::-:C=::
[
	\ bottle(s) of beer on the wall, 
]
::
[
	%OCO\	-
	C:+V:\	[99]
	_::::\	6
]
C=
[
	\ bottle(s) of beer,\
	Take one down, pass it around, 
]
::
[
	%OCO\	-
	C:+V:\	[98]
	_::::\	6
]
:::CO:%C+::
[
	\ bottle(s) of beer on the wall!\
	\
]
:::%V::%6::3::[99]

Turing Completeness

The author suspects that Stape is Turing Complete, and that the proof will involve a "main processor" loop, or perhaps a "RAM" loop, which gets carted around inside the buffer.