@Chuch:I have no experience in F# yet. I am talking from the scala perspective.IMHO, a lattice pricing model/calibration may not be the best textbook use case of FP - I could not envision a great deal of difference between my scala implementation and my C++ implementation. C++ templates and function pointers bring the two implementations close. Lambda expressions would do the rest. Maybe an advocate of a purely functional approach may have a different opinion on this...An implementation in VBA would be a nightmare as it provides limited tools for generalization and code reuse.FP is extremely convenient in other cases, for example in the design of a Domain Specific Language (f.ex a custom econometric library for the manipulation of time series). I'd say that a FP approach would lead to a significantly more concise implementation than a C++ one, even if C++ operators could come in very handy in this case.I'd say that a mix of FP and OOD are often the best solution in my opinion (hit nails with the hammer, paint walls with a brush). Some concepts are naturally expressed as objects. At the same time, the removal of side-effects makes debugging easier; and stateless means running in parallel without too many headaches. If we are implementing a toolbox of mathematical functions, than it is great to have the possibility to treat them as first-class citizens in a native way, no workarounds.Lambdas have been introduced to the C* family for a good reason. I see the convergence of the C family towards a mixed paradigm to continue.F# math: http://msdn.microsoft.com/en-us/library ... .100).aspx
This is prob a good place to start...@Fulmerspot: it took me 1 year to improve my scala to a just OK level. It has been extremely frustrating at times.