Learn Physics With Functional Programming