[Shootout-list] Updates for Haskell benchmarks.

JP Bernardy jyp_7@yahoo.com
Wed, 23 Jun 2004 06:35:09 -0700 (PDT)


--0-1687170312-1087997709=:62368
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

Hi,

As I pointed before, some Haskell programs did not
look too good to me, so I ended up writing better
versions, for a number of them. I've simplified,
cleaned, or otherwise enhanced the following
benchmarks:

echo
fibo
hash
matrix
moments
nestedloop
prodcons
regexmatch
sieve
strcat
sumcol
wc
wordfreq

matrix, regexmatch and sieve are required to perform n
times the same task. Yet, this is next to impossible,
(due to lazy evaluation, etc.) so the current
benchmarks don't behave as instructed, and my
improvements don't either. I suggest the requirements
to be modified as I previously hinted.

Besides, I propose alternate versions for ary & fibo.
My ary_.hs don't use destructive updates/monadic code
and is thus prehaps more representative of haskell
style. Yet it is 5 times slower as the current
implementation.

There's a canonical way to compute fibonnaci numbers
using lazy evaluation, which the requirements prevent
to implement. I suggest at least to mention "the right
way" to do it. Implementation is in fibo_.hs.

Cheers,
JP.


	
		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 
--0-1687170312-1087997709=:62368
Content-Type: application/gzip; name="Shootout.tar.gz"
Content-Transfer-Encoding: base64
Content-Description: Shootout.tar.gz
Content-Disposition: attachment; filename="Shootout.tar.gz"

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
8EnwvzNqNoAAeAAA

--0-1687170312-1087997709=:62368--