The Funny Side

White Christmas

BEGIN
    (* I'm dreaming of a white Christmas, *)
    (* Just like the ones I used to know. *)

    IF Christmas [ white ] AND
        ( Christmas [ white ] = Christmas [ known( me ) ] ) THEN
        me := dream( Christmas [ white ] );

    (* I'm dreaming of a white Christmas, *)
    (* with every Christmas card I write. *)

    FOR index := firstcard TO lastcard DO BEGIN
        WITH card [ index ] DO me := dream( Christmas [ white ] );
    END;

    (* When the tree-tops glisten, *)
    (* And children listen, *)
    (* To hear sleighbells in the snow. *)

    REPEAT wait UNTIL stateof ( tree.tops ) = glisten AND
        stateof( children ) = listen( noiseof1in2( bells.sleigh, snow ) ) ;

    (* May your days be merry and bright, *)

    FOR index := firstday TO lastday DO BEGIN
        day.yours[index] := merry;
        day.yours[index] := bright;
    END;

    (* and may all your Christmases be white. *)

    FOR index := firstxmas TO lastxmas DO
        Christmas.yours[index] := white;

END.

Author unknown.