gogotanaka / hilbert

:dancers: Implement mathematics.
http://hilbert-lang.org/
553 stars 36 forks source link

Hilbert

Build Status Coverage Status Code Climate Dependency Status

Hilbert lets you have a sense of mathematics using a keyboard, the same as you would with a pen.

philosophy

with Pen and paper

+-------------+       +--------------+       +---------------+
| Mathematics | <-->  | Human brains | <-->  | Pen and paper |
+-------------+       +--------------+       +---------------+

with Hilbert

+-------------+       +--------------+       +---------+
| Mathematics | <-->  | Human brains | <-->  | Hilbert |
+-------------+       | or computer  |       +---------+
                      +--------------+

Demo

xxxxyyyxxzz
=> (x^6)(y^3)(z^2)

f(x)=xxxxxxxx
f(2)
=> 256

df/dx
=>8(x^7)

S(f dx)
=>x^9/8

lim[x->0](1/x)
=> oo

Basic algebra

f(x,y)=xy
f(3,2)
#=> 6

f(s,t)
#=> st

g(s)=f(s,2)
g(u)
#=> 2u

Differentiate

d/dx(cos(x))
=> -sin(x)

d/dy(xy)
=> x

d/dx(e^x)
=> e^x

Integrate

S(log(x)dx)
=> x*log(x) - x

S(sin(x)dx)
=> -cos(x)

Limit

lim[x->0](1/x)
=> oo

Function

f(x, y) = xy
f(1, 2)
=> 2

Develop

Run test

poetry shell
poetry install
pytest

Try

./bin/hilbert

Any PRs or issues are welcome. (Please make them to the develop branch.)

You can become a committer, even if you only commit once.