Write a function that gets a functions as attribute and returns a new functions while memoizing (caching) the input/output pairs. Then write a unit test that checks it. You probably will need to create a subroutine to be memoized.
- write tests for the fibonacci functions
- implement the memoize decorator for a function with a single parameter
- apply the decorator
- test again
- check the speed differences
- or decorate with tron to see the calls...