Obfuscation/IOHCC 2004

From HaskellWiki
Jump to navigation Jump to search

aka Functional Swine, the opposite of FunctionalPearls

In the spirit of http://ioccc.org/ ....

bring us your poor, weary, downtrodden, and unreadable source code.


This contest is meant to be fun, short, and not terribly serious.

  • submission deadline: August 31st, 2004
  • judging deadline: September 15th, 2004 (expect results at that point)
  • send your code (and/or complaints/comments) to: mailto:iohcc@lists.ScannedInAvian.org

submission must have source and some sort of description file so that the jurors won't be totally mystified.


  • LICENSE: your code must an original work, all submitted programs are thereby put in the public domain. All explicitly copyrighted programs will be rejected. (see the IOCCC rules)
  • max source size: 5k
  • entry must include shell script or makefile to perform the build
  • build must not require human intervention
  • doing something interesting and/or useful is a plus
  • we particularly like games
  • limited abuse of the rules is acceptible if the specific abuses are documented, and the judges think it's cool
  • judges aren't allowed to enter (not this time)


  • latest public release versions of hugs, ghc, nhc, hbc, helium acceptable (any we missed?)
  • may use common Haskell tools such as hmake, happy etc.
  • program need not be portable across Haskell implementations
  • must be relatively portable across platforms (i.e. no Linux-specificisms)
  • use of ANSI/VTxxx codes which are not limited to a specific brand of terminal and work in a standard xterm are portable
  • FFI is discouraged, we want real Haskell source.

five person jury:

  • Bjorn Bringert (bringert)
  • Andrew Bromage (Pseudonym)
  • Shae Erisson (shapr)
  • Jeremy Shaw (stepcut)
  • Martin Sj�gren (Marvin--)

random notes, thoughts, and ideas:

Awards will depend on the specific entries, but may include:

  • best one-liner - less than 80 chars not counting imports?
  • best .signature sized - 4x80 or 4x76 or whatever
  • best game
  • best H98-only program
  • best exploit of a compiler bug
  • most useful program
  • most creative layout
  • best abuse of implementation-specific extensions
  • best abuse of the type system
  • best abuse of category theory
  • worst abuse of the rules

spirit, point, reason:

  • to seek out new lifeforms and new civilizations
  • to boldly go where no Haskell programmer has ever wanted to be!

Semi-seriously, though, obfuscated code shows neat and unusual ways of structuring a program, cool tricks, dark nooks and crannies you've never thought of, and is generally a good way to shake off all that software discipline and stomp around in the muddy world of spaghetti code for a quick vacation.