We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

SPBCL

From Esolang
Jump to navigation Jump to search

Simple program-based computing language (SPBCL) is a Turing-complete esoteric programming language developed by User:Notjohnconway that is based off of the simple 1-dimensional programs described in Stephen Wolfram's book A New Kind of Science. It is currently in development.

Operators

Definition operator

The definition operator := gives a function, number, or other value a label that can be called upon later in the program. For example:

Input:

label := Num[10,5]
print[label]

Output

Num[10,5]

Equality operator

The equality operator = takes a statement and outputs a truth value 0 or 1. It can be used in tandem with the if:/then operators.

Input

print[1+1 = 3]

Output

0

if:/then operators

The if: and then operators take an input (usually a truth value) and give an output based on that operator.

Input

if:
     1+1 = 2
then:
     print['true']

Output

true

print[x] operator

The print[x] operator simply outputs x.

Input

print['x']

Output

x

Values

Functions

See: Simple programs

Numbers

Numbers are given in the form Num[b,v] in which b represents the base of the number (in base 10) and v represents the value of the number.

Truth values

Truth values are 0 or 1.

Plaintext

Plaintext values are statements and are given as ' arbitrary text '

Simple programs

Cellular automata

Cellular automata are given as Ca[s,r,i,g] in which s is the number of states, r is a rulestring, i is the input, and g is the number of generations to iterate it in base 10. It outputs the minimum number of cells needed to define the state (that is, all cells not given are taken to be state 0).

Input

print[Ca[2,