Mathematics exercise generator for arithmetics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Christina e887892d04
4 weeks ago
.github Create FUNDING.yml 1 year ago
app commented out sage completesquare 1 month ago
src Simply merge 1 year ago
test Simply merge 1 year ago
.gitignore Simply merge 1 year ago PRESENT DAY, PRESENT TIME 4 weeks ago
LICENSE Not so simple after all, I failed on the license! 1 year ago PRESENT DAY, PRESENT TIME 4 weeks ago
Setup.hs Simply merge 1 year ago Bumped to ghc 9.0.2 7 months ago
mathdh.cabal Bumped to ghc 9.0.2 7 months ago
package.yaml Now there is a table printed, but formatting is ~~ 8 months ago
stack.yaml Bumped to ghc 9.0.2 7 months ago
stack.yaml.lock Simply merge 1 year ago

MDH - Mathdh — Mathematics Drills with Haskell

You know… It kind of sucks how we all forget everything we learned in school.

One of the worst things is certainly math. I mean, we spend all this time learning it, just to have it slowly dissipate in the background. But with just a slight investment of time, we can keep our skills tip top. So…

That's why I made this. It also has helped me a lot with my arithmetic in general, I used to be almost unable to calculate anything in my head, but with the help of daily drills in mhd, now I can almost calculate my groceries while shopping… Or well not really, but I can do multiplication pretty darn fast!

I just was annoyed that I had this program siloed in the depths for my random code projects folder where it just collected dust. So here! Perhaps I'll even give it some love when time permits.


  • Addition, Subtractions, Multiplication, Division problems.
  • Practice multiplication tables (or other types of table operations).
  • Drill random combinations in a range you find comfortable.
  • Super simple and fast, making it a very eacy habit to put into those gabs in your workday. E.g. could be run every time you log in quizzing you with just 5 random questions.
  • Super lightweight.


The program has been developed on NixOS for now the only supported way to run it is on NixOS.



To get the latest version with git over HTTPS:

git clone

git SSH

To get the latest version with git over SSH:

git clone


Linux - NixOS


Navigate to your local copy of the repository. When you're in the root directory, simply run:


And the binary will be built for you in the local directory and installed in your nix user profile.


To use mdh, just run:


Which will produce no output beyond telling you that the program is done.

However, using a command like:

mdh 11 1 10 "*" +

Will start a drill session where you go through the operations * and +, starting with a refresher of all the combinations from 1 to 10, before giving you 11 random questions per number in the range you gave, with another number in the same range.