Bill Ewanick ab90e9c219 | ||
---|---|---|
.vscode | ||
src | ||
.envrc | ||
.ghci | ||
.gitignore | ||
README.md | ||
flake.lock | ||
flake.nix |
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.
- GHC = Glasgow Haskell Compiler
- REPL = Read Evaluate Print Loop
- Haskell = Lazy, Pure, Functional Programming Language
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.
- To enable performance timings after every input, type