#Bounded Memoizer
As an exercise, I was trying to implement a memoization of single parameter functions with a bounded cache size; a very simple approach with a First In First Out strategy. It's probably not perfect, let me know what you think of it.
The specs are that the memoizer should be concurrent and kick out the "oldest" computation. For instance, with a maximum size of 2 slots in the cache:
foo(0) //computes and cache the result for 0
foo(1) //computes and cache the result for 1
foo(0) // returns the cached result
foo(2) // computes and cache the result for 2 and kicks out the result for 0)