Sceql
From Esolang
Sceql is an esoteric programming language devised by User:Graue in 2005, which provides a single byte queue as the only form of memory available to programs. The queue can never be empty, and data can never be removed from it once enqueued into it. Initially the queue has one value of 0.
Sceql was originally intended as a revised version of Qdeql with an easier to use and more practical instruction set, but with the additional challenge of a queue that grows indefinitely and never shrinks.
Contents |
[edit] Instructions
| Instruction | Description | |
|---|---|---|
=
|
NEXT | Dequeue a byte and enqueue it again |
-
|
DEC | Decrement the byte that would be dequeued next (wrapping) |
_
|
INC | Increment the byte that would be dequeued next (wrapping) |
\
|
BEGIN | Skip to the instruction after the corresponding END if the byte that would be dequeued next is zero |
/
|
END | Go back to the corresponding BEGIN |
!
|
GROW | Enqueue a new zero byte |
&
|
INPUT | Read a byte from stdin and enqueue it (0 for EOF) |
*
|
OUTPUT | Dequeue a byte, write it to stdout, and enqueue it again |
[edit] Computational class
Sceql is Turing-complete. See Sceql Turing-completeness proof for more information.
[edit] See also
[edit] External resources
- Sceql interpreter in C
- 99 bottles of beer and quine in Sceql