School
School is an esoteric programming language developed by User:AceKiron, it originally started development on June 15th 2021, but has been deprecated. Later it was continued on September 10th 2021. It's designed to be hard to understand why, just like school.
Origianlly school was stack-based, meaning it used a stack to store memory. The renewed version of School is supposed to instead use a matrix with a size of 5.
Source code
School is open source, its interpreter's source code can be found on https://github.com/AceKiron/School (dead link).
Datatypes
The datatypes are represented as the following numbers:
Datatype | Representation | Minimum interpreter version |
---|---|---|
Compound | 0 | 1.0.0 |
RegularFunction | 1 | 1.0.0 |
DollarFunction | 2 | 1.0.0 |
NOOP | 3 | 1.0.0 |
Number | 4 | 1.0.0 |
String | 5 | 1.0.1[1] |
Matrix operants
Operation | Meaning | Minimum interpreter version |
---|---|---|
PEEK(?x)
|
Returns the value of the location from the top row if specified, otherwise it returns a random value from the top row. | 1.0.0 |
DROP()
|
Moves the whole matrix down by 1 unit, doesn't get wrapped around. | 1.0.0 |
ROTATE()
|
Rotates the matrix clockwise by 90°. | 1.0.0 |
COUNT(?row)
|
Counts all items in the matrix, unless row is specified in which case it counts all the items in that row. | 1.0.0 |
PUSH(value, x)
|
Pushes a single value onto the top row of the matrix, if a value already exists in given position, the original value will be removed. | 1.0.0 |
POP(?x)
|
Pops the top row of the memory matrix, unless x is specified in which case it pops and returns a single value from the top row. | 1.0.0 |
TYPE(x)
|
Returns the type of the value at x in the top row represented as a number. | 1.0.1[1] |
GRAVITATE()
|
Moves every item in the matrix down until it hits a wall or another item. | TBD |
Popular problems in School
Hello, world!
The Hello, world! program is a trivial program which outputs a static string of text, usually "Hello, world!". In School this can be achieved in just a single line. This program requires interpreter v1.0.1[1]
print("Hello, world!");