CA-1

From Esolang
Jump to navigation Jump to search

CA-1 is the name of an esoteric programming language and a set of related programs.

Commands

Command Description
INPUT Program input. Multiple inputs allowed. 3 bit.
OUTPUT Program output.
NOT Inverts a variable.
GOTO Sends the output of once rule to the next rule.
GEN n Continues the previous command for n generations.
IMPORT x Imports a new rule x. Not used in the assembly version of the language.
SQUARE Takes a 3 bit 2 dimensional pattern and squares it into a 2 dimensional 9 bit pattern.
# Comment.

Example

INPUT #User input
110 #Runs user input through rule 110
102 #Runs the pattern from rule 110 through rule 101
SQUARE #Creates a two dimensional pattern
GoL
NOT
OUTPUT

When run on input "001", the program outputs 111,111,111: 001 -> 011 -> 0 -> 000,000,000 -> 111,111,111

Assembler

CA-1 assembler takes a program and outputs a schematic that can be used to build a physical computer that runs the program.

Cat program

INPUT
OUTPUT

Turing completeness

CA-1 is only Turing complete for some cellular automata, such as Game of Life and Rule 110.