1
0
Fork 0
Using the GHC REPL and Haskell to teach programming concepts through the guise of mathematics. Powered by Nix.
 
 
 
 
 
Go to file
Bill Ewanick 683ad67214 Add main functions to any that were missing 2023-09-18 19:40:01 -04:00
.vscode spelling 2023-09-18 11:56:00 -04:00
src Add main functions to any that were missing 2023-09-18 19:40:01 -04:00
.envrc Flakify initial commit for Haskell REPL 2023-09-12 01:23:35 -04:00
.ghci Minor tweaks 2023-09-13 11:37:19 -04:00
.gitignore Hide all executables, as well as Haskell IR 2023-09-18 11:56:43 -04:00
README.md Minor tweaks 2023-09-13 11:37:19 -04:00
flake.lock Flakify initial commit for Haskell REPL 2023-09-12 01:23:35 -04:00
flake.nix Euler Question 10 - Whole lotta primes 2023-09-14 23:46:22 -04:00

README.md

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.