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

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