While it's convenient for everyday math, Hackulator is ideal for engineers, scientists, students, and others who routinely compute the same formulas.

Also, if you want to learn to code, Hackulator can be a great way to get started. Its simple language is made just for computing mathematical and logical formulas, designed to be easy to learn and use, but similar to how other programming languages work.

**Enhanced text editor**

Type as you normally would, entering mathematical expressions and formulas to evaluate, then tap "Calculate."

**Functions**

Write functions to describe complex formulas that you want to calculate over and over. Store them in the library for easy retrieval.

**Multiline Input**

Your computations can span multiple lines, so you can see all your work in one place. Use your own variables (like 'x' or 'rent') to hold values from line to line, or use underscore ('_') to reference the previous result.

**Logic**

Write special "conditional" expressions to make functions richer and more capable. For example, check to see if a variable is greater or less than another value automatically.

As far as functions go, here's one that contains the formula to convert Celsius to Kelvin:

```
kelvin = fun(c) {
c + 273.15
}
```

Then use it like this:

```
kelvin(100)
```

To learn more about Hackulator's expression language, see the wiki on Github.

## Hackulator Features

- Enhanced editor for entering math expressions and formulas.
- Sheets for organizing related calculations.
- Built-in math library with standard functions (logarithm, sine, cosine, tangent, absolute value, etc.).
- Write custom functions.
- Function library to contain your collection of custom formulas for reuse in any sheet.
- Examples of functions and common conversion formulas (Area, Finance, Geometry, etc.).
- Create variables to hold numbers, results, and functions.
- Use conditional (“if-else”) expressions.
- Special keyboards that provide easy access to commonly used symbols and built-in math formulas.

Have an idea for a new feature? Submit it to the issues page on Github or email it.