Limerick Contest Results

Published 2002-09-13    Printer-friendly version

Here are the results of the Clarion Magazine Limerick contest. Although we received only three entries, all were of good quality, and it was difficult to choose the winner. The rules were as follows:

  • The limerick itself must be compilable Clarion source code, in the form of an IF, LOOP, or CASE structure.
  • Words to be used can be declared (apart from the verse) as equates, data labels, calls to external routines, etc.
  • Points given for actual usefulness of the code, rhyme, meter, double-entendre (but please remember this is a family magazine), etc.
  • Line continuation characters are considered punctuation. You may only use a comment on the last line.

Randy Rogers, inspired by George Cobaugh, submitted the following limerick:

  program
  map
Chat        procedure()
Spend       procedure(*long Money)
  end 
 
TaxDiscussion window
              end 

There_Is_Money_My_Friend    long(100)
Money_For_Foods             long(10)
Tax_Me_Again_And_Again      byte(true)
Demand                      equate(0)
Jobs                        equate(0)
For_The_Goods               equate(create:string)
For_People_Who_Spend        equate(create:string) 
 
  code
    Chat() 
 
Chat    procedure           
  code
    open(TaxDiscussion) 
    ! thanks to george cobaugh for the inspiration 
    loop while There_Is_Money_My_Friend |
    and Tax_Me_Again_And_Again
      spend(Money_For_Foods)
      create(Demand,For_The_Goods)
      create(Jobs,For_People_Who_Spend). 
 
    close(TaxDiscussion) 
 
Spend   procedure(*long Money)
  code
    There_Is_Money_My_Friend -= Money

Our judge detected a slight slip of the meter in "create(Demand,For_The_Goods)", and a wee bit of poetic license in rhyming friend, again, and spend. Also, it's a while since our judge bought "foods." Still, very nicely done, and probably as good a model of economics as any other. Top marks for the code actually doing something.

Steven Gallafent not only supplied a contest entry, he introduced it with a limerick:

Here my entry for you to peruse.
It compiles, but that's isn't news.
If it's answers you seek,
Then in English, not Greek,
This program should help you to choose!

Steven also points out that in his entry the = signs are pronounced "equals," and all of the other punctuation is just there for the compiler.

! Steve Gallafent
! steve@compguy.com
  PROGRAM

  MAP
    TellThem(STRING)
  END

  ITEMIZE
IngWhoWins         EQUATE
Tough              EQUATE
ReadingTheseRhymes EQUATE
Rough              EQUATE
  END

YourPencilDownNow  &FILE
ThePrize           &FILE

ToMyHouse          STRING('I never get sent')

  CODE

  ! Limerick starts here
  IF CHOOSE(IngWhoWins = Tough) |
     OR (ReadingTheseRhymes = Rough)
    PUT(YourPencilDownNow)
    SEND(ThePrize,ToMyHouse)
  END ; TellThem('We''ve read quite enough')
  ! Limerick ends here

TellThem           PROCEDURE(STRING WhatToTell)
  CODE
  MESSAGE(WhatToTell)

Our judge gave extra marks for "CHOOSE(IngWhoWins)" and the creative use of the semicolon to get around the END problem, but "now" doesn't rhyme with "house," at least around here.

Finally, Mike Ware sent in a "classy" limerick. I guess you could say he, ah, typed it:

LimerickType Interface
MyTime         PROCEDURE (BYTE Waist)
 .
PoetryHype   CLASS, DLL, TYPE
Language       Procedure(*Group Taste)
 .

MyTry CLASS(PoetryHype)|
implements(LimerickType)
LineCount   BYTE(5)
Words       ANY ! (Derive)
Output      PROCEDURE (? bagpipe)
       .

As with the best object-oriented code, this limerick is elegant in its simplicity. There are several problems here also, however. The code doesn't quite fit the requirement of code in the form of an IF, CASE, or LOOP structure, and it uses a comment but not on the last line (where it was intended to help with the END problem). On the other hand, there is only one comment, and it makes sense in the context.

Although this entry misses a couple of requirements, the other two entries don't quite fit the limerick standard for rhyme and/or meter.(Actually none of the entries quite fit the classic limerick structure.) There is no completely qualifying entry.

Exercising the magisterial prerogative, our judge gave extra points for thinking outside the box, and designated Mike Ware the winner. Congratulations, Mike! Richard Rogers has been notified, and you will be receiving your prize.

Printer-friendly version