1
0
2023-09-28 16:13:48 -04:00
2023-10-20 02:14:34 -04:00
2023-09-12 01:23:35 -04:00
2023-09-13 11:37:19 -04:00
2023-09-19 15:42:44 -04:00
2023-09-19 15:42:44 -04:00
2023-09-13 11:37:19 -04:00

The Universal Calculator

Using the GHC REPL and Haskell to teach programming concepts through the guise of mathematics.
A handy assistant to help you understand and solve maths problems.

How to use

λ> 5 * 5
25

λ> 1 + 5
6

λ> 10 / 2
5.0

λ> 10 `div` 2
5

λ> 10 `div` 3
3

λ> 10 / 3
3.3333333333333335

λ> :t sum
sum :: (Foldable t, Num a) => t a -> a

λ> :t sum [1..100]
sum [1..100] :: (Num a, Enum a) => a

λ> sum [1..100]
5050

λ> f x = 5*x^3 + 4*x + 2

λ> f 1
11

λ> f 10
5042

λ> f 100
5000402

λ> map f [1..10]
[11,50,149,338,647,1106,1745,2594,3683,5042]

λ> putStrLn "Hello, world!"
Hello, world!

How to install

  • Use the DeterminateSystems installer to install Nix with Flakes.
  • cd into the top level of this repo.
  • nix develop and let Nix load the flake and set everything up.
  • ghci and get computing!
    • To enable performance timings after every input, type λ> :set +s in the REPL
    • See other initial commands being run in the .ghci file.
Description
Using the GHC REPL and Haskell to teach programming concepts through the guise of mathematics. Powered by Nix.
Readme 250 KiB
Languages
Haskell 82.2%
Nix 13.4%
Go 2.2%
Kotlin 1.1%
JavaScript 0.7%
Other 0.4%