Obfuscated Haskell Code Contest =============================== THE TIME HAS COME! Haskell has now come of age and it is time to prove that we can do as good as C programmers can. Thus, the time has come for an obfuscated Haskell code contest. The contest is modelled after the corresponding C contest. But with Haskell we should be able to reach levels of obfuscation that C programmers can only dream of in their wildest nightmares. Just consider the exception filled lexical rules (e.g. comments), strange syntax (try mixing layout with no-layout), and a semantics that is still debated. The goal: a program of at most 1024 characters that is as incomprehensible as possible. Deadline: 1 Jan 1994. Send to: [EMAIL PROTECTED] Full rules (stolen from the C contest) below. Have fun -- Lennart Augustsson 1st International Obfuscated Haskell Code Contest Rules Obfuscate: tr.v. -cated, -cating, -cates. 1. a. To render obscure. b. To darken. 2. To confuse: his emotions obfuscated his judgment. [LLat. obfuscare, to darken : ob(intensive) + Lat. fuscare, to darken < fuscus, dark.] -obfuscation n. obfuscatory adj. GOALS OF THE CONTEST: * To write the most Obscure/Obfuscated Haskell program under the rules below. * To show what should NOT be done in Haskell programs. RULES: To help us handle the entries, we ask that you follow the rules below. 1) Your source MUST be 1024 bytes or less, and it must be a complete program, not just a subroutine. 2) To help us process your entries, we ask that you submit entries in the following format. Please be sure to include ALL --- lines, otherwise our extraction program may skip your entry! ---header items--- name: Your name, of course! org: School/Company/Organization email address: Email address from a well known site, or in a registered domain postal address: Postal address include your country as well environment: Indicate the compiler under which your program was tested entry: 5 <number of entries sent so far including this one> remarks: Remarks may be continued with leading whitespace until the line ---how to compile-- is encountered. (see #3 below) ---how to compile--- Give the command(s) needed to compile your program using a Haskellcompiler. If you program should not be compiled under a K&R style C, leave this section blank. ---program--- Place obfuscated source of 1024 characters or less in this section. Add a leading X to each line to avoid problems with mailers. Some mailers don't like files with very long lines. If your entry contains lines longer 80 chars we ask you to send a uuencoded version of the file instead. ---end--- 3) Regarding the header items: * Any text outside of the above format will be kept confidential. * All header lines are required, but you may use 'anonymous' for any header line other than 'remarks' or 'entry'. * In the 'remarks' please include: - what this program does - why you think the program is obfuscated - any other remarks (humorous or otherwise) 4) Your entry should be written in standard Haskell 1.2. It should not use any preprocessor (e.g. cpp or an unliterator) nor any of the extended I/O requests from the appendix. 5) The program must be of original work. All programs must be in the public domain. All copyrighted programs will be rejected. 6) Entries must be received between before 1-Jan-94 0:00 UTC Email your entries to: [EMAIL PROTECTED] We will attempt to Email a confirmation of receipt of contest entries. 7) Each person may submit up to 8 entries. Multiple entries must be sent in separate Email letters. ANNOUNCEMENT OF WINNERS: * First announcement will likely be in mid January 1994. * Winning entries will be posted in comp.lang.functional. * Winners receive international fame and flames! :-) JUDGING: Awards will be given to the best entry in a number of categories. The actual category list will vary depending on the types of entries we receive. As a guide, consider using the following: * The strangest source layout * The most useful obfuscated program * The most creatively obfuscated program * Best obfuscated entry smaller than 256 bytes * Best abuse of overloading * Worst abuse of the rules (no abuse of entry format please!) * <anything else so strange that it deserves an award> Extra points will be awarded to (correct) programs that break any of the existing Haskell systems.