MathLang is a specially designed programming language for maths.
Project description
MathLang
MathLang is a specially designed programming language for maths.
Features
MathLang can:
-
Solve maths equations
-
Plot 2D graphs of functions
-
Differentiate and integrate any functions
(and many more...)
And what's the best thing about it? You can do any of this with a single line!
Examples
A simple MathLang program looks like this:
# Define f(x)
# x is a reserved name for variables
f = 5*x^2 + 11*x - 16;
# Calculate f(x) at x = 2 -> f(2)
PRINT f(2);
# Solve f(x) for real roots
real_roots = SOLVE f IN REAL;
# Print real roots of f(x)
PRINT real_roots;
# Differentiate f(x)
f1 = DIFFERENTIATE f TO x;
# Print the first derivative of f(x)
PRINT f1;
Documentation
To be updated...
Limitation
As of now, the backend of MathLang is a MathLang-to-Python transpiler. In other words, Grapher source code is translated to Python source code, which is then executed with a Python engine.
Hence, the performance of MathLang largely depends on Python itself (and various other dependencies). The reason for this is that Python has a repertoire of libraries that make symbolic maths and plotting simpler to do.
However, in the future, we aim to either (1) develop a MathLang-to-C transpiler or (2) incorporate a Python-to-C transpiler with the current Grapher-to-Python one.
License
This project is licensed under the MIT licence.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for MathLang_Core-2021.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01c2a8198a213d6985f89484f48ed1235fafa33eced8e2f737e5e64cca067612 |
|
MD5 | e13181e04624832b9f225c28e40c33e7 |
|
BLAKE2b-256 | 9dfc5baa8d51d679726d52be656e1f5c5e0f40096a628373edb83293f3473c19 |