
Hi Amir, Amiruddin Nagri wrote:
My current project is about making an accounting engine...
Take a look at the related but different project "hledger". http://hackage.haskell.org/package/hledger http://hackage.haskell.org/package/hledger-lib
consistency, handling large data(performance) and availability... I am interested in knowing if Haskell will be the right fit for my project.
These things can certainly be achieved, and Haskell is a great platform for it. Reliability and assurance of correctness are very important for financial systems, and Haskell is especially good at providing them together with good performance. However, keep in mind that you are undertaking a very ambitious project. There are a lot of little design decisions to be made along the way which, if made without a lot of previous experience in whatever language you are using, could lead to serious problems later on in a large system like this. I recommend: o Start with a less ambitious version of the project - a simpler prototype with less requirements, or components that can be developed as a stand-alone and later integrated into your larger system. o Work closely with the community, on the #haskell IRC channel and the Haskell Cafe mailing list, to get guidance from experienced Haskellers. Share and discuss your code as you go along. (Or, if you select a different language that you are not very experienced in for developing large high-assurance commercial systems, do the same with that language's community.)
Also there has been some concerns because of lazy evaluation in Haskell and memory leaks associated with it.
The possibility for memory and performance leaks in large systems written in Haskell is no more or less than in any other mature programming language. As in any language, it takes experience and care to avoid them as your application scales up. Good luck, Yitz