A toy Wolfram Language interpreter in Haskell

Recently I wrote a toy Wolfram Language interpreter as a way to learn more about Wolfram Language. I have implemented some basic language structure and built-in functions. I have hosted it on github.

A simple term rewriting system with Wolfram Language's syntax

Inspired by the book Write Yourself a Scheme in 48 Hours.
I decide to write myself a simple Wolfram Language-like interpreter to learn more about Haskell as well as
achieve a deeper understanding about Wolfram Language.

Features

This interpreter is intended to mimic every exact detail of Wolfram Language, including but not limited to its syntax, semantic,
expression structure, evaluation details, etc. (All the scripts below were executed in the REPL session of the mmaclone program)

The program support nearly all Wolfram Language's syntax sugar, infix operators as well as their precedence. Inequality expression chain is parsed in the same way with Wolfram Language.

More

For more information please refer to the project wiki (still under construction).

Features that are likely to be added in future versions:

(Some serious design errors are exposed during development, which I consider are inhibiting
the project from scaling up. So currently my primary focus would be on refactor
rather than adding new features/functions)

That's cool, but I hope you do not run into legal troubles. According to the mathematica eula, under "ownership", they see their language as part of their product's IP and don't grant anyone to use its distinctive features outside of the product.

Mathics is a free, general-purpose online computer algebra system featuring Mathematica-compatible syntax and functions. It is backed by highly extensible Python code, relying on SymPy for most mathematical tasks.