Programmable Mathematics
Rebuild familiar mathematical ideas as small Go programs and discover the definitions hidden inside them.
← Mathematical Foundations projects
Question
What do we discover when we turn familiar mathematical ideas into programs we can run?
Goals
- Recognize abstraction as keeping the essential behaviour of an idea while hiding its representation.
- Recreate natural numbers, functions, and other familiar objects from a few simple operations.
- Explain how different representations can express the same mathematical idea.
Method
Begin with a question, build the smallest program that answers it, and let the mathematical definition emerge from the implementation.
- Learn enough Go to work with values, loops, functions, methods, and a simple interface.
- Build natural numbers from zero, successor, and predecessor, then use that structure for counting, iteration, and arithmetic.
- Continue with a small object such as a function, set, point, or real-number computation; run examples and compare representations.