Evaluating HacleWe evaluate the usefulness of Hacle over two criteria. Firstly, we measure its completeness by translating a range of Haskell programs (mostly from the nofib benchmarking suite). Secondly, we measure the performance of these programs as compiled by (1) the GHC compiler and (2) the pipelined Hacle then Clean compilation system. In evaluating Hacle under the first criteria, we draw your attention to the result below which shows that Hacle can translate itself. Hacle is written in approximately fifteen and half thousand lines of Haskell code and includes a full Haskell'98 parser and Clean pretty printer. In evaluating Hacle under the second criteria, we draw your attention to the results below which show the Hacle then Clean compilation system producing faster executables that GHC. However, there are also severals results showing GHC producing faster executables.
Note: the choice of programs used above may seem quite random. I have no real explanation for this other than the fact that some nofib programs aren't suitable for hacle, i.e. those programs which even hugs doesn't recognise as standard Haskell'98, and those which don't conform to the limitations of Hacle. By no means have I attempted to translate every program in the nofib suite! In the table above we have a field called ``Notes''. Notes represent the modifications required to a program so that it conforms to the subset of Haskell'98 that Hacle supports.
Test Conditions
|