home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / snobol4 / vsnobol4.arc / SNOBOL4.DOC < prev    next >
Text File  |  1987-12-04  |  41KB  |  1,057 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                              MORE INFORMATION ON SNOBOL4
  9.  
  10.             Vanilla SNOBOL4 may be as far as your interest in SNOBOL4 goes.
  11.           We've tried to make it a useful entity in its own right -- some-
  12.           thing you can use for file reformatting jobs and quick utilities.
  13.           That's fine -- we hope you like it and find it useful.
  14.  
  15.             But someone once said that SNOBOL4 patterns were like potato
  16.           chips; it's hard to stop with just one.  If you find that's true,
  17.           you'll want to know about other materials related to the SNOBOL4
  18.           language.
  19.  
  20.             This file, SNOBOL4.DOC, contains information on SNOBOL4 books
  21.           in print -- from beginner to advanced.  Because the richness of
  22.           the SNOBOL4 language provides so many different ways to attack a
  23.           problem, these books are especially useful -- every author seems
  24.           to bring a different perspective to the language.
  25.  
  26.             We've also included a description of SNOBOL4+, our $95 profes-
  27.           sional SNOBOL4 product.  Its many extra features provide added
  28.           convenience in the PC environment and facilities to tackle large
  29.           problems, as well as a printed manual.
  30.  
  31.             There's also a section describing other products we manufacture
  32.           or distribute that are useful for non-numeric applications.
  33.  
  34.             Since many SNOBOL4 users are in the humanities field, we've in-
  35.           cluded a list of textual materials that we have accumulated and
  36.           are now making available.
  37.  
  38.             For the true SNOBOL4 addict, we've designed an outrageous,
  39.           6-color SNOBOL4 T-shirt to proclaim that you're an iconoclast who
  40.           knows how to solve problems quickly, easily and efficiently.
  41.           We've priced the shirts at a very reasonable $8.95 -- less than a
  42.           box of disks and far more attractive.  These shirts are mighty
  43.           sharp.  You might want to order two in case your spouse or best
  44.           friend makes off with yours.
  45.  
  46.             Finally, if any of this whets your appetite, there's an order
  47.           form with current prices and ordering information.
  48.  
  49.                                  Welcome to SNOBOL4!
  50.  
  51.  
  52.             CATSPAW, INC.   P.O. BOX 1123   SALIDA, COLORADO 81201   USA
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.        SNOBOL4.DOC (V1)                - 1 -                    Catspaw, Inc.
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                                   SNOBOL4 BOOKS...
  74.  
  75.  
  76.           Algorithms in SNOBOL4
  77.           ---------------------
  78.  
  79.             James F. Gimpel.  Originally published in 1976; republished in
  80.           1986 by Catspaw. ISBN 0-939793-00-8, paper ($24.95).  ISBN 0-
  81.           939793-01-6, hardcover ($34.95).  500 pages.  A diskette with all
  82.           the book's functions and programs is available separately.
  83.  
  84.             This is the famous "Orange Book" which provides powerful ways
  85.           to process text and strings with SNOBOL4.  It explains how to
  86.           process lists, convert files, format text, generate poetry, pro-
  87.           totype a compiler, and play poker -- and that's just a start.  No
  88.           matter what you do with SNOBOL4, you'll find functions and tech-
  89.           niques here that will not only save you time, but amaze you with
  90.           their ingenuity.
  91.  
  92.             Gimpel writes functions so that they can be plugged into your
  93.           programs, which makes the diskette a valuable, and immediately
  94.           useful, addition to your programming library.
  95.  
  96.             Chapters are: Preliminaries; Conversions; Basic String Func-
  97.           tions; Basic List Processing; Pattern Theory; Pattern Matching
  98.           Implementation; Pattern Construction; Input/Output; Paragraph
  99.           Formatting; Implementation and Timing; Permutations; Sorting;
  100.           Function Functions; Numbers; Stochastic Strings; Games; Assem-
  101.           blers, Compilers and Macros; Solution to Odd-Numbered Exercises;
  102.           Appendix; Index.
  103.  
  104.  
  105.           SNOBOL Programming for the Humanities
  106.           -------------------------------------
  107.  
  108.             Susan Hockey.  Clarendon Press, Oxford, 1985.  ISBN 0-19-
  109.           824676-5, paperback ($16.00).  178 pages.  Comes with "SNOBOL4
  110.           for English Majors: The Catspaw Baedecker."
  111.  
  112.             When asked what is the best introductory text for people whose
  113.           background is in the humanities, rather than the computer sci-
  114.           ences, we recommend this one.  Hockey begins with a simple expla-
  115.           nation of SNOBOL4 syntax, and works through exercises with both
  116.           text and data files, progressing to concordances, frequency
  117.           counts, list processing, and data validation.  There are answers
  118.           in the back.
  119.  
  120.             Her book is aimed at users with terminals and mainframes,
  121.           rather than personal computers.  We've put together our
  122.           "Baedecker," aimed at complete beginners.  It integrates her book
  123.           with the appropriate sections of the Catspaw tutorial and refer-
  124.           ence manual; our goal is to make it easier to learn and use
  125.           SNOBOL4 if you're doing it at home in your spare time, without a
  126.           teacher or expert at hand.
  127.  
  128.  
  129.  
  130.        SNOBOL4.DOC (V1)                - 2 -                    Catspaw, Inc.
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.           Computers in Linguistics
  140.           ------------------------
  141.  
  142.             Christopher Butler.  Basil Blackwell Ltd., Oxford, 1985.  ISBN
  143.           0-631-14267, paperback ($15).  270 pages.
  144.  
  145.             Although the title is general, most of the book is specifically
  146.           devoted to SNOBOL4 and its use in literary and linguistic comput-
  147.           ing -- specialized indices, for instance, or semantic analysis.
  148.  
  149.             Butler provides a clear SNOBOL4 tutorial, aimed at non-program-
  150.           mers, so that the reader "should attain a level of competence
  151.           which will allow him to write programs for his own purposes, so
  152.           making him much less dependent on the availability of package
  153.           programs or under-employed professional programmers."
  154.  
  155.             There are answers to the exercises, along with a comprehensive
  156.           bibliography, in this fine introductory text.  Note, though, that
  157.           it presumes an environment of mainframes and terminals, rather
  158.           than personal desktop machines.
  159.  
  160.  
  161.           A SNOBOL4 Primer
  162.           ----------------
  163.  
  164.             Ralph and Madge Griswold.  Prentice-Hall, 1973.  ISBN 0-13-
  165.           815381-7, paperback ($26.50).  192 pages.
  166.  
  167.             A beginner's introduction to SNOBOL4 for readers with no pro-
  168.           gramming or technical background.  As a programming guide for
  169.           humanities researchers, it predates the books by Hockey and But-
  170.           ler by more than a decade.
  171.  
  172.             Chapters cover an introduction to computers, the basics of
  173.           SNOBOL4, data types, pattern matching, user-defined functions,
  174.           arrays and tables, input/output, and programming techniques.  An
  175.           excellent chapter on debugging concludes the volume.  There are
  176.           numerous exercises (with solutions provided) and a comprehensive
  177.           glossary.
  178.  
  179.             Use this volume to complete your SNOBOL4 collection, or to get
  180.           ideas for teaching SNOBOL4 to beginners.
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.        SNOBOL4.DOC (V1)                - 3 -                    Catspaw, Inc.
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.           The Programmer's Introduction to SNOBOL
  206.           ---------------------------------------
  207.  
  208.             W. Douglas Maurer.  Elsevier, 1976.  ISBN 0-444-00172-7, paper-
  209.           back ($24.50).  141 pages.
  210.  
  211.             This book is for people who already program in other languages,
  212.           but want to enjoy programming by taking up SNOBOL4.  It's a slim
  213.           book, but covers a lot of territory, with exercises and answers
  214.           in the back.
  215.  
  216.             Chapters cover elementary SNOBOL features, pattern-matching,
  217.           associative programming, pattern properties, advanced topics, and
  218.           systems programming.
  219.  
  220.             You might know someone who's already competent with computers
  221.           and proficient in one or more other languages.  Your colleague is
  222.           always in a foul humor because he has to keep track of memory al-
  223.           location and variable types every time he writes a program.  This
  224.           book offers a good, and fast, way to get your colleague up and
  225.           running with SNOBOL4, thus improving the workplace environment.
  226.  
  227.  
  228.           The SNOBOL4 Programming Language, 2nd Edition
  229.           ---------------------------------------------
  230.  
  231.             R.E. Griswold, J.F. Poage, and I.P. Polonsky.  Prentice-Hall,
  232.           1971.  ISBN 0-13-815373-6, paperback ($30).  256 pages.
  233.  
  234.             This is the well-known "Green Book," and it is the standard
  235.           reference work on SNOBOL4.  Written by the creators of the lan-
  236.           guage, this book provides its definition.
  237.  
  238.             The Green Book presumes that SNOBOL4 is running on a mainframe
  239.           in fashion 15 years ago, and thus it is somewhat dated, with ref-
  240.           erences to card punches and readers.
  241.  
  242.             If that's where most of your experience lies, though, you may
  243.           be more comfortable with their approach, and their use of illus-
  244.           trated bead diagrams to explain pattern-matching: think of the
  245.           scanner as a needle, and the patterns as beads which may or may
  246.           not be in line to be threaded.
  247.  
  248.             There are no practice exercises, but the authors present many
  249.           algorithms, as well as six sample programs.
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.        SNOBOL4.DOC (V1)                - 4 -                    Catspaw, Inc.
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.           The Macro Implementation of SNOBOL4
  272.           -----------------------------------
  273.  
  274.             Ralph Griswold.  W. H. Freeman, 1972.  ISBN 0-7167-0447-1,
  275.           hardcover ($36.50).  324 pages.  A diskette with the SNOBOL4
  276.           macro source code is available separately.
  277.  
  278.             If you've ever wondered how the SNOBOL4 system does some of its
  279.           seemingly impossible things, then this is the book for you.  From
  280.           compilation to execution, pattern matching to storage regenera-
  281.           tion, the inner workings of the Macro Implementation of SNOBOL4
  282.           are thoroughly described.  Over 100 figures detail the system or-
  283.           ganization and clever storage techniques employed.
  284.  
  285.             Chapters: Background; Language Features; Factors Affecting the
  286.           Implementation; Structure of the SNOBOL4 System; Data Representa-
  287.           tion; Interpretation; Translation; Implementation of Representa-
  288.           tive Features; Storage Management; The Macro Language; Implemen-
  289.           tation of SIL on Two Machines; History of the SNOBOL4 Project;
  290.           Evaluation of the Results; Alternatives; Appendices.
  291.  
  292.             There are exercises with each chapter, with solutions provided
  293.           to some, making this an excellent text for a course in machine-
  294.           independent software implementation.
  295.  
  296.             This is a thoroughly readable and enjoyable text for all seri-
  297.           ous SNOBOL4 users.  Your SNOBOL4 programming will be improved by
  298.           learning how the underlying system functions.
  299.  
  300.             The diskette provides the SNOBOL4 system source code, fully
  301.           commented.  When reading the book, you now can have the actual
  302.           code at your side to consult.  Note that the nomenclature in the
  303.           book and source code is different -- a table of equivalent names
  304.           is provided with the diskette.
  305.  
  306.             This disk does NOT contain the 8086 source code for Catspaw's
  307.           Vanilla SNOBOL4 or SNOBOL4+ systems; it uses opcodes for an ab-
  308.           stract machine to describe the compiler and interpreter.  SNOBOL4
  309.           can be ported to other architectures by implementing these
  310.           opcodes for the specific target machine.  It's usually a three to
  311.           six man-month effort, depending upon the implementer's experience
  312.           and enthusiasm.
  313.  
  314.           LATE BREAKING NEWS ABOUT "THE MACRO IMPLEMENTATION OF SNOBOL4"
  315.           --------------------------------------------------------------
  316.  
  317.             October 15, 1987 -- We have just been informed by the pub-
  318.           lisher, W.H. Freeman, that they have destroyed the remaining
  319.           stock of this book.  Over 700 books destroyed -- not remaindered
  320.           to another bookseller -- but buried in a Salt Lake City landfill.
  321.  
  322.             We're outraged, because it was done without notice.  We may try
  323.           to obtain permission to make photocopies of the book, but for
  324.           now, we must withdraw the offering from our catalog.  Sorry.
  325.  
  326.  
  327.  
  328.        SNOBOL4.DOC (V1)                - 5 -                    Catspaw, Inc.
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.                    SNOBOL4+  --  THE PROFESSIONAL SNOBOL4 PACKAGE
  338.  
  339.             SNOBOL4+ is Catspaw's professional version of the SNOBOL4 pro-
  340.           gramming language.  It offers many features not found in Vanilla
  341.           SNOBOL4.  The added features make your SNOBOL4 programs even more
  342.           concise and easy to write.  Here's a partial list:
  343.  
  344.  
  345.           Additional Features
  346.           -------------------
  347.  
  348.           ASSEMBLY-LANGUAGE INTERFACE -- Create functions to extend func-
  349.           tionality beyond the SNOBOL4 environment.  You can write hardware
  350.           specific functions, interfaces to other software, or perform op-
  351.           erations that are awkward or inefficient in SNOBOL4.
  352.  
  353.           INCLUDED FILES -- Provides the inclusion of other source code
  354.           files into a program being compiled.  Include files may be
  355.           nested, simplifying the use of source code libraries.
  356.  
  357.           LARGE MEMORY -- Provides 300K bytes (if available) for user pro-
  358.           gram and data
  359.  
  360.           SYMBOLIC DEBUGGER -- A SNOBOL4 program that may be included with
  361.           the program to be debugged.  It provides tracing, breakpoints,
  362.           variable inspection and modification, and viewing of program
  363.           source lines.
  364.  
  365.  
  366.           Additional Functions
  367.           --------------------
  368.  
  369.           BACKSPACE() -- Backs up a file one record
  370.  
  371.           BREAKX() -- Provides a more flexible BREAK pattern
  372.  
  373.           ENVIRONMENT() -- Look up strings from MS-DOS environment block
  374.  
  375.           EXECUTE() -- Execute MS-DOS commands and other programs from
  376.           within a SNOBOL4 program
  377.  
  378.           LEQ, LNE, LLE, LGE, LLT -- Extends the LGT lexical comparison
  379.           function
  380.  
  381.           LOAD() -- Loads external, assembly-language functions
  382.  
  383.           PATHNAME() -- Retrieve file name from unit number
  384.  
  385.           REVERSE() -- Reverse a string
  386.  
  387.           REWIND() -- Rewinds a file to its beginning
  388.  
  389.           SUBSTR() -- Extract substring from string
  390.  
  391.  
  392.  
  393.  
  394.        SNOBOL4.DOC (V1)                - 6 -                    Catspaw, Inc.
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.           SAVE() -- Checkpoints state of system to a file for later
  404.           restoration, or distribution with run-time module
  405.  
  406.           SEEK(), TELL(), TRUNCATE() -- Support for random-access files
  407.  
  408.           SETBREAK() -- Provides user control of Control-C key
  409.  
  410.           SORT(), RSORT() -- Built-in Shell sort for tables and arrays
  411.  
  412.  
  413.           Enhanced I/O
  414.           ------------
  415.  
  416.           BINARY I/O -- Raw file I/O without interpretation of ASCII con-
  417.           trol characters.  Provides the greatest control of file contents.
  418.  
  419.           RANDOM-ACCESS -- Update existing files by opening them for both
  420.           reading and writing, with old contents preserved
  421.  
  422.           UNIX(tm) I/O -- Read or write Unix formatted records
  423.  
  424.  
  425.           Real Number Support
  426.           -------------------
  427.  
  428.           REALS -- 64-bit precision providing 15 decimal digit accuracy.
  429.           New keywords to control the precision and format of real numbers.
  430.  
  431.           80(2)87 SUPPORT -- Uses numeric co-processor if available, other-
  432.           wise a built-in software emulator is substituted automatically.
  433.  
  434.           INFINITY and NAN -- Support for infinity and NAN (Not-A-Number)
  435.           if produced by calculations.
  436.  
  437.           LN and EXP -- Built-in Logarithm and Exponential function.
  438.  
  439.  
  440.           New Command Line Options
  441.           ------------------------
  442.  
  443.           INTEGER OVERFLOW -- Provides automatic conversion from integer to
  444.           real if an arithmetic operation produces integer overflow.
  445.  
  446.           MEMORY SIZE -- Adjust SNOBOL4+'s memory usage
  447.  
  448.           NO-FAIL MODE -- Provides diagnostic checking of undetected state-
  449.           ment failure
  450.  
  451.           SAVE FILE -- Write SAVE file after compilation.  This binary ob-
  452.           ject file may be distributed with Catspaw's runtime module.
  453.  
  454.           STACK SIZE -- Adjust SNOBOL4+'s stack usage
  455.  
  456.  
  457.  
  458.  
  459.  
  460.        SNOBOL4.DOC (V1)                - 7 -                    Catspaw, Inc.
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.           Additional Operators
  470.           --------------------
  471.  
  472.           LIST SELECTION -- Provides a list of expressions that are evalu-
  473.           ated sequentially until one succeeds; it then becomes the value
  474.           of the list.  This provides an If-Then-Else control structure in
  475.           convenient expression form.  For example:
  476.              OUT = "N is " (GT(N,0) "POSITIVE", EQ(N,0) "ZERO", "NEGATIVE")
  477.  
  478.           MULTIPLE ASSIGNS -- Permits multiple assignments within a state-
  479.           ment, as in:  RESULT = A[I = I + 1] = A[I] * 5
  480.  
  481.           PATTERN MATCH -- The binary question mark operator designates
  482.           pattern matching.  It permits pattern matches to be used within
  483.           an expression, for example:  X = (SUB1 ? PAT1) (SUB2 ? PAT2) + 1
  484.  
  485.  
  486.           Program Library
  487.           ---------------
  488.  
  489.             SNOBOL4+ is accompanied by over 70 files of sample programs and
  490.           functions provide examples in the areas of text processing, pars-
  491.           ing, artificial intelligence (including ELIZA), symbolic mathe-
  492.           matics, cryptography, and data structures.
  493.  
  494.             Reading these fascinating programs will open your eyes to the
  495.           true expressive power of the language.
  496.  
  497.  
  498.           Full Documentation
  499.           ------------------
  500.  
  501.             Our professional package includes a 240-page printed manual
  502.           (with index) with tutorial and thorough reference manual.  All
  503.           features and functions of SNOBOL4+ are discussed, including the
  504.           assembly language interface.  Customers in North America also
  505.           receive a free subscription to our irregular and irreverent
  506.           newsletter, "A SNOBOL's Chance."  It provides programming tips,
  507.           news and feature articles about SNOBOL4.
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.        SNOBOL4.DOC (V1)                - 8 -                    Catspaw, Inc.
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.                              OTHER PRODUCTS FROM CATSPAW
  536.  
  537.  
  538.           SPITBOL-68K for the Motorola 68000 Family
  539.           -----------------------------------------
  540.  
  541.             With minor exceptions, SPITBOL (SPeedy ImplemenTation of
  542.           snoBOL) is upward compatible with SNOBOL4.  The limitations are
  543.           minor: standard system functions and operators may not be rede-
  544.           fined with OPSYN, and Quickscan heuristics have been eliminated.
  545.           Internally, these limitations are turned to advantage, because
  546.           when combined with very clever system coding, the result is exe-
  547.           cution times that must be experienced to be believed.
  548.  
  549.             Under license from Prof. Robert B.K. Dewar, SPITBOL's creator,
  550.           and in cooperation with Mr. Robert Goldberg (Vax and PDP-11 Spit-
  551.           bol), Catspaw has produced a version of Macro SPITBOL for the
  552.           Motorola 68000-family of processors.
  553.  
  554.             At this time (August, 1987), SPITBOL is available for 68000
  555.           machines running the Unix(tm) operating system, including the Sun
  556.           2 and Sun 3, Apollo Domain, NCR Tower 32, Convergent S series,
  557.           and AT&T 7300/3B1 (Unix PC).  To get some idea of SPITBOL's
  558.           speed, consider that SPITBOL-68K on a Sun 3/180 is 50 to 75 times
  559.           faster than SNOBOL4+ on a PC/XT.
  560.  
  561.             SPITBOL-68K is compatible with virtual memory.  We've scanned
  562.           subject strings of 1,500,000 characters on a machine with only 1
  563.           megabyte of RAM (albeit somewhat slowly because of disk
  564.           swapping).
  565.  
  566.  
  567.           SPITBOL-68K Conversions in Progress
  568.           -----------------------------------
  569.  
  570.             We have a preliminary version of Spitbol running for the Apple
  571.           Macintosh.  Release during Winter, 1987 is anticipated.  80386,
  572.           Atari, Amiga, and ports will follow.  Call or write to be placed
  573.           on our notification list.
  574.  
  575.  
  576.           Proximity Technology's PF474 "Fuzzy String Match" Short Card
  577.           ------------------------------------------------------------
  578.  
  579.             Catspaw is a registered dealer for Proximity Technology's PF474
  580.           Short Card.  Here's why we think this astounding VLSI chip de-
  581.           serves wider recognition:
  582.  
  583.             String comparisons succeed when two strings are exactly equal.
  584.           But real-world data is often incomplete or full of variant
  585.           spellings and typographical errors.  Imagine being able to pro-
  586.           ____________________
  587.  
  588.             (tm) Unix is a registered trademark of AT&T
  589.  
  590.  
  591.  
  592.        SNOBOL4.DOC (V1)                - 9 -                    Catspaw, Inc.
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.           vide two strings to a black box, and receive a real number back
  602.           in the range 0.0 to 1.0, as a measure of the strings' SIMILARITY.
  603.  
  604.             That's exactly what the PF474 device does, and does quickly.
  605.           As provided on a PC-compatible short-slot card, the PF474 can
  606.           compare thousands of strings per second, depending upon string
  607.           length.  Sample throughput: 109,000 4-character strings per sec-
  608.           ond, 55,000 10-character strings, and 10,000 60-character
  609.           strings.
  610.  
  611.             In addition to providing a similarity measure for each compari-
  612.           son, the PF474 maintains a ranked list of the 16 best matches.
  613.           This makes it ideal for linear data base searches with an approx-
  614.           imate (or misspelled) key.  Using our interface software, you can
  615.           also "slide" a query string along an arbitrarily long subject,
  616.           finding the best match points, making it ideal for DNA sequence
  617.           scanning.
  618.  
  619.             The PF474 board is packaged with Friendly Finder -- an off-the-
  620.           shelf application from Proximity Technology that provides menu-
  621.           driven scanning of dBase and ASCII data bases.  Also included is
  622.           a developer's toolkit of C and assembly-language routines to ac-
  623.           cess the chip.
  624.  
  625.             When the Proximity Board is purchased from Catspaw, we include,
  626.           at no additional cost, a set of SNOBOL4+ interface routines that
  627.           allow string and file scanning.  It's a potent combination.
  628.  
  629.             Many users augment their systems with 8087 or 80287 chips to
  630.           speed-up numerical calculations.  If your problem domain is tex-
  631.           tual, and the data inexact, why not add a "textual" speed-up
  632.           device instead?
  633.  
  634.  
  635.           The Rebus Programming Language
  636.           ------------------------------
  637.  
  638.             Rebus is a language that provides modern control structures for
  639.           SNOBOL4.  It combines features of Icon and SNOBOL4, giving you
  640.           some of the control structures and syntax of Icon with the pat-
  641.           tern-matching power of SNOBOL4.  Rebus is actually a preprocessor
  642.           that accepts Rebus code and outputs SNOBOL4 code, which in turn
  643.           runs under SNOBOL4+.
  644.  
  645.             Catspaw offers a diskette that contains the Rebus preprocessor
  646.           and documentation.  It is still in its experimental stages, so
  647.           this is not a polished product.  Since Rebus produces SNOBOL4+
  648.           code, you must have SNOBOL4+ to use Rebus.  By way of example,
  649.           here's the standard word frequency program in Rebus:
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.        SNOBOL4.DOC (V1)                - 10 -                   Catspaw, Inc.
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.                function main()
  668.                     letter := &lcase || &ucase
  669.                     wpat := break(letter) & span(letter) . word
  670.                     count := table()
  671.                     while text := input do
  672.                          while text ?- wpat do
  673.                               count[word] +:= 1
  674.                     if result := sort(count) then {
  675.                          output := "Word counts"
  676.                          I := 0
  677.                          Repeat output := result[i +:= 1,1] || " - "
  678.                                    || result[i,2]
  679.                          }
  680.                     else output := "There are no words."
  681.                end
  682.  
  683.  
  684.           Btrieve(tm) Database System Interface
  685.           -------------------------------------
  686.  
  687.             The standard for file management on MS-DOS machines is Btrieve
  688.           from SoftCraft, Inc.  Btrieve has been integrated with several
  689.           other programming languages, and Catspaw offers an interface to
  690.           SNOBOL4+.
  691.  
  692.             Our package allows you to call Btrieve functions from inside a
  693.           SNOBOL4+ program.  Btrieve specializes in finding and updating
  694.           database records (fixed and variable length) in a hurry with its
  695.           tree file structure and indexing system.  You can use Btrieve to
  696.           fetch the data you want, and SNOBOL4+ to work with it.
  697.  
  698.             Note that the interface does not include Btrieve, which comes
  699.           from SoftCraft, P.O. Box 9802, Austin, Texas 78766, 512-346-8380.
  700.  
  701.  
  702.           Artificial Intelligence in SNOBOL4
  703.           ----------------------------------
  704.  
  705.             SNOBOL4's backtrack searching, recursive abilities, and first-
  706.           class data objects make it suitable for AI applications.  In
  707.           fact, it is easy to implement LISP in SNOBOL4.
  708.  
  709.             We've taken a superb, but difficult to obtain report -- Michael
  710.           Shafto's "Artificial Intelligence Programming in SNOBOL4" -- and
  711.           placed it on diskette.  We've also included all of Shafto's
  712.           demonstration programs and his SNOLISPIST function library .
  713.           These list processing functions, written in SNOBOL4, simplify the
  714.           task of converting LISP programs into SNOBOL4.
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.        SNOBOL4.DOC (V1)                - 11 -                   Catspaw, Inc.
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.                                   TEXTUAL MATERIAL
  734.  
  735.             To accompany all of these wonderful text analysis tools, we've
  736.           assembled interesting and useful text files.
  737.  
  738.  
  739.           Common Word List
  740.           ----------------
  741.  
  742.             Ed Quillen, editor of "A SNOBOL's Chance," is a prolific
  743.           writer.  We've taken a 330,000 word corpus, spanning a collection
  744.           of his newspaper columns and books, and produced a word frequency
  745.           list.  After editing, we had 16,500 unique words left, with num-
  746.           bers indicating each word's relative frequency.
  747.  
  748.             Two files are provided: an alphabetic sort and a frequency
  749.           sort.  The lists are undoubtedly influenced by genre, but if
  750.           you've been looking for a few thousand common words that can be
  751.           held in memory, this is it.
  752.  
  753.  
  754.           Webster's Second Dictionary Word List
  755.           -------------------------------------
  756.  
  757.             Three lists are provided.  The main list contains over 230,000
  758.           words, in alphabetic order.  A second list contains 76,000 com-
  759.           pound words.  A third list is derived from the first -- all the
  760.           words sorted in reverse order.  That is, sorted by last letter
  761.           first, so a section of the "E" list looks like this:
  762.  
  763.                 . . .
  764.                derange
  765.                grange
  766.                omnirange
  767.                enrange
  768.                orange
  769.                sporange
  770.                megasporange
  771.                 . . .
  772.  
  773.             The dictionary lists have been compressed onto eight 360K
  774.           floppy disks.  Each list contains individual letter files, such
  775.           that each letter file may be expanded to another floppy disk (for
  776.           users without hard disk systems).  There are 2.5 megabytes of
  777.           data (compressed), yielding 6.5 megabytes (uncompressed).
  778.  
  779.  
  780.           The King James Bible
  781.           --------------------
  782.  
  783.             We have the entire King James version of the Bible on seven
  784.           diskettes.  There's 2 megabytes of data (compressed), which pro-
  785.           duces 4.4 megabytes when uncompressed.  The text is upper- and
  786.           lower-case, and includes chapter and verse numbers.
  787.  
  788.  
  789.  
  790.        SNOBOL4.DOC (V1)                - 12 -                   Catspaw, Inc.
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.           Shakespearean and Elizabethan Materials
  800.           ---------------------------------------
  801.  
  802.             In cooperation with Mr. Louis Ule, we can offer machine-read-
  803.           able texts of the works of William Shakespeare, anonymous Shake-
  804.           speare apocrypha, Christopher Marlowe, and miscellaneous Eliza-
  805.           bethan authors
  806.  
  807.             Texts have been standardized to American spelling, and include
  808.           everything deemed written by the author with a minimum of emenda-
  809.           tion.  For plays, stage directions and titles are included, but
  810.           there are few borrowings from the later versions.  Texts are
  811.           priced by the number of words; see the order form.  The texts are
  812.           listed here by author and word-length.
  813.  
  814.             William Shakespeare: Venus and Adonis, 9,745; Sonnets, 17,640;
  815.           Julius Caesar, 19,110; Antony and Cleopatra, 23,742; Richard II,
  816.           28,309; Henry IV Part I, 23,955; Henry V, 25,577.
  817.  
  818.             Anonymous Shakespeare Apocrypha: Henry IV, Dering manuscript,
  819.           28,618; Woodstock (missing Part I of Shakespeare's Richard II),
  820.           25,722; Richard III, 19,946; Arden of Faversham, 20,222; Famous
  821.           Victories of Henry the Fifth, 13,051; Taming of a Shrew, 12,438;
  822.           Contention of York, Lancaster Part I, 17,676; Part II, 17,803;
  823.           Leir, 21,709; King John Part I, 14,483; Part II, 9,922; Ironside,
  824.           15,769; Edward III, 19,829.
  825.  
  826.             Christopher Marlowe: Massacre at Paris, 10,353; Edward II,
  827.           21,104; Jew of Malta, 18,325; Doctor Faustus, 1616, 16,140; Doc-
  828.           tor Faustus, 1604, 11,801; Tamburlaine I, 17,831; Tamburlaine II,
  829.           18,122; Passionate Shepherd, 192; Dido, Queen of Carthage,
  830.           13,726; Ovid's Elegies, 20,248; Hero and Leander, original por-
  831.           tion, 6,316; Lucan's Pharsalia, 5,494.
  832.  
  833.             Other Elizabethan: Anonymous: Cobbler's Tale, 3,737; Gentle-
  834.           man's Tale, 7,319. Lady Mary Wroth: Pamphilia to Amphilantus,
  835.           12,730. Gervais Markham: Devoreux, 15,965. George Chapman: Addi-
  836.           tion to Hero and Leander, 14,468. Robert Green: James IV, 20,456;
  837.           Friar Bacon and Friar Bungay, 16,434. Thomas Kydd: Spanish
  838.           Tragedy, 21,355. Samuel Daniel: Rosamond, 7,108. Third Earl of
  839.           Pembroke: all poems, 7,664. Thomas Nashe: Pasquil to Marforius,
  840.           11,500; Will Summers' Last Will and Testament, 16,873; Lenten
  841.           Stuff, 27,391.
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.        SNOBOL4.DOC (V1)                - 13 -                   Catspaw, Inc.
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.                                 ORDERING INFORMATION
  866.  
  867.           Legend:
  868.             #  Diskette(s) only.  Documentation is present on the disk.
  869.  
  870.             *  Shipping charges apply.  See instructions below.
  871.  
  872.           ***** SOFTWARE *****
  873.           [ ] SNOBOL4+ for MS-DOS, with 240-page tutorial and
  874.               reference manual, 70 files of programs *        $95.00  ______
  875.           
  876.               68K-Spitbol for Unix operating system (specify):
  877.           [ ] For single user workstations *                 $495.00  ______
  878.           [ ] For central file servers *                     $995.00  ______
  879.           
  880.           [ ] 68K-Spitbol Apple Macintosh (Winter, 1987) *      call
  881.           
  882.           [ ] Rebus language diskette #                       $15.00  ______
  883.           
  884.           [ ] Btrieve/SNOBOL4+ interface *                    $50.00  ______
  885.           
  886.           [ ] SNOBOL4 T-shirts, outrageous 6-color, 100% cotton,
  887.               S(34-36), M(38-40), L(42-44), XL(46-48) *        $8.95  ______
  888.           
  889.               Program diskette for "Algorithms in SNOBOL4."
  890.               See listing under "Books."
  891.           
  892.           ***** HARDWARE *****
  893.           [ ] Proximity Technology Fuzzy Match short-slot ex-
  894.               pansion board with PF474 chip, Friendly Finder,
  895.               Clean Mail, Developer's Toolkit, SNOBOL4+
  896.               interface routines, all manuals: *             $295.00  ______
  897.           
  898.           [ ] Manuals only for above (may be credited toward
  899.               hardware purchase) *                            $15.00  ______
  900.           
  901.           ***** BOOKS *****
  902.               "Algorithms in SNOBOL4," Gimpel, 500 pages.
  903.           [ ]    Paper *                                      $24.95  ______
  904.           [ ]    Hardcover *                                  $34.95  ______
  905.           [ ]    Program diskette #                           $15.00  ______
  906.           
  907.           [ ] "Computers in Linguistics," Butler, paper,
  908.               270 pages *.                                    $15.00  ______
  909.           
  910.           [ ] "SNOBOL Programming for the Humanities," Hockey,
  911.               paper, 178 pages (includes Catspaw Baedeker) *. $16.00  ______
  912.           
  913.           [ ] "SNOBOL4 Programming Language," Griswold, Poage,
  914.               Polonsky, paper, 256 pages *.                   $30.00  ______
  915.           
  916.           [ ] "The Programmer's Introduction to SNOBOL,"
  917.               Maurer, paper, 141 pages *.                     $24.50  ______
  918.           
  919.  
  920.  
  921.  
  922.        SNOBOL4.DOC (V1)                - 14 -                   Catspaw, Inc.
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.           [ ] "A SNOBOL Primer," Griswold & Griswold,
  932.               paper, 192 pages *.                             $26.50  ------
  933.           
  934.               "The Macro Implementation of SNOBOL4,"
  935.           [ ] Griswold, hardcover, 324 pages *.            withdrawn
  936.           [ ] Diskette of Macro source code #                 $15.00  ______
  937.           
  938.               "Artificial Intelligence Programming in SNOBOL4,"
  939.               Shafto, 162 pages + programs, on diskette. #    $15.00  ______
  940.           
  941.           ***** TEXT *****
  942.           [ ] King James Bible, 7 diskette set #              $50.00  ______
  943.           
  944.           [ ] Common Word List, 16,500 common words and
  945.               their relative frequencies #                    $15.00  ______
  946.           
  947.           [ ] Webster's 2nd Dictionary word list.  Normal,
  948.               reverse-sorted, and compound words.
  949.               8 diskette set #                                $60.00  ______
  950.           
  951.           [ ] Elizabethan Texts from Louis Ule.  Specify texts
  952.               desired.  $0.60/thousand words for first 100,000
  953.               words, $0.50/thousand for next 100,000,
  954.               $0.45/thousand thereafter.  #    Minimum order  $20.00  ______
  955.           
  956.  
  957.           SHIPPING and HANDLING
  958.  
  959.             Shipping charges are based upon the number of books and book-
  960.           like items (*) purchased, subject to an overall minimum charge,
  961.           to take care of diskette-only purchases.
  962.  
  963.                             | First Item    Each additional     Minimum
  964.             Destination     |   with *           * item     shipping charge
  965.           ------------------+----------------------------------------------
  966.            Continental US   |   $2.50            $0.50            $1.00   |
  967.             (UPS ground)    |                                             |
  968.           ------------------+---------------------------------------------|
  969.            Alaska, Hawaii   |                                             |
  970.              P.R., Guam     |   $4.50            $2.00            $1.00   |
  971.           (1st class mail)  |                                             |
  972.           ------------------+---------------------------------------------|
  973.            Canada, Mexico   |   $5.00            $2.50            $1.50   |
  974.           (Air Parcel Post) |                                             |
  975.           ------------------+---------------------------------------------|
  976.           Australia, N.Z.,  |                                             |
  977.           Japan, Far East   |  $20.00           $10.00            $5.00   |
  978.           (Air Parcel Post) |                                             |
  979.           ------------------+---------------------------------------------|
  980.           Europe, U.K., all |                                             |
  981.           other countries   |  $15.00            $6.50            $5.00   |
  982.           (Air Parcel Post) |                                             |
  983.           -----------------------------------------------------------------
  984.           
  985.  
  986.  
  987.  
  988.        SNOBOL4.DOC (V1)                - 15 -                   Catspaw, Inc.
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.           PRICES
  998.  
  999.             Publishers occasionally change the price of the books we stock.
  1000.           So the usual caveat applies:  Prices subject to change without
  1001.           notice.  Price reductions will be passed along, too.
  1002.  
  1003.  
  1004.           PAYMENT
  1005.  
  1006.             Payment may be by check, money order, MasterCharge, Visa or
  1007.           American Express credit cards.  Checks and money orders MUST be
  1008.           in U.S. funds drawn on a U.S. bank; neither we nor any nearby
  1009.           financial institutions are equipped to process international
  1010.           currency transactions (checks MUST have US Federal Reserve coding
  1011.           numbers).  Foreign customers will find credit cards the simplest
  1012.           method of transferring funds.
  1013.  
  1014.  
  1015.           TO ORDER
  1016.  
  1017.             To order direct, call 303-539-3884 (9 am - 5 pm, Mountain Time,
  1018.           Mon - Fri).  After March 5, 1988, the area code changes from 303
  1019.           to 719.  Or complete this form and mail to:
  1020.  
  1021.                                     Catspaw, Inc.
  1022.                                     P.O. Box 1123
  1023.                                Salida, Colorado 81201
  1024.                                        U.S.A.
  1025.  
  1026.                               Subtotal for desired items:  _________
  1027.           
  1028.                      Colorado residents add 3% state tax:  _________
  1029.           
  1030.                                                 Shipping:  _________
  1031.           
  1032.                                    Total Amount Enclosed:  _________
  1033.           
  1034.           
  1035.           
  1036.           Name _______________________________________Title _______________
  1037.           Address _________________________________________________________
  1038.                   _________________________________________________________
  1039.           City _______________________________________State _______________
  1040.           Zip _____________Phone(   )_________________(Country)____________
  1041.           
  1042.           Payment:  [ ] Check or Money Order    [ ] American Express
  1043.                     [ ] MasterCard              [ ] Visa
  1044.  
  1045.                           __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
  1046.           Account Number |__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|
  1047.           
  1048.           Signature _______________________________Exp. Date____________
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.        SNOBOL4.DOC (V1)                - 16 -                   Catspaw, Inc.
  1055.  
  1056.  
  1057.