# INF)xO

INF>xO is an esoteric programming language made by User:AmNow. INF>xO was made so that you can have infinite output without loops.

## Commands

```Version 1.3
```

```€([a]’[b]… )
```

defines a N-dimensional vector. e.g.: `€(z’34’|’)`

note: INF>xO uses base 37 ([0-9][a-z]Æ, | (pipe) references infinity)

To declare/set a variable, use:

```[name]…[value]
```

To reference the value in one, use:

```:[name]:
```

To get a single value from a vector (note: zero-indexed):

```[vector]{[index]}
```
```+,-,* and / do math: e.g.: 2+2
```

+ can be used for concatenation of vectors: e.g.: €1’2+€3’4 results in €1’2’3’4.

* can be used for multiplication of vectors e.g.: €35*| results in €35’35’35…

```p;[object]; Output as Unicode.
P;[object]; Output as base 37.
R;[object]; Output as base 10.
```
```i Input a vector in Unicode.
I Input vector in base 37
Ī Input vector in base 10
j Input Unicode character and use the ID.
J Input number in base 37
~ Input number in base 10
```
```¥[cnd]«[code]» while cnd returns true, do code.
;[cnd]^[true-code]«[false-code] if cnd is true, do the true code, else do the false code, [false-code] is optional.
\ End program.
§[comment] Comment
```
```@ Reference the program in a vector.
```

## Programs

### Spam #s

```p;€(z)*|;
```

### Truth Machine

```;~==1^         § check if input is 1
p;€(1b)*|;    § output one forever if it is 1.
«              § else
R;0;          § output 0
»              § end
```

```¥1==1^R;~+~;«
```

#### One time

```R;~+~;
```

### Quine

```p;@;           § This Quine cheats.
```

## Computational Class

INF>xO is Turing complete as seen here:

```BF     INF>xO
Init   s…€(0)*|
p…0

+      s{:p:}…s{:p:}+1
-      s{:p:}…s{:p:}-1
<      p…:p:-1
>      p…:p:+1
.      p;s{:p:};
,      s{:p:}…j
[      ¥s{:p:}!=0«
]      »
```