Library in Haskell for Dynamically Storing Expressions and Code Generator for Various Non-Linear Optimization Solvers