Fourier

Fourier is a golfing language created by Stack Exchange user Beta Decay, with similarities to Brainfuck, but more advanced. It is still undergoing development as of August 2015.

Repeat
Repeat the code within the brackets until the accumulator equals the value of the accumulator before the brackets. After the open bracket, the accumulator is set to 0. Repeats can be nested.

If
If the result of  equals the value of the accumulator, then run code. After the open curly bracket, the accumulator is set to 0. Ifs cannot be nested.

Increase
Increase the accumulator by one.

Decrease
Decrease the accumulator by one.

Number
Set the accumulator to the integer.

Character out
Takes the value of the accumulator as the ASCII code and outputs the character.

Number out
Outputs the value of the accumulator.

Random
Sets the accumulator to a random value in the range 0 to the value of the accumulator.

Set variable
Creates a variable  and sets it to value of the accumulator.

Call variable
Sets the accumulator to the value of variable. If not previously initialised, the variable is equal to 0.

Add
Sets the accumulator to the value of the accumulator plus the value of.

Subtract
Sets the accumulator to the value of the accumulator minus the value of.

Multiply
Sets the accumulator to the value of the accumulator multiplied by the value of.

Divide
Sets the accumulator to the value of the accumulator divided by the value of.

Modulo
Sets the accumulator to the remainder of the value of the accumulator divided by the value of.

Input
Sets the accumulator to the user input.

Greater than
Sets the accumulator to 1 if the value of the accumulator is greater than the value of, 0 if not.

Less than
Sets the accumulator to 1 if the value of the accumulator is less than the value of, 0 if not.

Equal to
Sets the accumulator to 1 if the value of the accumulator is equal to the value of, 0 if not.

Date
Sets the accumulator to parts of the date depending on the value of :

0d
Sets the accumulator to the seconds part of the current time.

1d
Sets the accumulator to the minutes part of the current time.

2d
Sets the accumulator to the hour part of the current time.

3d
Sets the accumulator to the day part of the current date.

4d
Sets the accumulator to the month part of the current date.

5d
Sets the accumulator to the year part of the current date.

Other
If the date is any other number (apart from 0, 1, 2, 3, 4, or 5), the accumulator is set to the current UNIX timestamp.

CLS
Clears the current output.

Delay
Starts a time delay of  seconds, during which, no code is executed.

Code
33~j126(j^a~j)

Try it online!

Output
"#$%&'*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

Code
1~yI~k(xoi^<k{1}{44a32a}y+x~gy~xg~yi^~i)

Try it online!

Output
For input :

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229

Code
(@2do58a1d~S<10{1}{0o}So58a0d~S<10{1}{0o}So1;)

Output
This is just an example (output changes each second)

16:57:06

Try it online!

Interpreter
Find the Python interpreter here at CodePlex.

You can also find up to date two online interpreters here and here.