Modular Algorithms for Scientific Computing in Julia