p2sh 0.4.3

The p2sh Programming language interpreter
# Operators

## Arithmetic Operators

| Name | Description |
|------|-------------|
| + | Addition (works with numeric and string types) |
| - | Subtraction (works with numeric types) |
| * | Multiplication (works with numeric types) |
| / | Division (works with numeric types) |
| % | Modulo (works with numeric types) |

## Logical Operators

| Name | Description |
|------|-------------|
| && | The logical 'and' operator |
| \|\| | The logical 'or' operator |
| ! | The logical 'or' operator |

The result of the logical operations depend on the truthiness of
the operands of these operators.

## Truthiness

| Value | Truthiness |
|-------|------------|
| false | falsey |
| 0 | falsey |
| null | falsey |
| 0.0 | falsey |
| '\0' | falsey |
| b'\0' | falsey |
| "" | falsey |
| [] | falsey |
| map {} | falsey |
| everything else | truthy |


## Relational Operators

| Name | Description |
|------|-------------|
| == | Equality |
| != | Non equality |
| < | Less than |
| > | Greater than |
| <= | Less than or equal to |
| >= | Greater than or equal to |

## Bitwise Operators

| Name | Description |
|------|-------------|
| & | Performs 'and' operations on each bit |
| \| | Performs 'or' operations on each bit |
| ^ | Performs 'xor' operations on each bit |
| ~ | Flips all bits |
| << | Arithmetic left shift |
| >> | Arithmetic right shift |

## Assignment

Only one operator is currently supported for assignments.

| Name | Description |
|------|-------------|
| = | Assignment |