[Haskell-cafe] Chameneos

Josh Goldfoot j_goldfoot at yahoo.com
Fri Jan 6 13:17:45 EST 2006

The use of arithmetic to determine the chameneos compliments may be prohibited by the shootout rules.  Although the benchmark does not address the issue, the C# code, which was written by Isaac Gouy (one of the main shootout administrators) contains these comments before its complement code:
   // don't use arithmetic
   // use if-else or switch/case or pattern-match

If I recall correctly, Gouy's C# code has served as a sort of supplement for other benchmarks; rather than fully describe the benchmark, they'll say something like "implement it like this C# program."  However, I do note that the current Python entry uses arithmetic.  That might have been allowed only because Python doesn't allow enums.  (Or does it?) 

----- Original Message ----
From: Chris Kuklewicz <haskell at list.mightyreason.com>
To: Donald Bruce Stewart <dons at cse.unsw.edu.au>; Haskell Cafe <haskell-cafe at haskell.org>
Sent: Friday, January 06, 2006 6:04:02 AM
Subject: [Haskell-cafe] Chameneos

Your "case" tweak was for an older version of Chameneos that used an
older Ch channel implementation.

But I was inspired by your improvement to use Int# instead of data
Color, and I posted a version that seems faster than the winning one
that was submitted. http://www.haskell.org/hawiki/ChameneosEntry

It still has to box the Int# to put it into the MVar channels.  But the
fastest complement is now (3# -# a -# b) and "if (other ==# faded)" is
faster than the previous "case other of Faded -> ; _ ->".  At least on
OS X / G4.

Also, thanks for cleaning up the SumFile code.
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org

More information about the Haskell-Cafe mailing list