CounterClockWise

From Esolang
Jump to navigation Jump to search
Not to be confused with Counter clockwise.

CounterClockWise is an esolang(generalized computational model) created by islptng.

Literally, there is counters and clocks, and you can make wise programs. The title is unrelated to rotation.

Syntax

A program consists of counters. To express a counter:

CounterName : InitialValue = IterateExpression

InitialValue should be an integer.

These operations are valid in IterateExpression:

a+b a-b -a
(a?b!c.d): If a is positive, evaluate b; If zero, evaluate c; else evaluate d.

Leave blank means 0.

You can have a number (prefixed with a slash or an asterisk) before a name of the counter, for multiplication and integer division(floor).

We run in steps, for each step, we update each counter at the same time, not from up to down.

Examples

Collatz sequence

collatz = 54 : (collatz - *2/2collatz ? *3collatz+1 ! /2collatz .)

Interpreter

I need help.