# hatemath

hatemath is an esoteric programming language that was created by Saketh Suresh in 2018. The language uses 8 commands, 1 for printing, 3 for telling the type of variable and the other 4 for manipulating the variable.

## How it works

hatemath works with only one variable called X. The 4 commands for the manipulation of X depend on its type.

## Commands

The 8 commands used in hatemath are:

Command Description
`[` sets the type of X to a Nonevalue (there are no operations for this type of variable)
`<` sets the type of X to a character with default value being ' '
`>` sets the type of X to an integer with default value being 0
`+` increments X by 1 if the type of X is an integer
`-` decrements X by 1 if the type of X is an integer
`*` moves 1 character forward if the type of X is a character (eg. ' ' -> 'a' -> 'b' and so on)
`/` moves 1 character backward if the type of X is a character (eg. 'a' -> ' ' -> 'z' and so on)
`]` prints the current value of X

Note: In hatemath the whole code is written in one line.

## Examples

### A simple program that prints "6 abb"

```[>++++++]<]*]*]]
```

### Hello, World!

```[<********]///]*******]]***]<]////]////////]***]//////]////////]
```

## Python 3 interpreter

```import sys
code = ""
while code != "q":
code = input()
for a in code:
if a == "[":
x = None
if a == ">":
x = 0
if a == "+":
x += 1
if a == "-":
x -= 1
if a == "]":
sys.stdout.write(str(x))
if a == "<":
x = " "
if a == "*":
if x == " ":
x = "a"
elif x == "a":
x = "b"
elif x == "b":
x = "c"
elif x == "c":
x = "d"
elif x == "d":
x = "e"
elif x == "e":
x = "f"
elif x == "f":
x = "g"
elif x == "g":
x = "h"
elif x == "h":
x = "i"
elif x == "i":
x = "j"
elif x == "j":
x = "k"
elif x == "k":
x = "l"
elif x == "l":
x = "m"
elif x == "m":
x = "n"
elif x == "n":
x = "o"
elif x == "o":
x = "p"
elif x == "p":
x = "q"
elif x == "q":
x = "r"
elif x == "r":
x = "s"
elif x == "s":
x = "t"
elif x == "t":
x = "u"
elif x == "u":
x = "v"
elif x == "v":
x = "w"
elif x == "w":
x = "x"
elif x == "x":
x = "y"
elif x == "y":
x = "z"
elif x == "z":
x = " "

if a == "/":
if x == " ":
x = "z"
elif x == "z":
x = "y"
elif x == "y":
x = "x"
elif x == "x":
x = "w"
elif x == "w":
x = "v"
elif x == "v":
x = "u"
elif x == "u":
x = "t"
elif x == "t":
x = "s"
elif x == "s":
x = "r"
elif x == "r":
x = "q"
elif x == "q":
x = "p"
elif x == "p":
x = "o"
elif x == "o":
x = "n"
elif x == "n":
x = "m"
elif x == "m":
x = "l"
elif x == "l":
x = "k"
elif x == "k":
x = "j"
elif x == "j":
x = "i"
elif x == "i":
x = "h"
elif x == "h":
x = "g"
elif x == "g":
x = "f"
elif x == "f":
x = "e"
elif x == "e":
x = "d"
elif x == "d":
x = "c"
elif x == "c":
x = "b"
elif x == "b":
x = "a"
elif x == "a":
x = " "
```