english.232gristic,
THE TWELVE DAYS AFTER CHRISTMAS
The first day after Christmas
My true love and I had a fight
And so I chopped the pear tree down
And burned it just for spite
And with a single cartridge
I shot that blasted partridge
My true love, my true love,
My true love gave to me
The second day after Christmas
I pulled on the old rubber gloves
And very gently wrung the necks
Of both the turtle doves
The third day after Christmas
My mother came down with the croup
I had to use the three French hens
To make some chicken soup
The four calling birds were a big mistake
For their language was obscene
The five gold rings were completely fake
And they turned my fingers green
The sixth day after Christmas
The six laying geese wouldn't lay
I gave the whole darned gaggle to
The ASPCA
The seventh day what a mess I found
All seven of the swimming swans had drowned
My true love, my true love,
My true love gave to me
The eight day after Christmas
Before they could suspect
I bundled up the
eight maids a milking
nine ladies dancing
ten lords a leaping
'leven pipers piping
twelve drummers drumming
Šspoken in a sexy alto voice:Ć
(Well, actually, I kept one of the drummers.)
And sent them back collect
I told my true love
We are through love
And I said in so many words
Furthermore your gifts are for the ĐBii
four calling birds Điirrr
three French hens Đrrdd
two turtle doves Đds
and a partridge in a pear tree.
───
* Genitalia is not an Italian airline.
english.233gristic,
THE TWELVE DAYS AFTER CHRISTMAS - by Jeannie West (12/22/92)
On the first day after Christmas,
My true love and I had a fight
So I chopped the pear tree down
And shot the partridge just for spite.
On the second day after Christmas,
I put on a pair of old gloves,
And gently wrung the necks
Of both those stupid turtle doves.
On the third day after Christmas,
My dear old mother got the croup.
So I took those 3 French hens,
And made her some chicken soup.
The 4 calling birds were a mistake,
Their language was terribly obscene;
Of course the 5 golden rings were fake:
They turned my fingers Greeeeeeen.
On the sixth day after Christmas,
Extremely cold weather came around
So I killed those 6 noisy geese
and made a jacket filled with down.
On the seventh day after Christmas,
I shot those 7 swans a swimming
I had to do it donUt you see
they was chasing all the women.
On the eighth day after Christmas,
I had milk up to my eyes
and if that wasnUt bad enough
I had cow shit up to my thighs.
On the ninth day after Christmas,
I took a hammer to those pipes
youUd have thought I killed the Pope
if you heard those pipers gripe.
On the tenth day after Christmas,
IUd learned every dance there is to know
so without a single guilty thought
I threw those dancing ladies out in the snow.
But there is one thing I will admit
about those 11 Lords a leaping
and 12 drummers drumming
IUm not crazy, those IUm keeping!
==
───
* How many weeks are there in a light year?
english.234gristic,
THE TWELVE DAYS AFTER CHRISTMAS - by Jeannie West (12/22/92)
On the first day after Christmas,
My true love and I had a fight
So I chopped the pear tree down
And shot the partridge just for spite.
On the second day after Christmas,
I put on a pair of old gloves,
And gently wrung the necks
Of both those stupid turtle doves.
On the third day after Christmas,
My dear old mother got the croup.
So I took those 3 French hens,
And made her some chicken soup.
The 4 calling birds were a mistake,
Their language was terribly obscene;
Of course the 5 golden rings were fake:
They turned my fingers Greeeeeeen.
On the sixth day after Christmas,
Extremely cold weather came around
So I killed those 6 noisy geese
and made a jacket filled with down.
On the seventh day after Christmas,
I shot those 7 swans a swimming
I had to do it donUt you see
they was chasing all the women.
On the eighth day after Christmas,
I had milk up to my eyes
and if that wasnUt bad enough
I had cow shit up to my thighs.
On the ninth day after Christmas,
I took a hammer to those pipes
youUd have thought I killed the Pope
if you heard those pipers gripe.
On the tenth day after Christmas,
IUd learned every dance there is to know
so without a single guilty thought
I threw those dancing ladies out in the snow.
But there is one thing I will admit
about those 11 Lords a leaping
and 12 drummers drumming
IUm not crazy, those IUm keeping!
==
───
* How many weeks are there in a light year?
english.235gristic,
KILL A TREE FOR CHRIST - by Celtic Elvis
Kill a tree for Christ, it's such a festive sacrifice.
Wrench it from the ground in the name of the tradition.
Throw it in the trunk and tie it down with cords of BUNGEE.
You'll need the needles every year cause you're a Christmas junkie.
I said chop that puppy, throw it on a stand.
Smother it with tinsel, gotta understand.
I said saw that puppy for the Holy Man.
Come New Year's Day, just throw it in the can.
(What you say?) Throw it in the can.
The Aztecs killed their lambs, the Mayans killed their precious VIRGINS.
The Muslims don't like cameras, it's really just superstition.
So kill a tree for Christ. It's such a festive sacrifice.
We'll celebrate with sugarplums for all the stumps in Christendom.
==
I FOUND THE BRAINS OF SANTA CLAUS - by Jason and the StrapTones
I found the brains of Santa Claus underneath my bed.
They were in a pickle jar - I wonder if he's dead.
Oh, they smelled like dried up tuna, and looked more grey than red.
Oh, I found the brains of Santa Claus; I'll bet you that he's dead.
Yes he still may have a jelly belly and a big white bushy beard.
But without that grey stuff in his head, he would act kind of wierd.
I found the brains of Santa Claus, his wife may want them back.
I'd send them to her COD, the zip code's all I lack.
They really aren't much use to me 'cept serve them as a snack.
Oh, I found the brains of Santa Claus it's strange but it's a fact.
Yes he still may have a jelly belly and a big white bushy beard.
But without that grey stuff in his head, he would act kind of wierd.
I found the brains of Santa Claus underneath my bed.
They were in a pickle jar - I wonder if he's dead.
Oh, they smelled like dried up tuna, and looked more grey than red.
Oh, I found the brains of Santa Claus; I'll hope he isn't dead.
==
───
* I cna ytpe 300 wrods pre mniuet!!!
english.236gristic,
SEE THE TANK FARMS ALL ABOUT - BY the NJ Editorial Minstrel
Š(c) copyright 1991Ć
(Tune: Good King Wenceslas)
See the tank farms all about the coast line of New Jersey.
Watch them move that crude about in so great a hurry.
See big tankers sail about, in New Jersey waters.
Vessel traffic all about. Should we be more worried?
Hear the horn blast what a sound. What could be the matter?
See the tanker run aground. See it's hull just shatter.
Contents oozing all about! So much toxic matter.
Arthur Kill is closed tonight. Clean up crews now ga-ather.
Hope this mess will not ignight. Where's that navigator?
Seems he's run off for the night. Some say he just staggered.
Scape goats needed for this plight. Corporate image shattered.
But we'll just write this off our tax: cause it's a business matter.
==
───
* I could prove God statistically.
english.237gristic,
PITCHES REACH A FEVER PITCH
The pitches reach a fever pitch at Christmas.
I shuffle through my mail with trembling hands.
I read it all with shame, how do they get my name?
How can I ever answer each demand?
The pitches reach a fever pitch at Christmas.
Those paper fingers clutching at my feet.
They make their case so slickly, I should make a donation quickly
And I'll find that if I give I'll soon receive another letter,
Asking me for more.
Celebrities are writing me in person.
It Ts strange the letters sound so much the same.
This makes it extra tough, no check is big enough
When somebody like (?)Molton gives his name.
Now underlining really gets my back up.
It makes me think they feel I cannot read.
I try to take it with a smile, it's the fundraiser style.
It has nothing to do with the ones who are in need.
Beneath the moon of winter time,
The homeless cry, oh life's a crime.
We feel despair, we feel such pain
We can't afford to mount another direct mail campaign.
With governments and corporations cutting back on their donations,
You and I will have to pay ?????????? of guilt each day.
The pitches reach a fever pitch at Christmas,
So Santa Claus can bring you your receipt.
You'll try to save a lot, ??????????
Or engineer a government's defeat.
They know our hearts are softened up at Christmas.
So that's the time to mount the big attack.
As the fundraisers foretold,
We're glad our names ??????? to correspondents who always answer back.
Spoken:
Dear Nancy,
Thank you for your generous reply to our recent appeal.
It was courageous of you to send so much less than the minimum
suggested donation. So few have the nerve. With your ten big dollars
we were able to buy enough stamps to write to 27 more people.
Indeed one of those letters will be going to you, so you can see
you have made a good investment. Our organization needs a great
deal of support from compassionate people like yourself.
We would like you to consider simplifying your life by having
a monthly donation deducted directly from your paycheck.
Now about your will, you do have a will don't you?
After all you may trip over a whino and snap your spinal cord tomorrow
and we are sure you wouldn't want your estate confiscated by the government.
==
───
* I have a 9600bps modem and 1.5bps fingers
english.238gristic,
GRANDMA GOT RUN OVER BY A REINDEER - by Patsy & Elmo
Grandma got run over by a reindeer,
Walking home from our house Christmas Eve,
You can say there's no such thing as Santa,
But as for me and Grandpa, we believe.
She'd been drinking too much eggnog,
And we begged her not to go,
But she forgot her medication,
So she staggered out the door and through the snow.
When we found her Christmas morning,
At the scene of the attack,
There were hoof-prints on her forehead,
And incriminating Claus-marks on her back.
Grandma got run over by a reindeer,
Walking home from our house Christmas Eve,
You can say there's no such thing as Santa,
But as for me and Grandpa, we believe.
Now, we're all so proud of Grandpa,
He's been taking this so well,
See him in there watching football,
Drinking beer and playing cards with Cousin Mel.
It's not Christmas without Grandma,
All the family's dressed in black,
And we just can't help but wonder,
Should we open up her gifts or send them back?
Grandma got run over by a reindeer,
Walking home from our house Christmas Eve,
You can say there's no such thing as Santa,
But as for me and Grandpa, we believe.
Now the goose is on the table,
And the pudding made of fig,
And the blue and silver candles
That would just have matched the hair in Grandma's wig.
I warned all my friends and neighbors,
Better watch out for yourselves!
They should never give a license
To a man who drives a sleigh and plays with elves.
Grandma got run over by a reindeer,
Walking home from our house Christmas Eve,
You can say there's no such thing as Santa,
But as for me and Grandpa, we believe.
Sing it, Grandpa!
Grandma got run over by a reindeer,
Walking home from our house Christmas Eve,
You can say there's no such thing as Santa,
But as for me and Grandpa, we believe.
───
* I like women with big... HEARTS! YEAH! THAT's it!
english.239gristic,
GRANDMA GOT RUN OVER BY A JOHN DEERE
Grandma got ran over by a John Deere
walking down our driveway Christmas eve
Grandpa thought he knew what he was doing
but, Grandma picked a real bad time to leave.
We all tried to warn her, but the tractor was so loud
we got up to try and catch her
Ah, but much too late, she'd done been plowed.
Chorus
I've got to hand it to my Grandpa,
never once did he lament.
He just went and got a lawyer,
and a seven million dollar settlement.
Chorus
etc etc etc...
==
───
* I still miss my ex-wife - but my aim is improving!
english.240gristic,
NEW KIDS GOT RUN OVER BY A REINDEER
New Kids got run over by a reindeer
All the little kiddies are in shock
No more loud, annoying high falsettos
Now there's no more New Kids on the Block
They were singing their new hit song
"Cover Girls with the Right Stuff"
Now they're trophies for a reindeer
Mounted on his mantle, hangin tough
Many times I was mistaken
When I went to see their show
Danny, Donny, Joe, Jon, Jordan
Or was it Larry, Curly, Shemp,
and Moe oh oh oh oh [ a la "The Right Stuff ]
New Kids got run over by a reindeer
All the little kiddies are in shock
No more loud, annoying high falsettos
Now there's no more New Kids on the Block
Now, the New Kid fans are crying,
And they say this really sucks!
But don't blame it on the reindeer
Cause I'm the one who gave them fifty bucks
Life is great without the new kids
Now let's deal the final blow
Drop our pants and hang our hineys
And tell their fans its really
mistletoe oh oh oh oh [ again ]
New Kids got run over by a reindeer
No more little kids for me to mock
No more prepubescent high falsettos
Now there's no more New Kids on the Block
==
───
* "Give us more responsibility" - Bill Clinton
english.241gristic,
BIG JIM GOT RUN OVER [revised] - by the NJ Editorial Minstrel
[(c) copyright 1991]
(Tune: Grandma Got Run Over by a Reindeer)
Big Jim got run over by a Mac-Truck
Walking home from Trenton Christmas eve
People say there's no such thing as Santa
But me and my Bronco we believe.
He was working on this package
Taxing every thing in sight
though people wouldn't like his message
He just kept right on a' workin' through the night
When they found him in the morning
It was so hard to believe
But there were those gigantic treadmarks
and incriminating tax cuts on the street
( chorus )
So we think he's learned a lesson
there's apologies to say
you just shouldn't dump new taxes
on good ol' folks who make their living driving trucks
Now were so proud of the senate
Yes, all our legislators who...
Seem to now believe in voters,
and have time to try and un-do what they did.
( last chorus )
Big Jim got run over by a Mac-Truck
Walking home from Trenton Christmas eve
People say there's no such thing as Santa
But me and my Bronco we believe...
and those guys with Jimmys they believe..
Even folks in Yugos... they believe!
==
───
* "Have a nice day!" "No thanks, I have other plans."
english.242gristic,
GRANDMA GOT HUNGOVER BY A RAINIER - Anonymous
(Note: Rainier is a Seattle beer named after a mountain.)
Grandma got hungover drinkin' Rainier
She bought at 7-11 New Year's Eve.
You can say there's no such thing
as a drunken skipper
But as for me and Grandpa, we believe.
She'd been drinking too much cold rock
and we begged her not to chug.
She didn't save any for Grandpa.
She didn't even use a mug.
When we found her the next morning
at the scene of the "attack,"
she had (something) on her forehead,
and Spuds McKenzie standing on her back.
Grandma got hungover drinkin' Rainier
She bought at 7-11 New Year's Eve.
You can say there's no such thing
as a drunken skipper
But as for me and Grandpa, we believe.
We feel sorry for poor, poor Grandpa;
He's acting mighty small.
Cause he just can't watch his football,
Without the beer he loves oh so well.
It's not New Year's without ???
But the tv screen is hot.
And we just can't help but wonder
How she ever drank that whole twelve-pack.
Grandma got hungover drinkin' Rainier
She bought at 7-11 New Year's Eve.
You can say there's no such thing
as a drunken skipper
But as for me and Grandpa, we believe.
He took his keys up off the table
And he headed out the door.
Grandpa had to have a cold one
Instead of listening to Grandma snore.
I warned all my friends and neighbors,
"Watch your refrigirator shelves.
Even though you trust your Grandma,
she might decide to drink it all herself."
Grandma got hungover drinkin' Rainier
She bought at 7-11 New Year's Eve.
You can say there's no such thing
as a drunken skipper
But as for me and Grandpa, we believe.
Everyone!
Grandma got hungover drinkin' Rainier
She bought at 7-11 New Year's Eve.
You can say there's no such thing
as a drunken skipper
But as for me and Grandpa, we believe.
==
───
* "Illiterate? ... Write for FREE help."
english.243gristic,
WE THREE STRINGS
(Tune: We Three Kings)
We three strings with frayed knots are,
trying to get served in a bar.
We have travelled far and near,
looking for ice cold beer.
Oh, Oh, bar of wonder, bar of "Lite,"
won't you please serve us tonight.
We have travelled far and near,
looking for some ice cold beer.
==
───
* (A)bort, (R)etry, (I)gnore, (S)orry I Asked!
english.244gristic,
SILENT STRINGS
(Tune: Silent Night)
Fra-a-ayed knots, fra-a-ayed knots,
all we want, are some cold drinks.
Won't you please serve us tonight.
If you don't we won't likely fight.
But it would be so nice,
if you'd serve us drinks tonight.
==
───
* The Def. of Upgrade: Take old bugs out, put new
english.245gristic,
WHITE STRINGS
(Tune: White Christmas)
Strings dreaming of a cold drink,
just like the ones they used to get.
When the bars stayed open all night,
and strings got served just right...
==
───
* 1st law of Thermodynamics: Don't play with matches.
english.246gristic,
JINGLE STRINGS
(Tune: Jingle Bells)
We are strings, we are strings,
even though we're frayed.
We are trying, very hard,
to get served some drinks today.
We are strings, we are strings,
even though we're frayed.
Won't you please serve us today
and we'll be on our way. Hey!
==
───
* 2 + 2 = 5 for extremely large values of 2.
english.247gristic,
ALL I WANT FOR CHRISTMAS
IS MY TWO FRONT TEETH
All I want for Christmas is
my two front teeth (thweeth)
my two front teeth (thweeth)
my two front teeth. (thweeth)
Gee, if I could only have
my two front teeth (thweeth)
Then I could wish you
Merry Christmas.
It seems so long since I
could say:
"Sister Susie sitting on
the front steps."
Everytime I try to speak
all I do is whistle: ssssssss.
All I want for Christmas is
my two front teeth
My two front teeth (thweeth)
my two front teeth.
Gee, if I could only have
my two front teeth (thweeth)
Then I could wish you
Merry Christmas.
==
───
* :) :D :O :( :[ ;) 8) B) :> |I :P =) :S :B :] :\
english.248gristic,
Please send (bobk@gibdo.engr.washington.edu):
-Any other humorous Christmas lyrics.
-Attributions or corrections for the above songs.
Thanks and Merry Christmas,
Bob Seattle, Washington
MERRY X'MAS (or equivalent) AND A HAPPY NEW YEAR - in many languages!
Arabic-classic I'd Miilad said oua Sana saida
Armenian Shenoraavor Nor Dari yev Pari Gaghand
Azeri Tezze Iliniz Yahsi Olsun
Basque Zorionstsu Eguberri. Zoriontsu Urte Berri On
Breton Nedeleg laouen na bloavezh mat
Bulgarian Tchestito Rojdestvo Hristovo. Tchestita Nova Godina
Chinese
- Cantonese Gun Tso Sun Tan'Gung Haw Sun
- Mandarin Kong He Xin Xi
- Hong Kong Kung Ho Hsin Hsi. Ching Chi Shen Tan
- Pinyin Sheng Dan Kuai Le. Xin Nian Hao.
Cornish Nadelik looan na looan blethen noweth
Czech Prejeme Vam Vesele Vanoce a stastny Novy Rok
Danish Gl{delig Jul og Godt Nyt}r
Dutch Zalig Kerstfeest en een gelukkig Nieuwjaar
Prettige Kerstdagen en een Voorspoedig Nieuwjaar
English Merry Christmas and a Happy New Year
Season's Greetings
Estonian Roomsaid Joulu Phui ja Uut Aastat
Finnish Hyv?? Joulua ja Onnellista Uutta Vuotta
Toivotamme Hyv?? Joulua ja Onnellista Uutta Vuotta
French Joyeux Nohl et Bonne AnnJe
German Frohliche Weihnachten und ein Glpckliches Neues Jahr
Greek Kala Khristougena kai Eftikhes to Neon Etos
Hawaiian Mele Kalikimake me ka Hauoli Makahiki ho
Hebrew Mo'adim Lesimkha. Chena tova
Hindi Shub Naya Baras
Hungarian Boldog Karacsonyl es Ujevl Unnepeket
Icelandic Gledlig jol og Nyar
Gledileg jl og farsXlt komandi =r
Indonesian Selamah Tahun Baru
Irish Nollaig shona dhuit agus athbhliain faoi mhaise
Italian Buone Natalie e felice Capo d'Anno
Buon Natale e Felice Anno Nuovo
Japanese Shinnen omedeto. Kurisumasu Omedeto
Korean Sung Tan Chuk Ha
Latvian Priecigus Ziemas Svetkus un Laimigu Jauno Gadu
Lithuanian Linksmu sventu Kaledu ir Laimingu Nauju Metu
Manx Nollick ghennal as blein vie noa
Marathi Shub Naya Varsh
Norwegian
- Ny Norsk Eg ynskjer hermed Dykk alle ein God Jul og eit Godt Nytt $r
- Riksm]l Gledlig jul og godt Nytt $r
Polish Wesolych Swiat Bozego Narodzenia i Szczesliwego Nowego Roku
Portuguese Feliz Natal e propero Ano Novo
Feliz Natal e Bom Ano Novo
Rapa-Nui Mata-Ki-Te-Rangi. Te-Pito-O-Te-Henua
Romanian Sarbatori Fericite. La Multi Ani
Russian Pozdrevlyayu s prazdnikom Rozhdestva is Novim Godom
Samoan La Maunia Le Kilisimasi Ma Le Tausaga Fou
Scottish Nollaig Chridheil agus Bliadhna Mhath Ur
Serb-Croatian Sretam Bozic. Vesela Nova Godina <--- ;)))))))))))))
Singhalese Subha nath thalak Vewa. Subha Aluth Awrudhak Vewa
Slovak Vesele Vianoce. A stastlivy Novy Rok
Slovene Vesele Bozicne. Screcno Novo Leto
Spanish Feliz Navidad y Prospero Ato Nuevo
Swedish Glad Jul och ett gott Nytt $r
Vi vill h?rmed nska en God Jul och ett Gott Nytt $r
Tagalog Maligayamg Pasko. Masaganang Bagong Taon
Tamil Nathar Puthu Varuda Valthukkal
Turkish Yeni Yilnizi Kutar, saadetler dilerim
Ukrainian Veselykh Svyat i scaslivoho Novoho Roku
Vietnamese Chuc mung nam moi
Welsh Nadolig Llawen a Blwyddyn Newydd Dda
Some problems may happen with special characters - sorry about this.
-> Please, all of you, send me whatever is missing and I'll include it in...
next year's edition ! Same thing if you spot any mistake.
[Note: I can't get in touch with the originator of this list, so I'll
maintain it until he wants it back. Send your "Merry Christmas and
Happy New Year" to bobk@gibdo.engr.washington.edu. Thanks and have
a Merry Christmas and Happy New Year yourself.]
==
───
* With a mind like yours, who needs a body.
english.249gristic,
/* C */
main()
{
int i;
for (i=0; i<15; i++)
printf("Merry Christmas\n");
}
───
* What color is a chameleon on a mirror?
english.250gristic,
/* COBOL */
IDENTIFICATION DIVISION.
PROGRAM-ID. XMASPRINT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. UNIVAC-1110.
OBJECT-COMPUTER. UNIVAC-1110.
DATA DIVISION.
PROCEDURE DIVISION.
0000-MAIN.
PERFORM 10-PRINT 15 TIMES.
STOP RUN.
10-PRINT. DISPLAY 'Merry Christmas' UPON PRINTER.
───
* (A)bort, (R)etry, (I)gnore, (K)ick system?
english.251gristic,
/* xBASE */
store 0 to number
do while number < 15
? "Merry Christmas"
store 1+number to number
enddo
release number
==========================================================================
SET TALK OFF
STORE 0 TO counter
DO WHILE counter < 15
@ counter, 0 SAY "Merry Christmas"
STORE counter + 1 TO counter
ENDDO
RETURN
───
* We're lost, but we're making good time.
english.252gristic,
/* 'csh' command version */
repeat 15 echo Merry Christmas
───
* WYTYSYDG - What you thought you saw, you didn't get.
english.253gristic,
/* DCL (VAX/VMS shell) */
$ i = 1
$ loop:
$ if i.gt.15 then goto done
$ write sys$output "Merry Christmas"
$ i = i + 1
$ goto loop
$ done:
$ exit
From: David Chase <rbbb@rice>
==========================================================================
/* DCL */
And (as I noticed that Un*x shell scripts were on your list, and in
the interest of equal time) here it is in DCL (Digital Command
Language, a CLI which runs on many DEC machines -- I cut my teeth on
VAX/VMS):
$ i = 1
$ loop:
$ write sys$output "Merry Christmas"
$ i = i + 1
$ if i .le. 15 then goto loop
$ exit
───
* Users, losers -- what's the difference?
english.254gristic,
/* ed */
(UNIX 'standard' line editor):
a
Merry Christmas
.
t.
t.
t.
t.
t.
t.
t.
t.
t.
t.
t.
t.
t.
t.
t.
1,$p
───
* Trust me -- I'm a Lawyer.
english.255gristic,
/* Forth */
(Forth)
15 0 DO ."Merry Christmas" CR LOOP
==========================================================================
: greetings cr 0 do ." Merry Christmas" cr loop ;
15 greetings
───
* Tolkien is hobbit-forming.
english.256gristic,
/* Fortran 77 */
program yule
parameter (nwish = 15)
c
do 1 i = 1,nwish
1 print*,'Merry Christmas'
c
end
───
* To YOU I'm an atheist; to God, I'm the Loyal Opposition.
english.257gristic,
/* IBM 370 assembly */
How about this one (IBM 370 assembler running VM/VPS - a local hack at Boston
University):
xmas csect
stm r14,r12,12(r13)
lr r12,r15
using xmas,r12
st r13,savearea+4
la r13,savearea
*
* Initialize counter
*
xmasloop ds 0h
la r2,15 Print it 15 times
qio rb=xmasrb Print "Merry Christmas"
bct r2,xmasloop
l r13,4(,r13) Restore registers
lm r14,r12,12(r13)
br r14 Return to OS
xmasrb qiorb ddname=sysprint,bufad=xmasmsg,lrecl=l'xmasmsg
xmasmsg dc c' Merry Christmas' Don't forget carriage control
end xmas
If that isn't obscure, I don't know what is.
───
* Three can keep a secret, if two are dead.
english.258gristic,
/* LISP */
(do ((i 0 (add1 i)))
((eq i 15))
(msg "Merry Christmas" N))
==========================================================================
/* Scheme or Maclisp or Franz Lisp */
;
(do ((i 0 (+ i 1)))
((= i 15))
(princ "Merry Christmas")
(terpri) ;new line
)
==========================================================================
/* MTS Lisp */
(repeat '( print '"Merry Christmas") 15) # MTS Lisp.
───
* This isn't right. This isn't even wrong.
english.259gristic,
/* LSRHS Logo */
(from the Usenix82 tape):
to greet :n
10 if :n >1 then greet (:n - 1)
20 print [Merry Christmas]
end
greet 15
==========================================================================
/* Logo */
repeat 15 [print "Merry\ Christmas]
───
* The sixth sheikh's sixth sheep's sick.
english.260gristic,
/* MLisp */
(Gosling's Emacs editor extension language):
(provide-prefix-argument 15 (insert-string "Merry Christmas\n"))
───
* The best way to accelerate a Mac is at 9.8 m/s2.
english.261gristic,
/* Modula-2 */
Module cheers;
FROM InOut IMPORT WriteLn, WriteString;
VAR
i :CARDINAL;
BEGIN
FOR i := 1 TO 15 DO
WriteString('Merry Christmas');
WriteLn;
END; (*FOR I*)
END cheers.
───
* That that is is not that that is not.
english.262gristic,
/* Mystery Language */
(Author did not include name and I don't recognize it)
MODULE Greetings;
FROM Terminal IMPORT WriteString, WriteLn;
VAR i: CARDINAL;
BEGIN
FOR i:=1 TO 15 DO
WriteString("Merry Christmas");
WriteLn;
END; (*for*)
END Greetings.
───
* Texas Toilet paper, it don't take shit off anyone.
english.263gristic,
/* nroff */
.nr i 15+1 1
.de MC
.if \\n-i \{ .tl ''Merry Christmas''
. MC \}
..
.MC
───
* Surprise your boss. Get to work on time.
english.264gristic,
/* OOPC */
(an object-oriented preprocessor for C):
main()
{
int i;
for (i=0; i<15; i++)
printf("Merry Christmas\n");
}
If it looks a lot like C, that's because it is. The object-oriented features
are only used when you're dealing with objects (you can use C wherever
you want).
───
* Supercalifragilisticexpialidocius
english.265gristic,
/* ??????????? */
program yuletidings (output);
const
numberofwishes = 15;
var
i : integer;
begin
for i := 1 to numberofwishes do
writeln('Merry Christmas');
end.
───
* Strike any user when ready.
english.266gristic,
/* PDP-11 assembler */
(under RT-11)
.TITLE MERRY XMAS
.IDENT /R M/
.NLIST BEX
.DSABL GBL
.ENABL LC
.MACLL .PRINT, .EXIT
MERRY::
MOV #15.,R4 ;set up the print count
.PRINT #MSG1 ;print the message
SOB R4,MERRY ;loop until finished
.EXIT ;return to RT-11
MSG1: .ASCIZ /Merry Christmas !!!/
.EVEN
.END MERRY
==========================================================================
/* PDP-11 assembler */
(under UNIX)
mov $15.,r4
1:
mov $1,r0
sys write; 2f; 3f-2f
bcs 1f
sob r4,1b
clr r0
1:
sys exit
.data
2: <Merry Christmas\n\0>
3:
───
* Space is an illusion, disk space doubly so.
english.267gristic,
/* PL/I version. ANS PL/I, subset G. */
merry: proc options(main);
dcl i fixed binary;
do i = 1 to 15;
put skip edit('Merry Christmas') (a);
end;
end merry;
==========================================================================
/* PL/1 */
START: PROC OPTIONS(MAIN);
DCL I FIXED BINARY(15); /* LONG FORM; SAME AS DCL I; */
DO I = 1 TO 15;
PUT EDIT ("Merry Christmas");
END;
END START;
julie
==========================================================================
/* PL/1 */
yule: proc options(main);
%numwish = '15';
do i = 1,numwish;
put skip list('Merry Christmas');
end;
end yule;
───
* Some people are afraid of heights. I'm afraid of widths.
english.268gristic,
/* Prolog */
hello(0) :- !.
hello(N) :- M is N - 1, print("Merry Christmas"), hello(M), !.
hello(15)!
(I'm just learning prolog, so my apologies if the style is wrong.)
───
* Smoking is a leading cause of statistics.
english.269gristic,
/* Prolog */
wmc:- countmc(15).
countmc(0).
countmc(Count):- write('Merry Christmas'), nl, Ncnt is Count-1,
countmc(Ncnt).
───
* Silvester Stallone: father of the RISC concept.
english.270gristic,
/* *roff */
Well, the most natural choice for Merry Christmas is of course:
V/N/T/DIT/roff.
This will print it on the standard output, It will give you an extra blank
line,
sorry about that.
.fp 1 MC
.pl 1
.nf
.nr l 0 +1
.de mm
.if \\n+l=15 .rm mm
Merry Christmas
.mm
..
.mm
The font MC is of course your local ``Merry Christmas font''; all the
characters
are built from christmas trees.
If you don't want the extra newline you can use the error output:
.de mm
.if \\nk=14 .ab Merry Christmas
.nr k +1
.tm Merry Christmas
.mm
..
.mm
Of course, you loose the nice look of the MC font.
There are of course about a dozen other ways to use troff for this.
───
* Shin - a device for finding furniture in the dark...
english.271gristic,
/* QC */
/*
* This program is written in the language QC (quick & clean), a
* descendant of QD (quick & dirty). Both languages were written by
* Chris Grey for 370/ systems runing MTS (a user-hmmm-friendly operating
* system).
*/
proc main():
int I;
extern printf;
for I from 1 upto 15 do
printf("Merry Christmas")
od
corp
───
* Shareware author dies: .GIF at eleven!
english.272gristic,
/* sed script */
echo 'Mery Chistma' |
sed '
s/\(..\)\(.\)\(....\)\(.\)\(.\)\(...\)/\1\2\2\3\2\4\5\6\5/
h;G;G
s/$/\
/
s/.*/&&&&&/
'
───
* SYSOP's read minds. But QWKly, very, very QWKly!
english.273gristic,
/* Smalltalk-80 */
output <- WriteStream on: (String new: 10).
1 to 15 do: [
output nextPutAll: 'Merry Christmas'.
output cr
].
output contents.
Select this from the screen and hit 'printIt', and out comes the message.
==========================================================================
merryChristmas: aStream
"Prints 'Merry Christmas' on aStream 15 times."
15 timesRepeat:
[aStream
nextPutAll: 'Merry Christmas';
cr
]
───
* STUPIDITY is NOT a HANDICAP! Park elsewhere!
english.274gristic,
/* Snobol-3 */
(Snobol-4?? What's that? We use Snobol-3 here.)
* S.D.S. TSS SNOBOL-3
N = 1
LOOP LOUT = 'MERRY CHRISTMAS'
N = .LT(N,15) N + 1 /S(LOOP)F(.EXIT)
==========================================================================
/* Snobol 4 */
* Snobol 4 version. Not very elegant!
*
i = 1
a: output = 'Merry Christmas'
i = i + 1
le(i,15) :s(a)
───
* Return((usBirdInHand = 2 * InTheBush()));
english.275gristic,
/* TeX */
(Knuth's text formatting language, assuming presence of Plain.TeX macros):
\def\mc#1{\ifnum #1>0 Merry Christmas\par
{\count0=#1\advance\count0 by-1\mc\count0}\fi}
\mc{15}
───
* Reputation: what others are not thinking about you.
english.276gristic,
/* TROFF */
.de MC
.nf
.if \\$1>0 \{\
Merry Christmas
.nr x \\$1
.nr x -1
.MC \\nx \}
..
.MC 15
───
* Remember that you are unique. Just like everyone else.
english.277gristic,
/* TMS34020 */
Here is the TMS34020 (graphics coprocessor) source code for the Merry
Christmas program.
; +---------------------------------------------------------------------+
; | Subroutine used to display a Merry Christmas message. |
; +---------------------------------------------------------------------+
.data
message:
.byte "Merry Christmas",0
.text
main: mmtm SP,A0,A1,A2,A3,A4 ; Save registers
setf 8,0,0 ; Field size 0 = 8 bits
movi message,A0 ; Message to be displayed
movk 15,A1 ; Number of lines to display
dsp_lp: move A0,A2 ; Copy start of message
movk 15,A4 ; Length of message
msg_lp: move *A2+,A3 ; Read byte
callr put_byte ; Write byte
dsjs A4,msg_lp ; Do the next character
dsjs A1,dsp_lp ; Do the next line
mmfm SP,A0,A1,A2,A3,A4 ; Restore registers
rets
───
* Redundancy: A Politician with an airbag in his car.
english.278gristic,
/* Turing */
------
for : 1 .. 15
put "Merry Christmas"
end for
------
───
* Real men write self-modifying code.
english.279gristic,
/* UNIX shell script */
echo "Merry Christmas" | sed -e 's/./Merry Christmas%/g' | tr % '\012'
==========================================================================
/* Unix shell script (Bourne) */
COUNT=0
while test $COUNT -lt 15
do
echo "Merry Christmas."
COUNT=`expr $COUNT + 1`
done
───
* Push any key. Then push the any other key.
english.280gristic,
/* VAX MACRO */
(VMS flavour...snicker)
;
text: .ascii "Merry Christmas" ; output text
.byte 13,10 ; carriage control
tlen = . - text ; text length
tty: .ascid "TT:" ; logical name of current terminal
chan: .blkw 1 ; storage for IO channel number
.entry xmas,^M<r10>
$ASSIGN_S devnam=tty,chan=chan ;get channel to terminal
movl #1,r10 ;initialize loop
loop: $QIOW_S chan=chan,func=#IO$_WRITELBLK,- ;dump the message
P1=text,P2=#tlen
aobleq #15,r10,loop ;15 times
ret
.end xmas
───
* Press any key to continue or any other key to quit.
english.281gristic,
/* 6502 assembly */
START LDX #$0F
LOOP1 LDY #$10
LOOP2 LDA MCDATA,Y
JSR $FDF0 (CHAROUT or something like that)
DEY
BPL LOOP2
DEX
BPL LOOP1
RTS
MCDATA ASC "
───
* Power corrupts, but we need electricity.
english.282gristic,
/* Ada version */
with text_io; use text_io;
program print_merry_christmas is
begin
for i in 1..15 loop
put("Merry Christmas"); new_line;
end loop;
end print_merry_Christmas;
I tested the program using the SuperSoft/Maranatha Ada compiler.
==========================================================================
/* This program is merely an ordinary loop. It was developed by */
/* Rob Pearce of JHU/APL. Oh yes; Rob is English. */
1 with text_io; use text_io;
2
3 procedure number_a is
4
5 i_max:constant integer:=15;
6 type i_type is range 1..i_max;
7
8 package i_type_io is new integer_io(num=>i_type);
9
10 begin -- number_a
11 for i in i_type loop
12 i_type_io.put(item=>i,
13 width=>2);
14 put(" " &
15 "God save the Queen");
16 new_line;
17 end loop;
18 end number_a;
==========================================================================
/* Ada */
-- This program counts to 15, but does so via three "concurrently
-- executing" tasks. The output has been modified to be a single
-- character instead of the full "Merry Christmas" message. The
-- first task prints, sequentially, 0..4. The second prints, in
-- turn, 5..9; and the third sequentially prints A..E.
--
-- If we had used the full "Merry Christmas" line, then the three
-- concurrent tasks would have (almost certainly) interleaved their
-- respective character strings, and one would have not been able to
-- read any of the messages!
--
-- The program was developed by Rob Pearce of JHU/APL, and was run
-- on a validated Ada system, the NY University, Ada/ED. The machine
-- was a VAX-11/750 under typical loading. (Note the times; they're
-- about the same on an empty machine, too!) The listing has been
-- edited to remove the "uninteresting" lines and the #$^& control
-- characters.
-- Mars Gralia
-- 11/11/8
NYU ANSI-Ada/ED 1.1(11-Apr-83) FRI 11 NOV 83 09:27:31 PAGE 1
1 with text_io; use text_io;
2
3 procedure number_f is
4
5 task A;
6 task B;
7 task C;
8
9
10 task body A is
11
12 begin -- A
13 for ch in character range '0'..'4' loop
14 put(ch);
15 end loop;
16 end A;
17
18
19 task body B is
20
21 begin -- B
22 for ch in character range '5'..'9' loop
23 put(ch);
24 end loop;
25 end B;
26
27
28 task body C is
29
30 begin -- C
31 for ch in character range 'A'..'E' loop
32 put(ch);
33 end loop;
34 end C;
35
36
37 begin -- number_f
38 null;
39 end number_f;
No translation errors detected
Translation time: 69 seconds
NYU ANSI-Ada/ED 1.1(11-Apr-83) FRI 11 NOV 83 10:34:05 PAGE 1
Binding time: 3.3 seconds
Begin Ada execution
5A06B127C38D94E
Execution complete
Execution time: 51 seconds
I-code statements executed: 97
───
* Pobody's Nerfect!
english.283gristic,
/* AWK */
awk 'BEGIN {for (i=1;i<=15;i++) print "Merry Xmas"}' /dev/null
==========================================================================
(note that it wants some standard input):
BEGIN { for (i = 0; i < 15; i++) {
printf "Merry Christmas\n"
}
}
───
* Pascal: What's it Wirth?
english.284gristic,
/* B */
(not the predecessor of "C", by the way).
HOW'TO MERRY'CHRISTMAS:
FOR i IN {1..15}:
WRITE 'Merry Christmas' /
The string quote in B is used like the underscore in "C".
HOW'TO introduces a procedure declaration.
Indentation is used for grouping statements.
The slash is used in WRITE-commands to indicate a newline.
Actually, this definition should be followed by a call:
MERRY'CHRISTMAS
You could also write the body of the procedure instead of the call,
and then would have no need for the definition ("B" has no clear
notion of what a program is; usually it's a group of procedures
and functions living together in a workspace).
───
* PI seconds is a nanocentury. - Tom Duff, Bell Labs
english.285gristic,
/* Applesoft BASIC */
10 FOR I = 1 TO 10 : PRINT "MERRY CHRISTMAS" : NEXT I
==========================================================================
/* Basic-Plus (DEC Basic on RSTS/E) */
10 ! Merry Christmas program &
! Written by David Kaufman for Usenet survey
20 For I = 1 to 15 \ &
Print "Merry Christmas" \ &
Next I
30 End ! Optional, but helps reloading command
Merry Christmas!
==========================================================================
/* BASIC */
1000 i=0
1010 if i=15 then goto 1050
1020 print 'Merry Christmas'
1030 i = i+1
1040 goto 1010
1050 end
───
* MSBackup: 1 of 1362 disks.
english.286gristic,
/* Concurrent-Euclid */
------------------
var xmas :
module
include '%IO'
initially
imports (var IO)
begin
var i : ShortInt := 0
loop
IO.PutString ('Merry Christmas$N$E')
i := i + 1
exit when i = 15
end loop
end
end module {xmas}
==========================================================================
var MerryChristmas :
module
include '%IO'
initially
imports (var IO)
begin
var i: SignedInt := 15
loop
IO.PutString('Merry Christmas$N$E')
i := i - 1
exit when i = 0
end loop
end
end module
───
* Oxymoron: Bosnian Cease-Fire
english.287gristic,
/* Fortran? */
If you want an obscure solution, try the following Fortran
on a VAX. It works on BSD4.1, BSD4.1c and System V.
integer table(12)
data table/248514560, -552542885, 4847, -83763968
1, 323331, 1542717440, 1260, 1292108988
2, 2037543525, 1919435552, 1836348265, 684897/
call out(table)
end
subroutine out(code)
external code
call code
return
end
───
* Open Mouth. Insert Foot. Chew Carefully.
english.288gristic,
/* make */
If you use the following as the description file for 'make', it
will satisfy your requirement. Make can be considered a language
interpreter, so what the heck.
---------------------- cut ------- here -----------------------------------
.SILENT:
foo_._bar_ : # some name unlikely to already exist
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
echo merry christmas
---From some unknown person on the other side of uucp
───
* On a scale of 1 to 10, 4 is about 7.
english.289gristic,
/* MIX */
*
* THIS PROGRAM WILL PRINT "MERRY CHRISTMAS" 15 TIMES
*
LP EQU 18 CARD PUNCH DEVICE
*
MSG ALF MERR DON'T FORGET THE BLANK SPACE FOR CCTL
ALF Y CHR
ALF ISTMA
ALF S
ORIG *+20
*
START EQU *
ENT1 0 INITIALIZE COUNTER
*
LOOP EQU *
OUT MSG(LP) WRITE IT OUT
JBUS *(LP) WAIT ON I/O
INC1 1 R1 := R1 + 1
CMP1 =15= IF (R1 = 15)
JE DONE THEN DONE
JMP LOOP ELSE DO IT AGAIN
*
DONE EQU *
HLT AND A HAPPY NEW YEAR
END START
───
* Objection, your Honour! My client is an idiot!
english.290gristic,
/* Prime assembly */
SEG
RLIT
SUBR PRINT
LINK
PRINT ECB START
DYNM COUNT
PROC
START LDA =15
STA COUNT
START1 LDA COUNT
BEQ DONE
S1A
STA COUNT
CALL TNOU
AP =C'Merry Christmas',S
AP =15,SL
JMP START1
DONE PRTN
END
───
* OPERATOR! Trace this call and tell me where I am.
english.291gristic,
/* REVE */
(Equational-programming/term-rewriting system):
(Has no I/O. This will look like
merry_christmas(merry_christmas(...))
Also, to avoid having to specify 15 as the fifteenth successor of zero,
we define addition and multiplication.)
(x + 0) == x
(x + s(y)) == (s(x) + y)
(x * 0) == 0
(x * s(y)) == (x + (x * y))
mc(s(0)) == merry_christmas
mc(s(s(x))) == merry_christmas(mc(s(x)))
mc( (s(s(s(0))) * s(s(s(s(s(0)))))) )
───
* Not tonight honey... I have a... modem.
english.292gristic,
/* SETL */
(Doesn't use any of the interesting features of the language):
definef main();
(1 <= forall i <= 15) print('Merry Christmas');
end main;.
───
* No free lunch in an ecosystem.
english.293gristic,
/* XEROX sigma-7 assembler */
(running under CP-V)
SYSTEM SIG7
SYSTEM BPM
REF M:LO
BUFR TEXT 'MERRY CHRISTMAS'
START LI,4 15
M:WRITE M:LO,(BUF,BUFR),(SIZE,15)
BDR,4 START+1
M:EXIT
END START
or, you can avoid loading the BPM macro's by doing your own FPT
SYSTEM SIG7
REF M:LO
BUFR TEXT 'MERRY CHRISTMAS'
FPT GEN,8,24 X'11',M:LO
GEN,4,28 3,X'10'
DATA BUFR
DATA 15
START LI,4 15
CAL1,1 FPT
BDR,4 START
CAL1,9 1
END START
───
* Never use a preposition to end a sentence with.
english.294gristic,
/* SPL/3000 */
$Control Uslinit
Begin
Byte Array
Msg (0:14) := "Merry Christmas";
Integer
I;
Intrinsic
Print, Terminate;
For I := 1 UNTIL 15 Do
Print (Msg, -15, 0); << 15 bytes, no CCTL >>
Terminate;
End.
───
* Never assume. It makes an "ass" out of "u" and "me".
english.295gristic,
/* TECO */
(Text Editor COrrector)
15<^AMerry Christmas
^A>$$
note: ^A is a Control A
$ is an escape character
And a Happy New Year
───
* My inferiority complexes aren't as good as yours.
english.296gristic,
/* TECO */
:IGMerry Christmas
$ !* Put string in Q-register G !
15<:GG>$$ !* 15 Times, print it out !
The dollar signs represent ESCapes.
───
* Multitasking causes schizophrenia.
english.297gristic,
/* TRAC */
Note: "TRAC" is a trademark of Rockford Research, Inc.
#(ds,Merry-Christmas,(#(eq,arg,0,,(#(PS,Merry Christmas(
))#(Merry-Christmas,#(su,arg,1))))))'
#(ss,Merry-Christmas,arg)'
#(Merry-Christmas,15)'
==========================================================================
#(ds,merry,(#(eq,count,0,,((Merry Christmas
)#(cl,merry,#(su,count,1))))))'
#(ss,merry,count)'
#(cl,merry,15)'
The TRAC language is a text- and macro-processing language reminiscent
of LISP. The first command defines a function, the second marks "count"
as a dummy argument, the third calls the function. The printing is done
by the command interpreter.
───
* Men play the game; women know the score.
english.298gristic,
/* UL */
Here's one you probably wouldn't expect to get. It is Model204 User Language
(UL is a query/programming language for the M204 database system that
runs on IBM mainframes).
BEGIN
%A IF FIXED DP 0
1. FOR %A FROM 1 TO 15
PRINT 'MERRY CHRISTMAS'
2. END
───
* Me know gammar. Me cood use it gud.
english.299gristic,
/* VALGOL */
I didn't look closely, but I didn't see a submission in VALGOL. Here is an
attempt, but I can't vouch for its correctness, since I don't know any valley
girls. After all, I live in Washington, not California, and we're a little
behind the times up here.
Like, gag me with a Merry Christmas!
No Way! Merry Christmas!
Like, so totally Merry Christmas!
Barf me out with a Merry Christmas!
So gross! Merry Christmas!
I realize this is only five times, not fifteen, but you can multiprocess in
VALGOL. Just get three valley girls and execute the above on each one.
───
* May the Porsche be with you.
english.300gristic,
/* Xerox Data Systems Metasymbol Assembler */
system sig9
system bpm
csect 1
message text 'Merry Christmas'
ref m:lo
start equ,0 $
li,7 15
loop equ,0 $
m:write m:lo,(buf,message),(size,15)
bdr,7 loop
m:exit
end start
───
* MASTURBATION...the human version of AUTOEXEC.BAT.
english.301gristic,
/* XPL version. (Defined in book "A Compiler Generator".) */
dcl i fixed;
do i = 1 to 15;
output = 'Merry Christmas';
end;
───
* Love is blind, marriage is the eye-opener.
english.302gristic,
Ratfor (from the book, with the DEC F4P Fortran):
do(i=1,15) type *, 'Merry Christmas'
end
───
* Life is uncertain...eat dessert first!
english.303gristic,
Ratforth (AKA Fifth, a language I hacked up to make Forth less ugly):
define christmas {
do(15,0) {
type(count("Merry Christmas"));
CR;
}
}
This produces, by the way:
: christmas 15 0 do " Merry Christmas" count type CR ;
───
* Know what I hate? I hate rhetorical questions!
english.304gristic,
AREXX:
/* Say Merry Christmas 15 times */
do i=1 to 15
say 'Merry Christmas'
end i
───
* Keep NZ beautiful. Swallow your beer cans.
english.305gristic,
/* OPS5 */
; A program to print Merry Christmas 15 times, in OPS5.
; OPS5 is a simple AI/expert systems language for writing
; production systems in.
(literalize counter value) ; Analogous to a record declaration.
; The program: A single production.
(p print-one-merry-christmas ; if
(counter ^value {<c> > 0}) ; counter.value > 0
--> ; then
(write (crlf) Merry Christmas) ; write("Merry christmas");
(modify 1 ^value (compute <c> - 1))) ; counter.value -:= 1;
(make counter ^value 15) ; Create a counter with value=15
(watch 0) ; No tracing.
(run) ; Go for it.
───
* Keep NZ Beautiful.... emigrate.
english.306gristic,
/* Newspeak */
(defproc merry-xmas () (values)
(do ((i 1 (1+ i)))
(print "Merry Christmas")
(exit-do-if (= i 15))))
───
* Kamikaze Pilot Wanted: Experienced only need apply.
english.307gristic,
/* MTS editor */
* And here is a weird one written in the MTS editor
*
* the @verify@-lnum says to print the new line without linenumber
* '*' refers the current line number.
*
insert "merry christmas" @verify@-lnum
copy * to * copies=14 @verify@-lnum
───
* Justice: A decision in your favor.
english.308gristic,
/* Mesa 5.0 */
-- Here it is in Mesa 5.0; good luck trying to find an Alto or a D-machine
-- on which to run it.
DIRECTORY
IODefs: FROM "iodefs" USING [WriteLine];
MerryChristmas: PROGRAM IMPORTS IODefs =
BEGIN
i: INTEGER; -- loop index
FOR i IN [0..15) DO -- print the message 15 times
WriteLine["Merry Christmas"]; -- this is the message, and the
-- procedure WriteLine[]
provides
-- the carriage return
ENDLOOP; -- go back and do it again
END. -- all done
───
* Just what part of "NO" didn't you understand...?
english.309gristic,
/* A Maryland Text Editor procedure */
---------------------------------
let a=0
next:test a<15
escape
dis 'Merry Christmas'
let a=a+1
jump next
───
* Junior! Quit playing with your floppy.
english.312gristic,
Posto je bilo molbi za jos, evo...
/* MACSYMA */
doit() := for i:1 thru 15 do print("Merry Christmas")$
───
* Do not disturb. Already disturbed!
english.313gristic,
/* m4 */
define(`merry',`ifelse(eval($1),eval(0),,Merry Christmas
`merry'(eval($1-1)))')dnl
merry(15)dnl
───
* Diagonally parked in a parallel universe.
english.314gristic,
/* LSE */
Here's a language you probably have never heard of... LSE (Langue
Symbolique d'Instruction, or Symbolic Language of Instruction). I
used it on some ancient machine in France (of French make) and it is
roughly parallel to BASIC translated to French. It sure isn't my
favorite, but it's interesting...
10 pour i = 1 jusqua 15 faire 20
20 afficher "Merry Christmas"
───
* DO {nothing} WHILE (HearFromMe==0)
english.315gristic,
/* The Kent Recursive Calculator */
there you are, here is the merry christmas program in my favourite
language, krc (The Kent Recursive Calculator),
a teaching and research applicative language used at the University of
Kent, Canterbury, UK.
the syntax is annexed and requests for the full formal description
of the language (syntax+semantics) will be considered.
the program is:
print 0 = []
print n = "Merry Christmas":nl:print (n-1)
and the command to run it (in the interpreter) is
print 15!
───
* DIVORCE =system("echo y| erase \wife\*.*" );
english.316gristic,
/* Imp80 */
%begin
%integer index
%for index = 1, 1, 15 %cycle
Print String("Merry Christmas")
New Line
%repeat
%end %of %program
───
* Cunnilingus is a real tongue twister!
english.317gristic,
/* Icon (Version 5) */
procedure main()
every write(|"Merry Christmas") \ 15
end
The more canonical solution is:
procedure main()
every 1 to 15 do
write("Merry Christmas")
end
but obviously isn't as devious.
───
* Condom - external storage
english.318gristic,
/* Icon */
# write "Merry Christmas" 15 times on standard output
procedure main()
every 1 to 15 do write("Merry Christmas")
end
"1 to 15" is a generator which produces the sequence 1..15;
"every X do Y" evaluates Y for each value of X;
write() writes a line of text.
───
* Coming Soon!! Mouse Support for Edlin!!
english.319gristic,
/* GPSS */
SIMULATE
GENERATE 1
TERMINATE 1
START 15,,1
REPORT
TEXT MERRY CHRISTMAS
END
───
* Coming soon: Windows NT for the Nintendo!
english.320gristic,
/* FP */
(Backus' Functional Programming Language):
(Using the syntax of Scott Baden's UNIX implementation)
; MC prints the string 'Merry Christmas' 15 times when applied
; to any argument and returns T.
{MC %T @ out @ &%"Merry Christmas\n" @ iota @ %15}
───
* Chernobyl used MS Windows.
english.321gristic,
/* FRED */
(a text editor)
u15 jm Merry Christmas
───
* Caution: Hungry Dieter! May bite if provoked.
english.322gristic,
/* EYE */
Since you said "the more obscure the better", here is the program written in
EYE, a language which was implemented by Kuck & Associates, Inc. of
Champaign, Illinois as an implementation language for writing a large piece
of software.
program yule_tidings is
constant number_of_times_to_print_merry_christmas : integer = 15;
begin( yule_tidings )
for i:integer = 1 to number_of_times_to_print_merry_christmas
loop( print_merry_christmas )
put( 'Merry Christmas' | );
endloop( print_merry_christmas );
end( yule_tidings );
───
* CD-WOM: Wead Onwy Memowy.
english.323gristic,
/* ed */
ed - /etc/passwd<<!
1,15g/./s/.*/Merry Christmas/p
q
!
───
* Bus error (Passengers dumped)
english.324gristic,
/* DDL */
Here is a Merry Christmas program written in DDL. Yes DDL, the Dungeon
Definition Language from UCLA. I have included a makefile
in case you have never seen this stuff before.
*********************** xmas.ddl *************************
VAR count;
(count) = 1;
Greetings = ( WHILE ( $lt @count 15 ) :
( $setg count ( $plus 1 @count ))
( $say "Merry Christmas\n")
)
($spec 3 0 0 0 0);
START = ($sdem Greetings);
*********************** makefile *************************
xmas:
/usr/src/games/ddl/ddlcomp tiny < tiny.ddl > ddlcomp.out
To run it type the following
`/usr/games/lib/ddlrun xmas'
───
* Answers: $1 * Correct answers: $5 * Dumb looks: Free! *
english.325gristic,
/* Cprolog */
/* Write Merry Christmas 15 times in 4.1bsd Cprolog
* To execute, get into prolog, then issue the commands:
* |?- ['xmas.p'].
* |?- xmas.
*/
xmas :- name(Text,"Merry Christmas") , writeline(Text,15).
writeline(_,0).
writeline(Text,N) :- write(Text) , nl , M is N - 1 , writeline(Text,M).
───
* And don't start a sentence with a conjunction.
english.326gristic,
/* CLU */
(Liskov, August 1977 CACM)
start_up = proc ()
for i: int in int$from_to(1, 15) do
stream$putl(stream$primary_output(), "Merry Christmas")
end
end start_up
───
* All life's answers are on TV. - Bart Simpson
english.327gristic,
/* CLU */
start_up = proc ()
po: stream := stream$primary_output ()
for i: int in int$from_to (1, 15) do
stream$putl (po, "Merry Christmas")
end
end start_up
───
* A man, a plan, a canal. Suez!
english.328gristic,
/* CLI */
To print Merry Christmas 15 times under Data General's CLI's (command line
interpreters):
RDOS, RTOS, DOS: MESSAGE Merry Christmas(,,,,,,,,,,,,,,,)
AOS, AOS/VS: write Merry Christmas(,,,,,,,,,,,,,,,)
(for your information, the parenthesis indicate that the command will be
executed multiple times, with possible subsitutions, so "write a(b,c) d"
would
write two lines: "abd" and "acd". Since nothing is substituted, the same
command is executed 15 times. BTW, write can be abreviated to "wr", "wri",
...)
───
* A Smith & Wesson *ALWAYS* beats 4 Aces.
english.329gristic,
/* CGOL */
( an extensible language that translates into MACLISP)
for i in 1 to 15 do print "Merry Christmas"<ESC>
The value of this expression is nil, if you really want a list of them,
for i in 1 to 15 collect "Merry Christmas"<ESC>
───
* 3 out of 4 Americans make up 75% of the population.
english.330gristic,
/* CDC 6000-type assembly */
IDENT MERRY
ENTRY MERRY
SYSCOM B1
OUTPUT FILEB OBUF,101B,FET=8
OBUF BSS 101B
COUNT DATA 14
MERRY SB1 1
MERRY1 WRITEC OUTPUT,(=C*MERRY CHRISTMAS*)
SA1 COUNT
SX6 X1-1
SA6 COUNT
NZ X1,MERRY1
WRITER OUTPUT,R
ENDRUN
END MERRY
───
* After dinner, he said, "Your modem or mine?"
english.331gristic,
/* Bliss-11 */
module Christmas =
begin \Main\
external MsgScan;
local i;
incr i from 1 to 15 do
MsgScan( uplit asciz "Merry Christmas%C" );
end \Main\
eludom
───
* AIDS is just a virus; Clinton is a punishment from God.
english.332gristic,
/* BCPL */
GET "libhdr"
LET start() BE
FOR index = 1 TO 15 DO writes("Merry Christmas*n")
───
* A man's best friend is his BBS.
english.333gristic,
/* BCPL */
// Cambridge IBM implementation
get "libhdr"
let start(parm) be $(
selectoutput(findoutput("sysprint"))
for i := 1 to 15 do writef("Merry Christmas*N")
$)
───
* A husband is a lover who pushed his luck too far.