home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / rec / humor / 37050 < prev    next >
Encoding:
Text File  |  1992-12-24  |  54.6 KB  |  2,144 lines

  1. Newsgroups: rec.humor
  2. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!gatech!destroyer!cs.ubc.ca!uw-beaver!news.u.washington.edu!gibdo!bobk
  3. From: bobk@gibdo.engr.washington.edu (Bob)
  4. Subject: Bob's Christmas Collection: Part 3 
  5. Message-ID: <1992Dec24.093044.21660@gibdo.engr.washington.edu>
  6. Sender: news@u.washington.edu (USENET News System)
  7. Organization: University of Washington
  8. Date: Thu, 24 Dec 1992 09:33:14 GMT
  9. Lines: 2133
  10.  
  11.   MERRY X'MAS (or equivalent) AND A HAPPY NEW YEAR  - in many languages!
  12.   
  13.   Arabic-classic  I'd Miilad said oua Sana saida
  14.   Armenian        Shenoraavor Nor Dari yev Pari Gaghand
  15.   Azeri           Tezze Iliniz Yahsi Olsun
  16.   Basque          Zorionstsu Eguberri. Zoriontsu Urte Berri On
  17.   Breton          Nedeleg laouen na bloavezh mat
  18.   Bulgarian       Tchestito Rojdestvo Hristovo. Tchestita Nova Godina
  19.   Chinese
  20.     - Cantonese   Gun Tso Sun Tan'Gung Haw Sun
  21.     - Mandarin    Kong He Xin Xi
  22.     - Hong Kong   Kung Ho Hsin Hsi.  Ching Chi Shen Tan
  23.     - Pinyin      Sheng Dan Kuai Le.  Xin Nian  Hao.
  24.   Cornish         Nadelik looan na looan blethen noweth
  25.   Czech           Prejeme Vam Vesele Vanoce a stastny Novy Rok
  26.   Danish          Gl{delig Jul og Godt Nyt}r
  27.   Dutch           Zalig Kerstfeest en een gelukkig Nieuwjaar
  28.                   Prettige Kerstdagen en een Voorspoedig Nieuwjaar
  29.   English         Merry Christmas and a Happy New Year
  30.                   Season's Greetings
  31.   Estonian        Roomsaid Joulu Phui ja Uut Aastat
  32.   Finnish         Hyv?? Joulua ja Onnellista Uutta Vuotta
  33.                   Toivotamme Hyv?? Joulua ja Onnellista Uutta Vuotta
  34.   French          Joyeux Nohl et Bonne AnnJe
  35.   German          Frohliche Weihnachten und ein Glpckliches Neues Jahr
  36.   Greek           Kala Khristougena kai Eftikhes to Neon Etos
  37.   Hawaiian        Mele Kalikimake me ka Hauoli Makahiki ho
  38.   Hebrew          Mo'adim Lesimkha. Chena tova
  39.   Hindi           Shub Naya Baras
  40.   Hungarian       Boldog Karacsonyl es Ujevl Unnepeket
  41.   Icelandic       Gledlig jol og Nyar
  42.                   Gledileg jl og farsXlt komandi =r
  43.   Indonesian      Selamah Tahun Baru
  44.   Irish           Nollaig shona dhuit agus athbhliain faoi mhaise
  45.   Italian         Buone Natalie e felice Capo d'Anno
  46.                   Buon Natale e Felice Anno Nuovo
  47.   Japanese        Shinnen omedeto.  Kurisumasu Omedeto
  48.   Korean          Sung Tan Chuk Ha
  49.   Latvian         Priecigus Ziemas Svetkus un Laimigu Jauno Gadu
  50.   Lithuanian      Linksmu sventu Kaledu ir Laimingu Nauju Metu
  51.   Manx            Nollick ghennal as blein vie noa
  52.   Marathi         Shub Naya Varsh
  53.   Norwegian
  54.     - Ny Norsk    Eg ynskjer hermed Dykk alle ein God Jul og eit Godt Nytt $r
  55.     - Riksm]l     Gledlig jul og godt Nytt $r
  56.   Polish          Wesolych Swiat Bozego Narodzenia i Szczesliwego Nowego Roku
  57.   Portuguese      Feliz Natal e propero Ano Novo
  58.                   Feliz Natal e Bom Ano Novo
  59.   Rapa-Nui        Mata-Ki-Te-Rangi.  Te-Pito-O-Te-Henua
  60.   Romanian        Sarbatori Fericite.  La Multi Ani
  61.   Russian         Pozdrevlyayu s prazdnikom Rozhdestva is Novim Godom
  62.   Samoan          La Maunia Le Kilisimasi Ma Le Tausaga Fou
  63.   Scottish        Nollaig Chridheil agus Bliadhna Mhath Ur
  64.   Serb-Croatian   Sretam Bozic.  Vesela Nova Godina
  65.   Singhalese      Subha nath thalak Vewa.  Subha Aluth Awrudhak Vewa
  66.   Slovak          Vesele Vianoce.  A stastlivy Novy Rok
  67.   Slovene         Vesele Bozicne.  Screcno Novo Leto
  68.   Spanish         Feliz Navidad y Prospero Ato Nuevo
  69.   Swedish         Glad Jul och ett gott Nytt $r
  70.                   Vi vill h?rmed nska en God Jul och ett Gott Nytt $r
  71.   Tagalog         Maligayamg Pasko. Masaganang Bagong Taon
  72.   Tamil           Nathar Puthu Varuda Valthukkal
  73.   Turkish         Yeni Yilnizi Kutar, saadetler dilerim
  74.   Ukrainian       Veselykh Svyat i scaslivoho Novoho Roku
  75.   Vietnamese      Chuc mung nam moi
  76.   Welsh           Nadolig Llawen a Blwyddyn Newydd Dda
  77.   
  78.   Some problems may happen with special characters - sorry about this.
  79.   
  80.   -> Please, all of you, send me whatever is missing and I'll include it in...
  81.   next year's edition !  Same thing if you spot any mistake. 
  82.  
  83.   [Note: I can't get in touch with the originator of this list, so I'll
  84.   maintain it until he wants it back.  Send your "Merry Christmas and
  85.   Happy New Year" to bobk@gibdo.engr.washington.edu.  Thanks and have
  86.   a Merry Christmas and Happy New Year yourself.]
  87.   ==
  88.   
  89.   From: ded@aplvax.UUCP
  90.   Subject: Merry Christmas Programs
  91.   
  92.   Well, here it is: the long awaited list of "Merry Christmas" programs.  
  93.   If you are a crawled-out-from-under-a-rock sort of person and don't 
  94.   know what's going on here, then you should read the following sentence:
  95.   I don't know what's going on here either.  For some reason, I wanted
  96.   to collect a group of programs which print the phrase "Merry Christmas"
  97.   15 times.  If you can figure out why I wanted to do this, please let 
  98.   me know.
  99.   
  100.   Thanks alot to all the nice folks who inundated me with mail.  Some of 
  101.   the submissions made extremely clever use of editors and utility languages
  102.   (I'm particularly fond of the UNIX shell script by Ben Hyde).  A few errors
  103.   probably crept in due to transmission errors and my editing, and for that
  104.   I apologize (because you're probably gonna be swamped by a horde of
  105.   prepubescent fault finders).
  106.                           --Don Davis
  107.   ==========================================================================
  108.   
  109.   /* 6502 assembly */
  110.   
  111.   START    LDX #$0F
  112.   LOOP1    LDY #$10
  113.   LOOP2    LDA MCDATA,Y
  114.       JSR $FDF0    (CHAROUT or something like that)
  115.       DEY
  116.       BPL LOOP2
  117.       DEX
  118.       BPL LOOP1
  119.       RTS
  120.   
  121.   MCDATA    ASC "
  122.   
  123.               ~ Kenn Frankel
  124.   
  125.               ...!sdcsvax!sdccs6!ix192
  126.   
  127.   ==========================================================================
  128.   
  129.   /* Ada version */
  130.   
  131.       with text_io; use text_io;
  132.       program print_merry_christmas is
  133.   
  134.       begin
  135.           for i in 1..15 loop
  136.               put("Merry Christmas"); new_line;
  137.           end loop;
  138.       end print_merry_Christmas;
  139.   
  140.   I tested the program using the SuperSoft/Maranatha Ada compiler.
  141.      -- Dave Norris
  142.   
  143.   ==========================================================================
  144.   
  145.   /*  Ada  */
  146.   
  147.   /*  This program is merely an ordinary loop.  It was developed by    */
  148.   /*  Rob Pearce of JHU/APL. Oh yes; Rob is English.                    */
  149.   
  150.       1   with text_io; use text_io;
  151.       2
  152.       3   procedure number_a is
  153.       4
  154.       5     i_max:constant integer:=15;
  155.       6     type i_type is range 1..i_max;
  156.       7
  157.       8     package i_type_io is new integer_io(num=>i_type);
  158.       9
  159.      10   begin  -- number_a
  160.      11     for i in i_type loop
  161.      12       i_type_io.put(item=>i,
  162.      13                     width=>2);
  163.      14       put("  " &
  164.      15           "God save the Queen");
  165.      16       new_line;
  166.      17     end loop;
  167.      18   end number_a;
  168.   
  169.   ==========================================================================
  170.   
  171.   /* Ada */
  172.   
  173.   -- This program counts to 15, but does so  via  three  "concurrently
  174.   -- executing"  tasks.   The  output has been modified to be a single
  175.   -- character instead of the full  "Merry  Christmas"  message.   The
  176.   -- first  task  prints,  sequentially,  0..4.  The second prints, in
  177.   -- turn, 5..9; and the third sequentially prints A..E.
  178.   -- 
  179.   -- If we had used the full "Merry Christmas" line,  then  the  three
  180.   -- concurrent  tasks would have (almost certainly) interleaved their
  181.   -- respective character strings, and one would have not been able to
  182.   -- read any of the messages!
  183.   -- 
  184.   -- The program was developed by Rob Pearce of JHU/APL, and  was  run
  185.   -- on a validated Ada system, the NY University, Ada/ED. The machine
  186.   -- was a VAX-11/750 under typical loading. (Note the times;  they're
  187.   -- about  the  same  on an empty machine, too!) The listing has been
  188.   -- edited to remove the "uninteresting" lines and the  #$^&  control
  189.   -- characters.
  190.   --                    Mars Gralia
  191.   --                    11/11/8
  192.   
  193.   NYU ANSI-Ada/ED 1.1(11-Apr-83)        FRI  11 NOV 83  09:27:31   PAGE     1
  194.   
  195.       1   with text_io; use text_io;
  196.       2
  197.       3   procedure number_f is
  198.       4
  199.       5     task A;
  200.       6     task B;
  201.       7     task C;
  202.       8
  203.       9
  204.      10     task body A is
  205.      11
  206.      12     begin  -- A
  207.      13       for ch in character range '0'..'4' loop
  208.      14         put(ch);
  209.      15       end loop;
  210.      16     end A;
  211.      17
  212.      18
  213.      19     task body B is
  214.      20
  215.      21     begin  -- B
  216.      22       for ch in character range '5'..'9' loop
  217.      23         put(ch);
  218.      24       end loop;
  219.      25     end B;
  220.      26
  221.      27
  222.      28     task body C is
  223.      29
  224.      30     begin  -- C
  225.      31       for ch in character range 'A'..'E' loop
  226.      32         put(ch);
  227.      33       end loop;
  228.      34     end C;
  229.      35
  230.      36
  231.      37   begin  -- number_f
  232.      38     null;
  233.      39   end number_f;
  234.   
  235.     No translation errors detected
  236.     Translation time: 69 seconds
  237.   
  238.   
  239.   NYU ANSI-Ada/ED 1.1(11-Apr-83)        FRI  11 NOV 83  10:34:05   PAGE     1
  240.   
  241.     Binding time: 3.3 seconds
  242.   
  243.     Begin Ada execution
  244.   
  245.   5A06B127C38D94E
  246.   
  247.     Execution complete
  248.     Execution time: 51 seconds
  249.     I-code statements executed: 97
  250.   
  251.   ==========================================================================
  252.   
  253.   /* Algol-60 */
  254.   
  255.   begin comment Algol-60 version.  "Print" is system defined;
  256.   integer i;
  257.   
  258.   for i := 1 step 1 until 15 do Print("Merry Christmas")
  259.   
  260.   end
  261.   
  262.                     --  chip elliott     ...decvax!dartvax!chip
  263.   
  264.   ==========================================================================
  265.   
  266.   /* Algol-68 */
  267.   
  268.       BEGIN
  269.       TO 15
  270.           DO
  271.           print(("Merry Christmas",newline))
  272.           OD
  273.       END
  274.   
  275.         -- Andrew Klossner   (decvax!tektronix!tekecs!andrew)  [UUCP]
  276.                      (andrew.tektronix@rand-relay)     [ARPA]
  277.   
  278.   
  279.   ==========================================================================
  280.   
  281.   /* APL */
  282.   __
  283.   \/ PROG ; S
  284.        ___                    __
  285.   [1]  ! ! <- (15, pS) p S <- 'Merry Christmas'   \/
  286.        ---
  287.   
  288.   Here's an APL version.  Since APL uses more than the ASCII character set,
  289.   I had to fake it some.  The triangle is the greek character 'del' (an
  290.   upside-down delta), the first symbol on line [1] is a 'quad', a
  291.   rectangular block, the '<-' is a left arrow, and the lower-case 'p'
  292.   is the greek character 'rho'.  Have fun.
  293.   
  294.                       ^-^ Bruce ^-^
  295.   
  296.   ==========================================================================
  297.   
  298.   /* APL */
  299.   
  300.       15 15 rho 'Merry Christmas'
  301.   
  302.   (rho is the greek letter of that name, the reshape operator in APL)
  303.   
  304.   That may not count, since it's more like an expression than a
  305.   program, but it will do what you asked for.  I guess you could make
  306.   it a program if you wanted, as follows:
  307.   
  308.       del merry
  309.       [1] 15 15 rho 'Merry Christmas'
  310.       del
  311.   
  312.   (del is a little upside-down triangle)
  313.   
  314.                       Joe Ziegler
  315.                       ...ihnp4!pegasus!lzmi!ziegler
  316.   
  317.   ==========================================================================
  318.   
  319.   /* APL */
  320.   
  321.       Here is an APL Merry Christmas. Since APL uses a different chracter set,
  322.   I will use the following identifiers for non-ascii chracters:
  323.       RHO - greek letter rho
  324.       BOX - the rectangle or window character
  325.       ASGN - the back-arrow assignment character
  326.       TRI - upside-down triangle
  327.   
  328.   TRI merry ; mesg
  329.   BOX ASGN (15,RHO mesg)RHO mesg ASGN "Merry Christmas"
  330.   TRI
  331.   
  332.               ---From some unknown person on the other side of uucp 
  333.   
  334.   ==========================================================================
  335.   /* AWK */
  336.       awk 'BEGIN {for (i=1;i<=15;i++) print "Merry Xmas"}' /dev/null
  337.   
  338.               From: seismo!mcvax!steven (Steven Pemberton)
  339.   ==========================================================================
  340.   
  341.   /* AWK */
  342.   (note that it wants some standard input):
  343.       
  344.   BEGIN { for (i = 0; i < 15; i++) {
  345.       printf "Merry Christmas\n"
  346.       }   
  347.   }   
  348.       
  349.               From: David Chase <rbbb@rice>
  350.                   
  351.   ==========================================================================
  352.   
  353.   /* B */
  354.   (not the predecessor of "C", by the way).
  355.   
  356.       HOW'TO MERRY'CHRISTMAS:
  357.       FOR i IN {1..15}:
  358.           WRITE 'Merry Christmas' /
  359.   
  360.   The string quote in B is used like the underscore in "C".
  361.   HOW'TO introduces a procedure declaration.
  362.   Indentation is used for grouping statements.
  363.   The slash is used in WRITE-commands to indicate a newline.
  364.   Actually, this definition should be followed by a call:
  365.   
  366.       MERRY'CHRISTMAS
  367.   
  368.   You could also write the body of the procedure instead of the call,
  369.   and then would have no need for the definition ("B" has no clear
  370.   notion of what a program is; usually it's a group of procedures
  371.   and functions living together in a workspace).
  372.   
  373.   --
  374.   Guido van Rossum, "B Group",
  375.   Centre for Mathematics and Computer Science, (CWI, formerly MC), Amsterdam
  376.   {philabs,decvax}!mcvax!guido
  377.   
  378.   ==========================================================================
  379.   
  380.   /* Applesoft BASIC */
  381.   
  382.   10 FOR I = 1 TO 10 : PRINT "MERRY CHRISTMAS" : NEXT I
  383.   
  384.               ---From some unknown person on the other side of uucp 
  385.   
  386.   ==========================================================================
  387.       
  388.   /* Basic-Plus (DEC Basic on RSTS/E) */
  389.       
  390.           10    ! Merry Christmas program &
  391.               ! Written by David Kaufman for Usenet survey
  392.       
  393.           20 For I = 1 to 15 \ &
  394.               Print "Merry Christmas" \ &
  395.               Next I
  396.       
  397.           30 End     ! Optional, but helps reloading command
  398.       
  399.           Merry Christmas!
  400.               David Kaufman
  401.               ...decvax!yale-comix!kaufman
  402.   
  403.   ==========================================================================
  404.   
  405.   /* BASIC */
  406.   
  407.   1000 i=0
  408.   1010 if i=15 then goto 1050
  409.   1020 print 'Merry Christmas'
  410.   1030 i = i+1
  411.   1040 goto 1010
  412.   1050 end
  413.   
  414.                           That's All
  415.                           Dave Wargo
  416.                           UCSD
  417.   
  418.   ==========================================================================
  419.   
  420.   /* bc */
  421.   
  422.   bc<<!
  423.   for(i=19^83;i<=19^83+14;i++) "Merry Christmas
  424.   "
  425.   !
  426.                       --unknown hacker
  427.   
  428.   ==========================================================================
  429.   
  430.   /* BCPL */
  431.   
  432.           // Cambridge IBM implementation
  433.           get "libhdr"
  434.           let start(parm) be $(
  435.               selectoutput(findoutput("sysprint"))
  436.               for i := 1 to 15 do writef("Merry Christmas*N")
  437.           $)  
  438.   
  439.                       These languages courtesy of:
  440.                           Pavel Curtis, Cornell
  441.                           Mike Caplinger, Rice
  442.   
  443.   ==========================================================================
  444.   
  445.   /* BCPL */
  446.   
  447.   GET "libhdr"
  448.   
  449.   LET start() BE
  450.       FOR index = 1 TO 15 DO writes("Merry Christmas*n")
  451.   
  452.   
  453.               From: jd@ukc.UUCP
  454.               Organization: Computing Lab. Kent University, England
  455.   
  456.   ==========================================================================
  457.   
  458.   /* Bliss-11 */
  459.   
  460.   module Christmas =
  461.   begin \Main\
  462.   
  463.   external MsgScan;
  464.   local i;
  465.   
  466.   incr i from 1 to 15 do
  467.     MsgScan( uplit asciz "Merry Christmas%C" );
  468.   
  469.   end \Main\
  470.   eludom
  471.   
  472.                   From: leiby
  473.   
  474.   ==========================================================================
  475.   
  476.   /* C */
  477.   
  478.   main()
  479.   {
  480.       int i;
  481.   
  482.       for (i=0; i<15; i++)
  483.           printf("Merry Christmas\n");
  484.   }
  485.                           by Don Davis
  486.   
  487.   ==========================================================================
  488.   
  489.   /* CDC 6000-type assembly */
  490.   
  491.           IDENT   MERRY
  492.           ENTRY   MERRY
  493.           SYSCOM  B1
  494.   
  495.   OUTPUT  FILEB   OBUF,101B,FET=8
  496.   OBUF    BSS     101B
  497.   
  498.   COUNT   DATA    14
  499.   
  500.   
  501.   MERRY   SB1     1
  502.   
  503.   MERRY1  WRITEC  OUTPUT,(=C*MERRY CHRISTMAS*)
  504.   
  505.           SA1     COUNT
  506.           SX6     X1-1
  507.           SA6     COUNT
  508.           NZ      X1,MERRY1
  509.   
  510.           WRITER  OUTPUT,R
  511.           ENDRUN
  512.           END     MERRY
  513.   
  514.   Jeff Lee
  515.   CSNet:    Jeff @ GATech        ARPA:    Jeff.GATech @ CSNet-Relay
  516.   uucp:    ...!{sb1,allegra,ut-ngp}!gatech!jeff ...!duke!mcnc!msdc!gatech!jeff
  517.   
  518.   ==========================================================================
  519.   
  520.   /* CGOL */
  521.   ( an extensible language that translates into MACLISP)
  522.   
  523.       for i in 1 to 15 do print "Merry Christmas"<ESC>
  524.   
  525.   The value of this expression is nil, if you really want a list of them,
  526.   
  527.       for i in 1 to 15 collect "Merry Christmas"<ESC>
  528.   
  529.                   Garret Swart
  530.   
  531.   ==========================================================================
  532.   
  533.   /* CLI */
  534.   To print Merry Christmas 15 times under Data General's CLI's (command line
  535.   interpreters):
  536.   
  537.       RDOS, RTOS, DOS:    MESSAGE Merry Christmas(,,,,,,,,,,,,,,,)
  538.       AOS, AOS/VS:        write Merry Christmas(,,,,,,,,,,,,,,,)
  539.   
  540.   (for your information, the parenthesis indicate that the command will be
  541.   executed multiple times, with possible subsitutions, so "write a(b,c) d" would
  542.   write two lines:  "abd" and "acd".  Since nothing is substituted, the same
  543.   command is executed 15 times.  BTW, write can be abreviated to "wr", "wri", ...)
  544.   
  545.                   Michael Meissner
  546.                   Data General Corporation
  547.                   ...{allegra, decvax!ittvax, rocky2}!datagen!mrm
  548.   
  549.   ==========================================================================
  550.   
  551.   /* CLU */
  552.   
  553.   start_up = proc ()
  554.       po: stream := stream$primary_output ()
  555.       for i: int in int$from_to (1, 15) do
  556.           stream$putl (po, "Merry Christmas")
  557.       end
  558.       end start_up
  559.   
  560.                   Happy Hacking!
  561.   
  562.                   Russell Finn
  563.                   {decvax, eagle, mit-eddie}!mit-vax!russ
  564.                   RUSS%MIT-VAX@MIT-ML
  565.   
  566.   ==========================================================================
  567.   
  568.   /* CLU */
  569.   (Liskov, August 1977 CACM)
  570.   
  571.   start_up = proc ()
  572.      for i: int in int$from_to(1, 15) do
  573.         stream$putl(stream$primary_output(), "Merry Christmas")
  574.      end
  575.   end start_up
  576.   
  577.               Original-From:     J. Dean Brock <brock@unc>
  578.   
  579.   ==========================================================================
  580.   
  581.   /* COBOL */
  582.   
  583.          IDENTIFICATION DIVISION. 
  584.          PROGRAM-ID. XMASPRINT.
  585.          ENVIRONMENT DIVISION.
  586.          CONFIGURATION SECTION.
  587.          SOURCE-COMPUTER. UNIVAC-1110.
  588.          OBJECT-COMPUTER. UNIVAC-1110.
  589.          DATA DIVISION.
  590.          PROCEDURE DIVISION.  
  591.          0000-MAIN.
  592.              PERFORM 10-PRINT 15 TIMES.
  593.              STOP RUN.
  594.          10-PRINT.  DISPLAY 'Merry Christmas' UPON PRINTER.
  595.   
  596.           From: seismo!decvax!sdcsvax!ittvax!dcdwest!noscvax!kemp
  597.   
  598.   ==========================================================================
  599.   
  600.   /* Cprolog */
  601.   
  602.   /* Write Merry Christmas 15 times in 4.1bsd Cprolog 
  603.    *  To execute, get into prolog, then issue the commands:
  604.    *  |?- ['xmas.p'].
  605.    *  |?- xmas.
  606.    */
  607.   
  608.   xmas :- name(Text,"Merry Christmas") , writeline(Text,15).
  609.   writeline(_,0).
  610.   writeline(Text,N) :- write(Text) , nl , M is N - 1 , writeline(Text,M).
  611.   
  612.           From: seismo!decvax!microsof!ubc-vision!mprvaxa!tbray
  613.                   
  614.   ==========================================================================
  615.   
  616.   /* dBASEII */
  617.   
  618.       store 0 to number
  619.       do while number < 15
  620.           ? "Merry Christmas"
  621.           store 1+number to number
  622.       enddo
  623.       release number
  624.   
  625.                   From: seismo!philabs!sbcs!BNL!jeffy
  626.                       --Jeff M.
  627.   
  628.   ==========================================================================
  629.   
  630.   /* dBASE II */
  631.   
  632.   SET TALK OFF
  633.   STORE 0 TO counter
  634.   DO WHILE counter < 15
  635.       @ counter, 0 SAY "Merry Christmas"
  636.       STORE counter + 1 TO counter
  637.   ENDDO
  638.   RETURN
  639.   
  640.                   From: mike@uokvax.UUCP
  641.   
  642.   ==========================================================================
  643.   
  644.   /* 'csh' command version */
  645.   
  646.   repeat 15 echo Merry Christmas
  647.   
  648.               Original-From:     Bruce Israel <israel@umcp-cs>
  649.   
  650.   ==========================================================================
  651.   /*  DCL (VAX/VMS shell) */
  652.                   
  653.           $ i = 1
  654.           $ loop:
  655.           $ if i.gt.15 then goto done
  656.           $ write sys$output "Merry Christmas"
  657.           $ i = i + 1
  658.           $ goto loop
  659.           $ done:
  660.           $ exit
  661.                   
  662.           From: David Chase <rbbb@rice>
  663.   
  664.   ==========================================================================
  665.                   
  666.   /* DCL */
  667.   And (as I noticed that Un*x shell scripts were on your list, and in
  668.   the interest of equal time) here it is in DCL (Digital Command
  669.   Language, a CLI which runs on many DEC machines -- I cut my teeth on
  670.   VAX/VMS):
  671.   
  672.   $ i = 1
  673.   $ loop:
  674.   $ write sys$output "Merry Christmas"
  675.   $ i = i + 1
  676.   $ if i .le. 15 then goto loop
  677.   $ exit
  678.   
  679.                   Happy Hacking!
  680.   
  681.                   Russell Finn
  682.                   {decvax, eagle, mit-eddie}!mit-vax!russ
  683.                   RUSS%MIT-VAX@MIT-ML
  684.   
  685.   ==========================================================================
  686.   
  687.   /* DDL */
  688.   
  689.   Here is a Merry Christmas program written in DDL. Yes DDL, the Dungeon
  690.   Definition Language from UCLA. I have included a makefile
  691.   in case you have never seen this stuff before.
  692.   
  693.   *********************** xmas.ddl *************************
  694.   VAR count;
  695.   (count) = 1;
  696.   
  697.   Greetings =    ( WHILE ( $lt @count 15 ) :
  698.           ( $setg count ( $plus 1 @count ))
  699.           ( $say "Merry Christmas\n")
  700.       )
  701.       ($spec 3 0 0 0 0);
  702.   
  703.   START = ($sdem Greetings);
  704.   
  705.   *********************** makefile *************************
  706.   
  707.   xmas:
  708.       /usr/src/games/ddl/ddlcomp tiny < tiny.ddl > ddlcomp.out
  709.   
  710.   To run it type the following
  711.   
  712.       `/usr/games/lib/ddlrun xmas'
  713.   
  714.   
  715.                   - Joel
  716.   
  717.   ==========================================================================
  718.   
  719.   /* ed */
  720.   
  721.       ed - /etc/passwd<<!
  722.       1,15g/./s/.*/Merry Christmas/p
  723.       q
  724.       !
  725.   
  726.           From: seismo!mcvax!steven (Steven Pemberton)
  727.   
  728.   ==========================================================================
  729.   /* ed  */
  730.   (UNIX 'standard' line editor):
  731.   
  732.           a   
  733.           Merry Christmas
  734.           .   
  735.           t.  
  736.           t.  
  737.           t.  
  738.           t.  
  739.           t.  
  740.           t.  
  741.           t.  
  742.           t.  
  743.           t.  
  744.           t.  
  745.           t.  
  746.           t.  
  747.           t.  
  748.           t.  
  749.           t.  
  750.           1,$p
  751.   
  752.                       These languages courtesy of:
  753.                           Pavel Curtis, Cornell
  754.                           Mike Caplinger, Rice
  755.   
  756.   ==========================================================================
  757.   
  758.   /* Concurrent-Euclid */
  759.   ------------------
  760.   var xmas :
  761.       module
  762.       include '%IO'
  763.       initially
  764.       imports (var IO)
  765.       begin
  766.           var i : ShortInt := 0
  767.           loop
  768.           IO.PutString ('Merry Christmas$N$E')
  769.           i := i + 1
  770.           exit when i = 15
  771.           end loop
  772.       end
  773.   end module {xmas}
  774.   ------------------
  775.   
  776.   Stephen Perelgut    Computer Systems Research Group    University of Toronto
  777.           Usenet:    {linus, ihnp4, allegra, decvax, floyd}!utcsrgv!perelgut
  778.   
  779.   ==========================================================================
  780.   
  781.   /* Concurrent Euclid */
  782.   
  783.   var MerryChristmas :
  784.       module
  785.   
  786.       include '%IO'
  787.   
  788.       initially
  789.   
  790.       imports (var IO)
  791.       begin
  792.           var i: SignedInt := 15
  793.   
  794.           loop
  795.           IO.PutString('Merry Christmas$N$E')
  796.           i := i - 1
  797.           exit when i = 0
  798.           end loop
  799.       end
  800.   
  801.   end module
  802.   
  803.                   From utcsrgv!utai!rayan 
  804.   
  805.   ==========================================================================
  806.   
  807.   /* EYE */
  808.   
  809.   Since you said "the more obscure the better", here is the program written in
  810.   EYE, a language which was implemented by Kuck & Associates, Inc. of 
  811.   Champaign, Illinois as an implementation language for writing a large piece
  812.   of software.
  813.   
  814.   program yule_tidings is
  815.   
  816.   constant number_of_times_to_print_merry_christmas : integer = 15;
  817.   
  818.   begin( yule_tidings )
  819.   
  820.       for i:integer = 1 to number_of_times_to_print_merry_christmas
  821.       loop( print_merry_christmas )
  822.   
  823.           put( 'Merry Christmas' | );
  824.   
  825.           endloop( print_merry_christmas );
  826.   
  827.       end( yule_tidings );
  828.                       Jim Davies
  829.                       {pur-ee parsec}!uiucdcs!uiuccsb!davies
  830.   
  831.   ==========================================================================
  832.     
  833.   /*  FRED  */
  834.   (a text editor)
  835.   
  836.   u15 jm Merry Christmas
  837.   
  838.                   From: decvax!watmath!ljdickey
  839.   
  840.   ==========================================================================
  841.   
  842.   /* Forth */
  843.   
  844.   (Forth)
  845.   15 0 DO ."Merry Christmas" CR LOOP
  846.   
  847.                       Adam Reed
  848.                       AT&T Information Systems
  849.                       ihnp4!hogpc!pegasus!lzmi!adam
  850.   
  851.   ==========================================================================
  852.   
  853.   /* Forth */
  854.   
  855.   : greetings cr 0 do ." Merry Christmas" cr loop ;
  856.   
  857.   15 greetings
  858.   
  859.   
  860.                   Dave Seaman
  861.                   ..!pur-ee!pucc-k:ags
  862.   
  863.   ==========================================================================
  864.   
  865.   /* Fortran? */
  866.   
  867.   If you want an obscure solution, try the following Fortran
  868.   on a VAX.  It works on BSD4.1, BSD4.1c and System V.
  869.   
  870.       integer table(12)
  871.       data table/248514560, -552542885, 4847, -83763968
  872.        1, 323331, 1542717440, 1260, 1292108988
  873.        2, 2037543525, 1919435552, 1836348265, 684897/
  874.       call out(table)
  875.       end
  876.   
  877.       subroutine out(code)
  878.       external code
  879.       call code
  880.       return
  881.       end
  882.   -- 
  883.   
  884.   Griff Smith    AT&T Bell Laboratories, Murray Hill
  885.   Phone:        (201) 582-7736
  886.   Internet:    ggs@ulysses.uucp
  887.   UUCP:        ulysses!ggs
  888.   
  889.   ==========================================================================
  890.   
  891.   /* Fortran 77 */
  892.   
  893.         program yule
  894.         parameter (nwish = 15)
  895.   c
  896.         do 1 i = 1,nwish
  897.       1   print*,'Merry Christmas'
  898.   c
  899.         end
  900.                       Jim Davies
  901.                       {pur-ee parsec}!uiucdcs!uiuccsb!davies
  902.   
  903.   ==========================================================================
  904.   
  905.   /* FP */
  906.   (Backus' Functional Programming Language):
  907.   (Using the syntax of Scott Baden's UNIX implementation)
  908.   
  909.           ; MC prints the string 'Merry Christmas' 15 times when applied
  910.           ;                       to any argument and returns T.
  911.           {MC     %T @ out @ &%"Merry Christmas\n" @ iota @ %15}
  912.   
  913.                       These languages courtesy of:
  914.                           Pavel Curtis, Cornell
  915.                           Mike Caplinger, Rice
  916.   
  917.   ==========================================================================
  918.   
  919.   /* GPSS */ 
  920.   
  921.       SIMULATE
  922.       GENERATE    1
  923.       TERMINATE    1
  924.       START        15,,1
  925.       REPORT
  926.       TEXT        MERRY CHRISTMAS
  927.       END
  928.   
  929.               ---From some unknown person on the other side of uucp 
  930.   
  931.   ==========================================================================
  932.   
  933.   /* IBM 370 assembly */
  934.   
  935.   How about this one (IBM 370 assembler running VM/VPS - a local hack at Boston
  936.   University):
  937.   
  938.   xmas      csect
  939.             stm     r14,r12,12(r13)
  940.             lr      r12,r15
  941.             using   xmas,r12
  942.             st      r13,savearea+4
  943.             la      r13,savearea
  944.   
  945.   *
  946.   *         Initialize counter
  947.   *
  948.   
  949.   xmasloop  ds      0h
  950.             la      r2,15                   Print it 15 times
  951.             qio     rb=xmasrb               Print "Merry Christmas"
  952.             bct     r2,xmasloop
  953.   
  954.             l       r13,4(,r13)             Restore registers
  955.             lm      r14,r12,12(r13)
  956.             br      r14                     Return to OS
  957.   
  958.   xmasrb    qiorb   ddname=sysprint,bufad=xmasmsg,lrecl=l'xmasmsg
  959.   xmasmsg   dc      c' Merry Christmas'     Don't forget carriage control
  960.             end     xmas
  961.   
  962.   
  963.   If that isn't obscure, I don't know what is.
  964.   
  965.               ---Sender: reg@ima!vaxine.UUCP
  966.   
  967.   ==========================================================================
  968.   
  969.   /* Icon */
  970.   
  971.       # write "Merry Christmas" 15 times on standard output
  972.       procedure main()
  973.           every 1 to 15 do write("Merry Christmas")
  974.       end
  975.   
  976.   "1 to 15" is a generator which produces the sequence 1..15;
  977.   "every X do Y" evaluates Y for each value of X;
  978.   write() writes a line of text.
  979.   
  980.                       Randy Hudson
  981.                       decvax!cca!ima!inmet!rgh
  982.   
  983.   ==========================================================================
  984.   
  985.   /* Icon (Version 5) */
  986.   
  987.   procedure main()
  988.       every write(|"Merry Christmas") \ 15
  989.   end
  990.   
  991.   The more canonical solution is:
  992.   
  993.   procedure main()
  994.       every 1 to 15 do
  995.           write("Merry Christmas")
  996.   end
  997.   
  998.   but obviously isn't as devious.
  999.   
  1000.                       ---Bill Mitchell
  1001.   
  1002.   ==========================================================================
  1003.   
  1004.   /* Imp80 */
  1005.   
  1006.   %begin
  1007.       %integer index
  1008.   
  1009.       %for index = 1, 1, 15 %cycle
  1010.           Print String("Merry Christmas")
  1011.           New Line
  1012.       %repeat
  1013.   %end %of %program
  1014.   
  1015.                   From: jd@ukc.UUCP
  1016.           Organization: Computing Lab. Kent University, England
  1017.   
  1018.   ==========================================================================
  1019.   
  1020.   /* The Kent Recursive Calculator */
  1021.   
  1022.       there you are, here is the merry christmas program in my favourite 
  1023.       language, krc (The Kent Recursive Calculator),
  1024.       a teaching and research applicative language used at the University of
  1025.       Kent, Canterbury, UK.
  1026.       the syntax is annexed and requests for the full formal description
  1027.       of the language (syntax+semantics) will be considered.
  1028.       the program is:
  1029.   
  1030.       print 0 = []
  1031.       print n = "Merry Christmas":nl:print (n-1)
  1032.   
  1033.       and the command to run it (in the interpreter) is
  1034.   
  1035.       print 15!
  1036.   
  1037.       silvio lemos meira
  1038.       computing lab
  1039.       university of kent at canterbury
  1040.       ...vax135!ukc!srlm
  1041.   
  1042.       SYNTAX...
  1043.   
  1044.   (note: space is limited, but the syntax is available upon request;
  1045.       just send me a stamped, self-addressed antelope -- Don Davis)
  1046.   
  1047.   ==========================================================================
  1048.   
  1049.   /* LISP */
  1050.   
  1051.      (do ((i 0 (add1 i)))
  1052.          ((eq i 15))
  1053.          (msg "Merry Christmas" N))
  1054.   
  1055.   
  1056.                   Dave Seaman
  1057.                   ..!pur-ee!pucc-k:ags
  1058.   
  1059.   ==========================================================================
  1060.   
  1061.   /* Scheme or Maclisp or Franz Lisp */
  1062.   ;
  1063.   (do ((i 0 (+ i 1)))
  1064.       ((= i 15))
  1065.       (princ "Merry Christmas")
  1066.       (terpri)   ;new line
  1067.   )
  1068.   
  1069.                     --  chip elliott     ...decvax!dartvax!chip
  1070.   
  1071.   ==========================================================================
  1072.   
  1073.   /* MTS Lisp */
  1074.   
  1075.     (repeat '( print '"Merry Christmas") 15)    # MTS Lisp.
  1076.                    Bruce Wilcox, Intermetrics Inc.
  1077.   
  1078.   ==========================================================================
  1079.   
  1080.   /* LSRHS Logo */
  1081.   (from the Usenix82 tape):
  1082.   
  1083.   to greet :n
  1084.   10  if :n >1 then greet (:n - 1)
  1085.   20  print [Merry Christmas]
  1086.   end
  1087.   greet 15
  1088.   
  1089.           From: seismo!decvax!trw-unix!trwspp!urban (Mike Urban)
  1090.   
  1091.   ==========================================================================
  1092.   
  1093.   /* Logo */
  1094.   
  1095.           repeat 15 [print "Merry\ Christmas]
  1096.   
  1097.                       These languages courtesy of:
  1098.                           Pavel Curtis, Cornell
  1099.                           Mike Caplinger, Rice
  1100.   
  1101.   ==========================================================================
  1102.   
  1103.   /* LSE */
  1104.   
  1105.   Here's a language you probably have never heard of... LSE (Langue
  1106.   Symbolique d'Instruction, or Symbolic Language of Instruction).  I
  1107.   used it on some ancient machine in France (of French make) and it is
  1108.   roughly parallel to BASIC translated to French.  It sure isn't my
  1109.   favorite, but it's interesting...
  1110.   
  1111.   10 pour i = 1 jusqua 15 faire 20
  1112.   20 afficher "Merry Christmas"
  1113.   
  1114.   
  1115.                   Philippe Lacroute
  1116.                   ..decvax!sun!cochon
  1117.   
  1118.   ==========================================================================
  1119.   
  1120.   /* m4 */
  1121.   
  1122.   define(`merry',`ifelse(eval($1),eval(0),,Merry Christmas
  1123.   `merry'(eval($1-1)))')dnl
  1124.   merry(15)dnl
  1125.   
  1126.   
  1127.   
  1128.                       Joseph L. Wood, III
  1129.                       AT&T Information Systems
  1130.                       Laboratories, Holmdel
  1131.                       (201) 834-3759
  1132.                       ariel!jlw
  1133.   
  1134.   ==========================================================================
  1135.   
  1136.   /* MACSYMA */
  1137.   
  1138.           doit() := for i:1 thru 15 do print("Merry Christmas")$
  1139.   
  1140.                       These languages courtesy of:
  1141.                           Pavel Curtis, Cornell
  1142.                           Mike Caplinger, Rice
  1143.   
  1144.   ==========================================================================
  1145.   
  1146.   /* make */
  1147.   
  1148.   If you use the following as the description file for 'make', it
  1149.   will satisfy your requirement.  Make can be considered a language
  1150.   interpreter, so what the heck.
  1151.   
  1152.   ---------------------- cut ------- here -----------------------------------
  1153.   .SILENT:
  1154.   
  1155.   foo_._bar_ :                    # some name unlikely to already exist
  1156.       echo merry christmas
  1157.       echo merry christmas
  1158.       echo merry christmas
  1159.       echo merry christmas
  1160.       echo merry christmas
  1161.       echo merry christmas
  1162.       echo merry christmas
  1163.       echo merry christmas
  1164.       echo merry christmas
  1165.       echo merry christmas
  1166.       echo merry christmas
  1167.       echo merry christmas
  1168.       echo merry christmas
  1169.       echo merry christmas
  1170.       echo merry christmas
  1171.   
  1172.               ---From some unknown person on the other side of uucp 
  1173.   
  1174.   ==========================================================================
  1175.   
  1176.   /* A Maryland Text Editor procedure */
  1177.   ---------------------------------
  1178.   let a=0 
  1179.   next:test a<15  
  1180.   escape  
  1181.   dis 'Merry Christmas'
  1182.   let a=a+1
  1183.   jump next
  1184.   
  1185.   From: seismo!decvax!sdcsvax!ittvax!dcdwest!noscvax!kemp
  1186.   
  1187.   ==========================================================================
  1188.   
  1189.   /* Mesa 5.0 */
  1190.   
  1191.   -- Here it is in Mesa 5.0; good luck trying to find an Alto or a D-machine
  1192.   -- on which to run it.
  1193.   
  1194.   DIRECTORY
  1195.           IODefs: FROM "iodefs" USING [WriteLine];
  1196.   
  1197.   MerryChristmas: PROGRAM IMPORTS IODefs =
  1198.   
  1199.           BEGIN
  1200.           i: INTEGER; -- loop index
  1201.           FOR i IN [0..15) DO -- print the message 15 times
  1202.                   WriteLine["Merry Christmas"]; -- this is the message, and the
  1203.                                                 -- procedure WriteLine[] provides
  1204.                                                 -- the carriage return
  1205.                   ENDLOOP; -- go back and do it again
  1206.   
  1207.           END. -- all done
  1208.   
  1209.                   -- Patrick Olmstead
  1210.   
  1211.                   -- ...ucbvax!menlo70!sytek!olmstead
  1212.                   -- ...decvax!sytek!olmstead (when decvax answers the phone)
  1213.   
  1214.   ==========================================================================
  1215.   
  1216.   /* MIX */
  1217.   
  1218.   *
  1219.   *  THIS PROGRAM WILL PRINT "MERRY CHRISTMAS" 15 TIMES 
  1220.   *
  1221.   LP         EQU  18        CARD PUNCH DEVICE
  1222.   *
  1223.   MSG        ALF   MERR        DON'T FORGET THE BLANK SPACE FOR CCTL
  1224.              ALF  Y CHR
  1225.              ALF  ISTMA
  1226.              ALF  S
  1227.              ORIG *+20
  1228.   *
  1229.   START      EQU  *
  1230.              ENT1 0        INITIALIZE COUNTER
  1231.   *
  1232.   LOOP       EQU  *
  1233.              OUT  MSG(LP)        WRITE IT OUT
  1234.              JBUS *(LP)        WAIT ON I/O
  1235.              INC1 1        R1 := R1 + 1
  1236.              CMP1 =15=        IF (R1 = 15)
  1237.              JE   DONE           THEN DONE
  1238.              JMP  LOOP           ELSE DO IT AGAIN
  1239.   *
  1240.   DONE       EQU  *
  1241.              HLT            AND A HAPPY NEW YEAR
  1242.              END  START
  1243.   
  1244.   
  1245.   -- 
  1246.   Theodore Hope
  1247.   School of ICS, Georgia Tech, Atlanta GA
  1248.   CSNet:    Hope @ GaTech        ARPA:    Hope.GaTech @ CSNet-Relay
  1249.   uucp:    ...!{akgua,allegra,rlgvax,sb1,unmvax,ut-ngp,ut-sally}!gatech!Hope
  1250.   
  1251.   ==========================================================================
  1252.   
  1253.   /* MLisp */
  1254.   (Gosling's Emacs editor extension language):
  1255.   
  1256.           (provide-prefix-argument 15 (insert-string "Merry Christmas\n"))
  1257.   
  1258.                       These languages courtesy of:
  1259.                           Pavel Curtis, Cornell
  1260.                           Mike Caplinger, Rice
  1261.   
  1262.   ==========================================================================
  1263.   
  1264.   /* Modula-2 */
  1265.   
  1266.   Module cheers;
  1267.   ODULEcheers;
  1268.   FROM InOut IMPORT WriteLn, WriteString;
  1269.   VAR
  1270.     i    :CARDINAL;
  1271.   BEGIN
  1272.     FOR i := 1 TO 15 DO
  1273.       WriteString('Merry Christmas');
  1274.       WriteLn;
  1275.     END;    (*FOR I*)
  1276.   END cheers.
  1277.   
  1278.               From: seismo!decvax!decwrl!amd70!fortune!dsd!mush
  1279.   
  1280.   ==========================================================================
  1281.   
  1282.   /* MTS editor */
  1283.   
  1284.   * And here is a weird one written in the MTS editor
  1285.   * 
  1286.   * the @verify@-lnum says to print the new line without linenumber
  1287.   * '*' refers the current line number.
  1288.   *
  1289.   
  1290.   insert "merry christmas" @verify@-lnum
  1291.   copy * to * copies=14 @verify@-lnum
  1292.   
  1293.               ---From: seismo!cmcl2!floyd!ihnp4!alberta!stephen
  1294.   
  1295.   ==========================================================================
  1296.   
  1297.   /* Mystery Language */
  1298.   (Author did not include name and I don't recognize it)
  1299.   
  1300.   MODULE Greetings;
  1301.   FROM Terminal IMPORT WriteString, WriteLn;
  1302.   
  1303.   VAR i: CARDINAL;
  1304.   
  1305.   BEGIN
  1306.     FOR i:=1 TO 15 DO
  1307.       WriteString("Merry Christmas");
  1308.       WriteLn;
  1309.     END; (*for*)
  1310.   END Greetings.
  1311.   
  1312.           From: seismo!decvax!decwrl!amd70!dual!proper!opje
  1313.   
  1314.   ==========================================================================
  1315.   
  1316.   /* Newspeak */
  1317.   
  1318.   (defproc merry-xmas () (values)
  1319.       (do ((i 1 (1+ i)))
  1320.           (print "Merry Christmas")
  1321.           (exit-do-if (= i 15))))
  1322.        
  1323.           From: John Foderaro (on an h19-u) <ucbvax!ucbkim:jkf>
  1324.   
  1325.   ==========================================================================
  1326.   
  1327.   /* nroff */
  1328.   
  1329.   .nr i 15+1 1
  1330.   .de MC
  1331.   .if \\n-i \{ .tl ''Merry Christmas''
  1332.   .    MC \}
  1333.   ..
  1334.   .MC
  1335.   
  1336.   
  1337.               R. Drew Davis  pyuxbb!drew
  1338.   
  1339.   ==========================================================================
  1340.   
  1341.   /* OOPC */
  1342.   (an object-oriented preprocessor for C):
  1343.   
  1344.   main()
  1345.   {
  1346.       int i;
  1347.   
  1348.       for (i=0; i<15; i++)
  1349.           printf("Merry Christmas\n");
  1350.   }
  1351.   
  1352.   If it looks a lot like C, that's because it is.  The object-oriented features
  1353.   are only used when you're dealing with objects (you can use C wherever
  1354.   you want).
  1355.   
  1356.   
  1357.       Karl Freburger
  1358.       decvax!ittvax!freb
  1359.   
  1360.   ==========================================================================
  1361.   
  1362.   /* OPS5 */
  1363.   
  1364.   ; A program to print Merry Christmas 15 times, in OPS5.
  1365.   ; OPS5 is a simple AI/expert systems language for writing
  1366.   ; production systems in.
  1367.   (literalize counter value)    ; Analogous to a record declaration.
  1368.                   ; The program:    A single production.
  1369.   (p print-one-merry-christmas            ; if
  1370.       (counter ^value {<c> > 0})        ;    counter.value > 0
  1371.       -->                    ; then
  1372.       (write (crlf) Merry Christmas)        ;      write("Merry christmas");
  1373.       (modify 1 ^value (compute <c> - 1)))    ;      counter.value -:= 1;
  1374.   (make counter ^value 15)             ; Create a counter with value=15
  1375.   (watch 0)                      ; No tracing.
  1376.   (run)                        ; Go for it.
  1377.   
  1378.   ;                                Ben Hyde, Intermetrics Inc.
  1379.   
  1380.   ==========================================================================
  1381.   
  1382.   /* Pascal */
  1383.   
  1384.   program yuletidings (output);
  1385.   const
  1386.       numberofwishes = 15;
  1387.   var
  1388.       i : integer;
  1389.   
  1390.   begin
  1391.       for i := 1 to numberofwishes do
  1392.           writeln('Merry Christmas');
  1393.       end.
  1394.                       Jim Davies
  1395.                       {pur-ee parsec}!uiucdcs!uiuccsb!davies
  1396.   
  1397.   ==========================================================================
  1398.   
  1399.   /* PDP-11 assembler */
  1400.   (under RT-11)
  1401.   
  1402.       .TITLE    MERRY XMAS
  1403.       .IDENT    /R M/
  1404.       .NLIST    BEX
  1405.       .DSABL    GBL
  1406.       .ENABL    LC
  1407.   
  1408.   
  1409.   
  1410.       .MACLL    .PRINT, .EXIT
  1411.   
  1412.   
  1413.   
  1414.   MERRY::
  1415.       MOV    #15.,R4            ;set up the print count
  1416.       .PRINT    #MSG1            ;print the message
  1417.       SOB    R4,MERRY        ;loop until finished
  1418.   
  1419.       .EXIT                ;return to RT-11
  1420.   
  1421.   MSG1:    .ASCIZ    /Merry Christmas !!!/
  1422.       .EVEN
  1423.   
  1424.       .END    MERRY
  1425.   
  1426.                   From: seismo!utah-cs!pwa-b!miorelli
  1427.   
  1428.   ==========================================================================
  1429.   
  1430.   /* PDP-11 assembler */
  1431.   (under UNIX)
  1432.   
  1433.           mov    $15.,r4
  1434.       1:
  1435.           mov    $1,r0
  1436.           sys    write; 2f; 3f-2f
  1437.           bcs    1f
  1438.           sob    r4,1b
  1439.           clr    r0
  1440.       1:
  1441.           sys    exit
  1442.       .data
  1443.       2:    <Merry Christmas\n\0>
  1444.       3:
  1445.   
  1446.   Jim McKie    Mathematisch Centrum, Amsterdam        ....mcvax!jim
  1447.   
  1448.   ==========================================================================
  1449.   
  1450.   /*  PL/I  version.  ANS PL/I, subset G.   */
  1451.   
  1452.   merry: proc options(main);
  1453.   
  1454.   dcl i fixed binary;
  1455.   
  1456.   do i = 1 to 15;
  1457.   
  1458.        put skip edit('Merry Christmas') (a);
  1459.   
  1460.   end;
  1461.   
  1462.   end merry;
  1463.   
  1464.                    --  chip elliott     ...decvax!dartvax!chip
  1465.   
  1466.   ==========================================================================
  1467.   
  1468.   /* PL/1 */
  1469.   
  1470.   START: PROC OPTIONS(MAIN);
  1471.   DCL I FIXED BINARY(15);  /* LONG FORM; SAME AS DCL I; */
  1472.   DO I = 1 TO 15;
  1473.       PUT EDIT ("Merry Christmas");
  1474.   END;
  1475.   END START;
  1476.                                                           julie    
  1477.                   seismo!philabs!jah
  1478.   
  1479.   ==========================================================================
  1480.   
  1481.   /* PL/1 */
  1482.   
  1483.   yule: proc options(main);
  1484.   
  1485.   %numwish = '15';
  1486.   
  1487.   do i = 1,numwish;
  1488.      put skip list('Merry Christmas');
  1489.      end;
  1490.   
  1491.   end yule;
  1492.   
  1493.                       Jim Davies
  1494.                       {pur-ee parsec}!uiucdcs!uiuccsb!davies
  1495.   
  1496.   ==========================================================================
  1497.   
  1498.   /* Pr1me assembly */
  1499.   
  1500.            SEG
  1501.            RLIT
  1502.            SUBR   PRINT
  1503.   
  1504.            LINK
  1505.   PRINT    ECB    START
  1506.   
  1507.            DYNM   COUNT
  1508.            PROC
  1509.   
  1510.   
  1511.   START    LDA    =15
  1512.            STA    COUNT
  1513.   
  1514.   START1   LDA    COUNT
  1515.            BEQ    DONE
  1516.            S1A
  1517.            STA    COUNT
  1518.   
  1519.            CALL   TNOU
  1520.            AP     =C'Merry Christmas',S
  1521.            AP     =15,SL
  1522.   
  1523.            JMP    START1
  1524.   
  1525.   DONE     PRTN
  1526.            END
  1527.   
  1528.   
  1529.   Jeff Lee
  1530.   CSNet:    Jeff @ GATech        ARPA:    Jeff.GATech @ CSNet-Relay
  1531.   uucp:    ...!{sb1,allegra,ut-ngp}!gatech!jeff ...!duke!mcnc!msdc!gatech!jeff
  1532.   
  1533.   ==========================================================================
  1534.   
  1535.   /* Prolog */
  1536.   
  1537.       hello(0) :- !.
  1538.       hello(N) :- M is N - 1, print("Merry Christmas"), hello(M), !.
  1539.       hello(15)!
  1540.   
  1541.   (I'm just learning prolog, so my apologies if the style is wrong.)
  1542.   
  1543.                               Aloke Prabhakar
  1544.                               prabhaka@BERKELEY
  1545.                               ucbvax!prabhaka
  1546.   
  1547.   ==========================================================================
  1548.   
  1549.   /* Prolog */ 
  1550.   
  1551.   wmc:- countmc(15).
  1552.   countmc(0).
  1553.   countmc(Count):- write('Merry Christmas'), nl, Ncnt is Count-1, countmc(Ncnt).
  1554.   
  1555.   
  1556.                       --Peter Borgwardt, U. of Minnesota
  1557.                         borgward.umn-cs@rand-relay
  1558.   
  1559.   ==========================================================================
  1560.   
  1561.   /* REVE */
  1562.   (Equational-programming/term-rewriting system):
  1563.   
  1564.   (Has no I/O.  This will look like
  1565.               merry_christmas(merry_christmas(...))
  1566.   Also, to avoid having to specify 15 as the fifteenth successor of zero,
  1567.   we define addition and multiplication.)
  1568.   
  1569.           (x + 0)     == x
  1570.           (x + s(y))  == (s(x) + y)
  1571.           (x * 0)     == 0
  1572.           (x * s(y))  == (x + (x * y))
  1573.           mc(s(0))    == merry_christmas
  1574.           mc(s(s(x))) == merry_christmas(mc(s(x)))
  1575.           
  1576.           mc( (s(s(s(0))) * s(s(s(s(s(0)))))) )
  1577.   
  1578.                       These languages courtesy of:
  1579.                           Pavel Curtis, Cornell
  1580.                           Mike Caplinger, Rice
  1581.   
  1582.   ==========================================================================
  1583.   
  1584.   /* *roff */
  1585.   
  1586.   Well, the most natural choice for Merry Christmas is of course:
  1587.       V/N/T/DIT/roff.
  1588.   
  1589.   This will print it on the standard output, It will give you an extra blank line,
  1590.   sorry about that.
  1591.   
  1592.       .fp 1 MC
  1593.       .pl 1
  1594.       .nf
  1595.       .nr l 0 +1
  1596.       .de mm
  1597.       .if \\n+l=15 .rm mm
  1598.       Merry Christmas
  1599.       .mm
  1600.       ..
  1601.       .mm
  1602.   
  1603.   The font MC is of course your local ``Merry Christmas font''; all the characters
  1604.   are built from christmas trees.
  1605.   If you don't want the extra newline you can use the error output:
  1606.   
  1607.       .de mm
  1608.       .if \\nk=14 .ab Merry Christmas
  1609.       .nr k +1
  1610.       .tm Merry Christmas
  1611.       .mm
  1612.       ..
  1613.       .mm
  1614.   
  1615.   Of course, you loose the nice look of the MC font.
  1616.   
  1617.   There are of course about a dozen other ways to use troff for this.
  1618.   
  1619.                   -- jaap akkerhuis (mcvax!jaap)
  1620.   
  1621.   ==========================================================================
  1622.   
  1623.   /* QC */
  1624.   
  1625.   /*
  1626.    * This program is written in the language QC (quick & clean), a
  1627.    * descendant of QD (quick & dirty). Both languages were written by 
  1628.    * Chris Grey for 370/ systems runing MTS (a user-friendly operating
  1629.    * system).
  1630.    */
  1631.   proc main():
  1632.   int I;
  1633.   extern printf;
  1634.     for I from 1 upto 15 do
  1635.           printf("Merry Christmas")
  1636.     od
  1637.   corp
  1638.               ---From: seismo!cmcl2!floyd!ihnp4!alberta!stephen
  1639.   
  1640.   ==========================================================================
  1641.   
  1642.   /* sed script */
  1643.   
  1644.   echo 'Mery Chistma' |
  1645.   sed '
  1646.       s/\(..\)\(.\)\(....\)\(.\)\(.\)\(...\)/\1\2\2\3\2\4\5\6\5/
  1647.       h;G;G
  1648.       s/$/\
  1649.   /
  1650.       s/.*/&&&&&/
  1651.   '
  1652.               From: seismo!decvax!ucbvax!reed!phillips
  1653.   
  1654.   ==========================================================================
  1655.   
  1656.   /* SETL */
  1657.   (Doesn't use any of the interesting features of the language):
  1658.   
  1659.           definef main();
  1660.               (1 <= forall i <= 15) print('Merry Christmas');
  1661.           end main;.
  1662.   
  1663.                       These languages courtesy of:
  1664.                           Pavel Curtis, Cornell
  1665.                           Mike Caplinger, Rice
  1666.   
  1667.   ==========================================================================
  1668.   
  1669.   /* XEROX sigma-7 assembler */
  1670.   (running under CP-V)
  1671.   
  1672.       SYSTEM SIG7
  1673.       SYSTEM BPM
  1674.       REF M:LO
  1675.   BUFR    TEXT 'MERRY CHRISTMAS'
  1676.   START    LI,4 15
  1677.       M:WRITE M:LO,(BUF,BUFR),(SIZE,15)
  1678.       BDR,4 START+1
  1679.       M:EXIT
  1680.       END START
  1681.   
  1682.   or, you can avoid loading the BPM macro's by doing your own FPT
  1683.   
  1684.       SYSTEM SIG7
  1685.       REF M:LO
  1686.   BUFR    TEXT 'MERRY CHRISTMAS'
  1687.   FPT    GEN,8,24 X'11',M:LO
  1688.       GEN,4,28 3,X'10'
  1689.       DATA BUFR
  1690.       DATA 15
  1691.   START    LI,4 15
  1692.       CAL1,1 FPT
  1693.       BDR,4 START
  1694.       CAL1,9 1
  1695.       END START
  1696.   
  1697.                       Bob McQueer
  1698.                       druxt!mcq
  1699.   
  1700.   ==========================================================================
  1701.   
  1702.   /* Smalltalk-80 */
  1703.   
  1704.       output <- WriteStream on: (String new: 10).
  1705.       1 to 15 do: [
  1706.           output nextPutAll: 'Merry Christmas'.
  1707.           output cr
  1708.       ].
  1709.       output contents.
  1710.   
  1711.   Select this from the screen and hit 'printIt', and out comes the message.
  1712.   
  1713.               From: seismo!decvax!ittvax!freb
  1714.   
  1715.   ==========================================================================
  1716.   
  1717.   /* Smalltalk-80 */
  1718.   
  1719.           merryChristmas: aStream
  1720.               "Prints 'Merry Christmas' on aStream 15 times."
  1721.               
  1722.               15 timesRepeat:
  1723.                   [aStream
  1724.                       nextPutAll: 'Merry Christmas';
  1725.                       cr
  1726.                   ]
  1727.                       These languages courtesy of:
  1728.                           Pavel Curtis, Cornell
  1729.                           Mike Caplinger, Rice
  1730.   
  1731.   ==========================================================================
  1732.   
  1733.   /* Snobol-3 */
  1734.   (Snobol-4??  What's that?  We use Snobol-3 here.)
  1735.   
  1736.   * S.D.S. TSS SNOBOL-3
  1737.             N = 1
  1738.   LOOP      LOUT = 'MERRY CHRISTMAS'
  1739.             N = .LT(N,15) N + 1                        /S(LOOP)F(.EXIT)
  1740.   
  1741.               From: seismo!rochester!rocksvax!sunybcs!colonel
  1742.   
  1743.   ==========================================================================
  1744.   
  1745.   /* Snobol 4 */
  1746.   
  1747.   * Snobol 4 version.  Not very elegant!
  1748.   *
  1749.   i = 1
  1750.   
  1751.   a: output = 'Merry Christmas'
  1752.      i = i + 1
  1753.      le(i,15)    :s(a)
  1754.   
  1755.                     --  chip elliott     ...decvax!dartvax!chip
  1756.   
  1757.   ==========================================================================
  1758.   
  1759.   /* SPEED editor */
  1760.   
  1761.   To print Merry Christmas 15 times using the SPEED editor from Data General
  1762.   (SPEED is a TECO-like editor, $ will represent an escape character, ^D will
  1763.   represent a control-D):
  1764.   
  1765.   15<iMerry Christmas
  1766.   $>$#t$#k$h^D
  1767.                   Michael Meissner
  1768.                   Data General Corporation
  1769.                   ...{allegra, decvax!ittvax, rocky2}!datagen!mrm
  1770.   
  1771.   ==========================================================================
  1772.   
  1773.   /* SPL/3000 */
  1774.   
  1775.   $Control Uslinit
  1776.   Begin
  1777.   
  1778.   Byte Array
  1779.      Msg (0:14) := "Merry Christmas";
  1780.   
  1781.   Integer
  1782.      I;
  1783.   
  1784.   Intrinsic
  1785.      Print, Terminate;
  1786.   
  1787.   For I := 1 UNTIL 15 Do
  1788.      Print (Msg, -15, 0);        << 15 bytes, no CCTL >>
  1789.   
  1790.   Terminate;
  1791.   
  1792.   End.
  1793.   
  1794.   From: seismo!harpo!ihnp4!clyde!akgua!emory!gatech!hope
  1795.   
  1796.   ==========================================================================
  1797.   
  1798.   /* Stage 2 */
  1799.   
  1800.   #$#$0 (+-*/)
  1801.   END#
  1802.   $F0#
  1803.   #
  1804.   $#
  1805.   $10$F7#
  1806.   Merry Christmas$F15#
  1807.   $F8#
  1808.   ##
  1809.   15
  1810.   END
  1811.   
  1812.               ---Written and Contributed by Tom Almy, Tektronix, Inc.
  1813.   
  1814.   ==========================================================================
  1815.   
  1816.   /* Stoic */
  1817.   15 0 DO "Merry Christmas&15&" MSG LOOP
  1818.   
  1819.               ---Written and Contributed by Tom Almy, Tektronix, Inc.
  1820.   
  1821.   ==========================================================================
  1822.   
  1823.   /* TECO */
  1824.   
  1825.   15<^AMerry Christmas
  1826.   ^A>$$
  1827.   
  1828.   (where '$' is an Escape, and ^A is a control-A)
  1829.   
  1830.           ---Written and Contributed by Tom Almy, Tektronix, Inc.
  1831.   
  1832.   =======================================
  1833.   
  1834.   /* TECO */
  1835.   (Text Editor COrrector)
  1836.   
  1837.   15<^AMerry Christmas
  1838.   ^A>$$
  1839.   
  1840.   note: ^A is a Control A
  1841.         $ is an escape character
  1842.   
  1843.   And a Happy New Year,
  1844.   
  1845.   
  1846.                   Rob Spray
  1847.   
  1848.                   Software Designer
  1849.   
  1850.                   US Mail:  Computer*Thought Corporation
  1851.                         1721 West Plano Parkway, Suite 125
  1852.                         Plano TX 75075
  1853.                   BellTel:  214-424-3511
  1854.                   ARPAnet:  ROB.CT@RAND-RELAY
  1855.                   uucp:     ... decvax!cornell!ctvax!rob
  1856.   
  1857.   ==========================================================================
  1858.       
  1859.   /* TECO */
  1860.   
  1861.       :IGMerry Christmas
  1862.   $                !* Put string in Q-register G !
  1863.       15<:GG>$$        !* 15 Times, print it out !
  1864.   
  1865.   The dollar signs represent ESCapes.
  1866.   
  1867.                   Merry Christmas!
  1868.                       David Kaufman
  1869.                       ...decvax!yale-comix!kaufman
  1870.       
  1871.   
  1872.   ==========================================================================
  1873.   
  1874.   /* TeX */
  1875.   (Knuth's text formatting language, assuming presence of Plain.TeX macros):
  1876.   
  1877.           \def\mc#1{\ifnum #1>0 Merry Christmas\par
  1878.                     {\count0=#1\advance\count0 by-1\mc\count0}\fi}
  1879.           \mc{15}
  1880.   
  1881.                       These languages courtesy of:
  1882.                           Pavel Curtis, Cornell
  1883.                           Mike Caplinger, Rice
  1884.   
  1885.   ==========================================================================
  1886.   
  1887.   /* TRAC */
  1888.   
  1889.   #(ds,Merry-Christmas,(#(eq,arg,0,,(#(PS,Merry Christmas(
  1890.   ))#(Merry-Christmas,#(su,arg,1))))))'
  1891.   #(ss,Merry-Christmas,arg)'
  1892.   #(Merry-Christmas,15)'
  1893.   
  1894.   Note: "TRAC" is a trademark of Rockford Research, Inc.
  1895.           ---Written and Contributed by Tom Almy, Tektronix, Inc.
  1896.   
  1897.   ==========================================================================
  1898.   
  1899.   /* TRAC */
  1900.   
  1901.           #(ds,merry,(#(eq,count,0,,((Merry Christmas
  1902.           )#(cl,merry,#(su,count,1))))))'
  1903.   
  1904.           #(ss,merry,count)'
  1905.   
  1906.           #(cl,merry,15)'
  1907.   
  1908.   The TRAC language is a text- and macro-processing language reminiscent
  1909.   of LISP.  The first command defines a function, the second marks "count"
  1910.   as a dummy argument, the third calls the function.  The printing is done
  1911.   by the command interpreter.
  1912.    
  1913.                      Andy Behrens
  1914.                      decvax!dartvax!andyb
  1915.   
  1916.   ==========================================================================
  1917.   
  1918.   /* TROFF */
  1919.   
  1920.           .de MC
  1921.           .nf
  1922.           .if \\$1>0 \{\
  1923.           Merry Christmas
  1924.           .nr x \\$1
  1925.           .nr x -1
  1926.           .MC \\nx \}
  1927.           ..
  1928.           .MC 15
  1929.   
  1930.                       These languages courtesy of:
  1931.                           Pavel Curtis, Cornell
  1932.                           Mike Caplinger, Rice
  1933.   
  1934.   ==========================================================================
  1935.   /* TMS34020 */
  1936.  
  1937.   Here is the TMS34020 (graphics coprocessor) source code for the Merry
  1938.   Christmas program.
  1939.  
  1940.   "Michael S. A. Robb" <michaelr@spider.co.uk> -- December, 1992
  1941.   
  1942.   ; +---------------------------------------------------------------------+
  1943.   ; | Subroutine used to display a Merry Christmas message.               |
  1944.   ; +---------------------------------------------------------------------+
  1945.       .data
  1946.   message:
  1947.       .byte    "Merry Christmas",0
  1948.   
  1949.       .text
  1950.   
  1951.   main:    mmtm    SP,A0,A1,A2,A3,A4    ; Save registers
  1952.       setf    8,0,0            ; Field size 0 = 8 bits    
  1953.       movi    message,A0        ; Message to be displayed    
  1954.       movk    15,A1            ; Number of lines to display    
  1955.   
  1956.   dsp_lp: move    A0,A2            ; Copy start of message     
  1957.       movk    15,A4            ; Length of message    
  1958.   
  1959.   msg_lp: move    *A2+,A3            ; Read byte
  1960.       callr    put_byte        ; Write byte    
  1961.       dsjs     A4,msg_lp        ; Do the next character    
  1962.       dsjs    A1,dsp_lp        ; Do the next line
  1963.   
  1964.       mmfm    SP,A0,A1,A2,A3,A4     ; Restore registers    
  1965.       rets
  1966.     
  1967.   ========================================================================
  1968.   
  1969.   /* Turing */
  1970.   
  1971.   ------
  1972.   for : 1 .. 15
  1973.       put "Merry Christmas"
  1974.   end for
  1975.   ------
  1976.   
  1977.   Stephen Perelgut    Computer Systems Research Group    University of Toronto
  1978.           Usenet:    {linus, ihnp4, allegra, decvax, floyd}!utcsrgv!perelgut
  1979.   
  1980.   ==========================================================================
  1981.   
  1982.   /* UL */
  1983.   
  1984.   Here's one you probably wouldn't expect to get. It is Model204 User Language
  1985.   (UL is a query/programming language for the M204 database system that
  1986.   runs on IBM mainframes).
  1987.   
  1988.   BEGIN
  1989.   %A IF FIXED DP 0
  1990.   1. FOR %A FROM 1 TO 15
  1991.      PRINT 'MERRY CHRISTMAS'
  1992.   2. END
  1993.   
  1994.   That's it!
  1995.                   Mickey Levine
  1996.                   decvax!cca!mickey
  1997.   
  1998.   ==========================================================================
  1999.   
  2000.   /* UNIX shell script */
  2001.   
  2002.   echo "Merry Christmas" | sed -e 's/./Merry Christmas%/g' | tr % '\012'
  2003.   
  2004.                            Ben Hyde Intermetrics Inc.
  2005.   
  2006.   ==========================================================================
  2007.   
  2008.   /* Unix shell script (Bourne) */
  2009.   
  2010.   COUNT=0
  2011.   while test $COUNT -lt 15
  2012.   do
  2013.       echo "Merry Christmas."
  2014.       COUNT=`expr $COUNT + 1`
  2015.   done
  2016.   
  2017.               Ta!
  2018.   
  2019.               Dave Ihnat
  2020.               ihuxx!ignatz
  2021.   
  2022.   ==========================================================================
  2023.   
  2024.   /* VALGOL */
  2025.   
  2026.   I didn't look closely, but I didn't see a submission in VALGOL.  Here is an
  2027.   attempt, but I can't vouch for its correctness, since I don't know any valley
  2028.   girls.  After all, I live in Washington, not California, and we're a little
  2029.   behind the times up here.
  2030.   
  2031.   Like, gag me with a Merry Christmas!
  2032.   No Way! Merry Christmas!
  2033.   Like, so totally Merry Christmas!
  2034.   Barf me out with a Merry Christmas!
  2035.   So gross! Merry Christmas!
  2036.   
  2037.   
  2038.   I realize this is only five times, not fifteen, but you can multiprocess in
  2039.   VALGOL.  Just get three valley girls and execute the above on each one.
  2040.   
  2041.               From: seismo!cornell!uw-beaver!ssc-vax!fluke!witters
  2042.   
  2043.   ==========================================================================
  2044.   
  2045.   /* VAX MACRO */
  2046.   (VMS flavour...snicker)
  2047.   
  2048.   ;
  2049.   text:    .ascii    "Merry Christmas"    ; output text
  2050.       .byte    13,10            ; carriage control
  2051.       tlen     = . - text        ; text length
  2052.   tty:    .ascid    "TT:"            ; logical name of current terminal
  2053.   chan:    .blkw    1            ; storage for IO channel number
  2054.   
  2055.       .entry xmas,^M<r10>
  2056.       $ASSIGN_S    devnam=tty,chan=chan        ;get channel to terminal
  2057.       movl        #1,r10                ;initialize loop
  2058.   loop:    $QIOW_S        chan=chan,func=#IO$_WRITELBLK,- ;dump the message
  2059.               P1=text,P2=#tlen
  2060.       aobleq        #15,r10,loop            ;15 times
  2061.       ret
  2062.       .end xmas
  2063.   
  2064.           From: seismo!decvax!microsof!ubc-vision!mprvaxa!tbray
  2065.   
  2066.   ==========================================================================
  2067.   
  2068.   /* Xerox Data Systems Metasymbol Assembler */    
  2069.   
  2070.            system       sig9
  2071.            system       bpm
  2072.            csect        1
  2073.   message  text         'Merry Christmas'
  2074.            ref          m:lo
  2075.   start    equ,0        $
  2076.            li,7         15
  2077.   loop     equ,0        $
  2078.            m:write      m:lo,(buf,message),(size,15)
  2079.            bdr,7        loop
  2080.            m:exit      
  2081.            end          start
  2082.     
  2083.    
  2084.                                      Jon Bertoni
  2085.   
  2086.   ==========================================================================
  2087.   
  2088.   /*  XPL version.  (Defined in book "A Compiler Generator".)  */
  2089.   
  2090.   dcl i fixed;
  2091.   
  2092.   do i = 1 to 15;
  2093.   
  2094.        output = 'Merry Christmas';
  2095.   
  2096.   end;
  2097.   
  2098.             --  chip elliott     ...decvax!dartvax!chip
  2099.   
  2100.   ==========================================================================
  2101.   -- 
  2102.   
  2103.                       Don Davis
  2104.                       JHU/APL
  2105.                   ...decvax!harpo!seismo!umcp-cs!aplvax!ded
  2106.                   ...rlgvax!cvl!umcp-cs!aplvax!ded
  2107.   
  2108.   
  2109.   Posting-number: Volume 3, Issue 80
  2110.   Submitted-by: "Peter da Silva" <peter@sugar.UUCP>
  2111.   Archive-name: more-xmas
  2112.   
  2113.   [Introducing the major motion picture:  THE CHRISTMAS THAT WOULDN'T DIE!  Now
  2114.   showing at theaters near you!!!  ;-)  ++bsa]
  2115.   
  2116.   Ratfor (from the book, with the DEC F4P Fortran):
  2117.   
  2118.       do(i=1,15) type *, 'Merry Christmas'
  2119.       end
  2120.   
  2121.   Ratforth (AKA Fifth, a language I hacked up to make Forth less ugly):
  2122.   
  2123.       define christmas { 
  2124.           do(15,0) { 
  2125.               type(count("Merry Christmas"));
  2126.               CR;
  2127.           }
  2128.       }
  2129.   
  2130.   This produces, by the way:
  2131.   
  2132.       : christmas 15 0 do " Merry Christmas" count type CR ;
  2133.   
  2134.   AREXX:
  2135.   
  2136.       /* Say Merry Christmas 15 times */
  2137.       do i=1 to 15
  2138.           say 'Merry Christmas'
  2139.           end i
  2140.   ==
  2141.   
  2142.   Bob (bobk@gibdo.engr.washington.edu)           Seattle, Washington
  2143.  
  2144.