[Haskell-beginners] Accounting Engine in Haskell

Yitzchak Gale gale at sefer.org
Tue Jun 15 05:34:27 EDT 2010


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


More information about the Beginners mailing list