Cyclifford

From Esolang
Jump to navigation Jump to search

Cyclifford is a silly idea of a language by User:arseniiv, based on Clifford algebras.

The program is an expression consisting of integer literals, variables, additions, subtractions, multiplications and applications of two non-principal (anti)automorphisms. Variables are referenced by their positive integer indices .

At runtime, the input is treated as a desctiption of a Clifford algebra (over integers): its length in bits is the generator count, and for each generator is taken to be +1 when the -th bit is 0, and −1 when that bit is 1. The state of computation initially is taken to be the program. Then the Procedure A is applied to until it’s self-conjugate, i. e. applying principal automorphism to returns itself.

Procedure A is as follows. In , replace each with treating indices modulo the input length, and name the result . Then assign .

If the computation halts, the output is the scalar (grade-0) part of the final .

Example of operation

I’m fairly confident no one understood anything above so an example will come soon. Or will it?..