home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / v / vsnbl220.zip / SNOBOL4.DOC < prev    next >
Text File  |  1991-11-01  |  33KB  |  822 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                              MORE INFORMATION ON SNOBOL4
  7.  
  8.             Vanilla SNOBOL4 may be as far as your interest in SNOBOL4 goes.
  9.           We've included a language tutorial manual on the disk so you can
  10.           learn how to program in SNOBOL4.  We've tried to make Vanilla
  11.           SNOBOL4 a useful entity in its own right -- something you can use
  12.           for file reformatting jobs and quick utilities.  That's fine --
  13.           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 descriptions of SNOBOL4+ and SPITBOL, our
  27.           professional SNOBOL4 products.  Their many extra features allow
  28.           you to tackle large problems, and SPITBOL runs 6 to 10 times
  29.           faster than SNOBOL4.  All include printed manuals.
  30.  
  31.             There's also a section describing other products we manufacture
  32.           or distribute that are useful for non-numeric applications.
  33.  
  34.             For the true SNOBOL4 addict, we've designed an outrageous,
  35.           6-color SNOBOL4 T-shirt to proclaim that you're an iconoclast who
  36.           knows how to solve problems quickly, easily and efficiently.
  37.           We've priced the shirts at a very reasonable $10.95 -- less 
  38.       than a box of disks and far more attractive.  You might want 
  39.       to order two in case your spouse or best friend makes off 
  40.       with yours.
  41.  
  42.             Finally, if any of this whets your appetite, there's an order
  43.           form with current prices and ordering information.
  44.  
  45.                                  Welcome to SNOBOL4!
  46.  
  47.  
  48.             CATSPAW, INC.   P.O. BOX 1123   SALIDA, COLORADO 81201   USA
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.        SNOBOL4.DOC (V1.7)              - 1 -                 November 1, 1991
  66.  
  67.  
  68.  
  69.                                   SNOBOL4 BOOKS...
  70.  
  71.  
  72.           Algorithms in SNOBOL4
  73.           ---------------------
  74.  
  75.             James F. Gimpel.  Originally published in 1976; republished in
  76.           1986 by Catspaw. ISBN 0-939793-00-8, paper.  ISBN 0-939793-01-6,
  77.           hardcover.  500 pages.  A diskette with all the book's functions
  78.           and programs is available separately.
  79.  
  80.             This is the famous "Orange Book" which provides powerful ways
  81.           to process text and strings with SNOBOL4.  It explains how to
  82.           process lists, convert files, format text, generate poetry, pro-
  83.           totype a compiler, and play poker -- and that's just a start.  No
  84.           matter what you do with SNOBOL4, you'll find functions and tech-
  85.           niques here that will not only save you time, but amaze you with
  86.           their ingenuity.
  87.  
  88.             Gimpel writes functions so that they can be plugged into your
  89.           programs, which makes the diskette a valuable, and immediately
  90.           useful, addition to your programming library.
  91.  
  92.             Chapters are: Preliminaries; Conversions; Basic String Func-
  93.           tions; Basic List Processing; Pattern Theory; Pattern Matching
  94.           Implementation; Pattern Construction; Input/Output; Paragraph
  95.           Formatting; Implementation and Timing; Permutations; Sorting;
  96.           Function Functions; Numbers; Stochastic Strings; Games; Assem-
  97.           blers, Compilers and Macros; Solution to Odd-Numbered Exercises;
  98.           Appendix; Index.
  99.  
  100.  
  101.           SNOBOL Programming for the Humanities
  102.           -------------------------------------
  103.  
  104.             Susan Hockey.  Clarendon Press, Oxford, 1985.  ISBN 0-19-
  105.           824676-5, paperback.  178 pages.
  106.  
  107.             When asked what is the best introductory text for people whose
  108.           background is in the humanities, rather than the computer sci-
  109.           ences, we recommend this one.  Hockey begins with a simple expla-
  110.           nation of SNOBOL4 syntax, and works through exercises with both
  111.           text and data files, progressing to concordances, frequency
  112.           counts, list processing, and data validation.  There are answers
  113.           in the back.
  114.  
  115.  
  116.           Computers in Linguistics
  117.           ------------------------
  118.  
  119.             Christopher Butler.  Basil Blackwell Ltd., Oxford, 1985.  ISBN
  120.           0-631-14267, paperback.  270 pages.
  121.  
  122.             Although the title is general, most of the book is specifically
  123.           devoted to SNOBOL4 and its use in literary and linguistic comput-
  124.           ing -- specialized indices, for instance, or semantic analysis.
  125.  
  126.  
  127.  
  128.        SNOBOL4.DOC (V1.7)              - 2 -                 November 1, 1991
  129.  
  130.  
  131.  
  132.             Butler provides a clear SNOBOL4 tutorial, aimed at non-program-
  133.           mers, so that the reader "should attain a level of competence
  134.           which will allow him to write programs for his own purposes, so
  135.           making him much less dependent on the availability of package
  136.           programs or under-employed professional programmers."
  137.  
  138.             There are answers to the exercises, along with a comprehensive
  139.           bibliography, in this fine introductory text.  Note, though, that
  140.           it presumes an environment of mainframes and terminals, rather
  141.           than personal desktop machines.
  142.  
  143.  
  144.           A SNOBOL4 Primer
  145.           ----------------
  146.  
  147.             Ralph and Madge Griswold.  Prentice-Hall, 1973.  ISBN 0-13-
  148.           815381-7, paperback.  192 pages.
  149.  
  150.             A beginner's introduction to SNOBOL4 for readers with no pro-
  151.           gramming or technical background.  As a programming guide for
  152.           humanities researchers, it predates the books by Hockey and But-
  153.           ler by more than a decade.
  154.  
  155.             Chapters cover an introduction to computers, the basics of
  156.           SNOBOL4, data types, pattern matching, user-defined functions,
  157.           arrays and tables, input/output, and programming techniques.  An
  158.           excellent chapter on debugging concludes the volume.  There are
  159.           numerous exercises (with solutions provided) and a comprehensive
  160.           glossary.
  161.  
  162.             Use this volume to complete your SNOBOL4 collection, or to get
  163.           ideas for teaching SNOBOL4 to beginners.
  164.  
  165.  
  166.           The Programmer's Introduction to SNOBOL
  167.           ---------------------------------------
  168.  
  169.             W. Douglas Maurer.  Elsevier, 1976.  ISBN 0-444-00172-7, paper-
  170.           back.  141 pages.
  171.  
  172.             This book is for people who already program in other languages,
  173.           but want to enjoy programming by taking up SNOBOL4.  It's a slim
  174.           book, but covers a lot of territory, with exercises and answers
  175.           in the back.
  176.  
  177.             Chapters cover elementary SNOBOL features, pattern-matching,
  178.           associative programming, pattern properties, advanced topics, and
  179.           systems programming.
  180.  
  181.             You might know someone who's already competent with computers
  182.           and proficient in one or more other languages.  Your colleague is
  183.           always in a foul humor because he has to keep track of memory al-
  184.           location and variable types every time he writes a program.  This
  185.           book offers a good, and fast, way to get your colleague up and
  186.           running with SNOBOL4, thus improving the workplace environment.
  187.  
  188.  
  189.  
  190.  
  191.        SNOBOL4.DOC (V1.7)              - 3 -                 November 1, 1991
  192.  
  193.  
  194.  
  195.           The SNOBOL4 Programming Language, 2nd Edition
  196.           ---------------------------------------------
  197.  
  198.             R.E. Griswold, J.F. Poage, and I.P. Polonsky.  Prentice-Hall,
  199.           1971.  ISBN 0-13-815373-6, paperback.  256 pages.
  200.  
  201.             This is the well-known "Green Book," and it is the standard
  202.           reference work on SNOBOL4.  Written by the creators of the lan-
  203.           guage, this book provides its definition.
  204.  
  205.             The Green Book presumes that SNOBOL4 is running on a mainframe
  206.           in fashion 15 years ago, and thus it is somewhat dated, with ref-
  207.           erences to card punches and readers.
  208.  
  209.             If that's where most of your experience lies, though, you may
  210.           be more comfortable with their approach, and their use of illus-
  211.           trated bead diagrams to explain pattern-matching: think of the
  212.           scanner as a needle, and the patterns as beads which may or may
  213.           not be in line to be threaded.
  214.  
  215.             There are no practice exercises, but the authors present many
  216.           algorithms, as well as six sample programs.
  217.  
  218.  
  219.                    SNOBOL4+  --  THE PROFESSIONAL SNOBOL4 PACKAGE
  220.  
  221.             SNOBOL4+ is Catspaw's professional version of the SNOBOL4 pro-
  222.           gramming language.  It offers many features not found in Vanilla
  223.           SNOBOL4.  The added features make your SNOBOL4 programs even more
  224.           concise and easy to write.  Here's a partial list:
  225.  
  226.  
  227.           Additional Features
  228.           -------------------
  229.  
  230.           ASSEMBLY-LANGUAGE INTERFACE -- Create functions to extend func-
  231.           tionality beyond the SNOBOL4 environment.  You can write hardware
  232.           specific functions, interfaces to other software, or perform op-
  233.           erations that are awkward or inefficient in SNOBOL4.
  234.  
  235.           INCLUDED FILES -- Provides the inclusion of other source code
  236.           files into a program being compiled.  Include files may be
  237.           nested, simplifying the use of source code libraries.
  238.  
  239.           LARGE MEMORY -- Provides 300K bytes for user program and data
  240.  
  241.           ENHANCED PATTERN MATCHING -- You can "back up" during a pattern
  242.           match with a negative argument to the LEN function, while TAB and
  243.           RTAB allow you to position to the left of the current cursor
  244.           position.  A MARB pattern provides a "maximum ARB" capability.
  245.  
  246.           SYMBOLIC DEBUGGER -- A SNOBOL4 program that may be included with
  247.           the program to be debugged.  It provides tracing, breakpoints,
  248.           variable inspection and modification, and viewing of program
  249.           source lines.
  250.  
  251.  
  252.  
  253.  
  254.        SNOBOL4.DOC (V1.7)              - 4 -                 November 1, 1991
  255.  
  256.  
  257.  
  258.           Additional Functions
  259.           --------------------
  260.  
  261.           BACKSPACE() -- Backs up a file one record
  262.  
  263.           BREAKX() -- Provides a more flexible BREAK pattern
  264.  
  265.           ENVIRONMENT() -- Look up strings from MS-DOS environment block
  266.  
  267.           EXECUTE() -- Execute MS-DOS commands and other programs from
  268.           within a SNOBOL4 program
  269.  
  270.           LEQ, LNE, LLE, LGE, LLT -- Extends the LGT lexical comparison
  271.           function
  272.  
  273.           LOAD() -- Loads external, assembly-language functions
  274.  
  275.           PATHNAME() -- Retrieve file name from unit number
  276.  
  277.           REVERSE() -- Reverse a string
  278.  
  279.           REWIND() -- Rewinds a file to its beginning
  280.  
  281.           SUBSTR() -- Extract substring from string
  282.  
  283.           SAVE() -- Checkpoints state of system to a file for later
  284.           restoration, or distribution with run-time module
  285.  
  286.           SEEK(), TELL(), TRUNCATE() -- Support for random-access files
  287.  
  288.           SETBREAK() -- Provides user control of Control-C key
  289.  
  290.           SORT(), RSORT() -- Built-in Shell sort for tables and arrays
  291.  
  292.  
  293.           Enhanced I/O
  294.           ------------
  295.  
  296.           BINARY I/O -- Raw file I/O without interpretation of ASCII con-
  297.           trol characters.  Provides the greatest control of file contents.
  298.  
  299.           RANDOM-ACCESS -- Update existing files by opening them for both
  300.           reading and writing, with old contents preserved
  301.  
  302.           UNIX(tm) I/O -- Read or write Unix formatted records
  303.  
  304.  
  305.           Real Number Support
  306.           -------------------
  307.  
  308.           REALS -- 64-bit precision providing 15 decimal digit accuracy.
  309.           New keywords to control the precision and format of real numbers.
  310.  
  311.           80(2)87 SUPPORT -- Uses numeric co-processor if available, other-
  312.           wise a built-in software emulator is substituted automatically.
  313.  
  314.           INFINITY and NAN -- Support for infinity and NAN (Not-A-Number)
  315.  
  316.  
  317.        SNOBOL4.DOC (V1.7)              - 5 -                 November 1, 1991
  318.  
  319.  
  320.  
  321.           if produced by calculations.
  322.  
  323.           LN and EXP -- Built-in Logarithm and Exponential function.
  324.  
  325.  
  326.           New Command Line Options
  327.           ------------------------
  328.  
  329.           INTEGER OVERFLOW -- Provides automatic conversion from integer to
  330.           real if an arithmetic operation produces integer overflow.
  331.  
  332.           MEMORY SIZE -- Adjust SNOBOL4+'s memory usage
  333.  
  334.           NO-FAIL MODE -- Diagnosis undetected statement failure
  335.  
  336.           SAVE FILE -- Write SAVE file after compilation.  This binary ob-
  337.           ject file may be distributed with Catspaw's runtime module.
  338.  
  339.           STACK SIZE -- Adjust SNOBOL4+'s stack usage
  340.  
  341.  
  342.           Additional Operators
  343.           --------------------
  344.  
  345.           LIST SELECTION -- Provides a list of expressions that are evalu-
  346.           ated sequentially until one succeeds; it then becomes the value
  347.           of the list.  This provides an If-Then-Else control structure in
  348.           convenient expression form.  For example:
  349.              OUT = "N is " (GT(N,0) "POSITIVE", EQ(N,0) "ZERO", "NEGATIVE")
  350.  
  351.           MULTIPLE ASSIGNS -- Permits multiple assignments within a state-
  352.           ment, as in:  RESULT = A[I = I + 1] = A[I] * 5
  353.  
  354.           PATTERN MATCH -- The binary question mark operator designates
  355.           pattern matching.  It permits pattern matches to be used within
  356.           an expression, for example: X = (SUB1 ? PAT1) (SUB2 ? PAT2) + 1
  357.  
  358.  
  359.           Program Library
  360.           ---------------
  361.  
  362.             SNOBOL4+ is accompanied by over 70 files of sample programs and
  363.           functions provide examples in the areas of text processing, pars-
  364.           ing, artificial intelligence (including ELIZA), symbolic mathe-
  365.           matics, cryptography, and data structures.
  366.  
  367.             Reading these fascinating programs will open your eyes to the
  368.           true expressive power of the language.
  369.  
  370.  
  371.           Full Documentation
  372.           ------------------
  373.  
  374.             Our professional package includes a 240-page printed manual
  375.           (with index) with tutorial and thorough reference manual.  All
  376.           features and functions of SNOBOL4+ are discussed, including the
  377.           assembly language interface.
  378.  
  379.  
  380.        SNOBOL4.DOC (V1.7)              - 6 -                 November 1, 1991
  381.  
  382.  
  383.  
  384.                        SPITBOL -- THE HIGH PERFORMANCE SNOBOL4
  385.  
  386.             With minor exceptions, SPITBOL (SPeedy ImplemenTation of
  387.           snoBOL) is upward compatible with SNOBOL4.  The limitations are
  388.           minor: standard system functions and operators may not be rede-
  389.           fined with OPSYN, and Quickscan heuristics have been eliminated.
  390.           Internally, these limitations are turned to advantage, because
  391.           when combined with very clever system coding, the result is exe-
  392.           cution times that must be experienced to be believed.  When run
  393.           on the same 80386 platform, SPITBOL is typically 6 to 10 *times*
  394.       faster than SNOBOL4+.
  395.  
  396.             Under license from Prof. Robert B.K. Dewar, SPITBOL's creator,
  397.           and in cooperation with Robert Goldberg (Vax and PDP-11 SPITBOL),
  398.           Catspaw has produced versions of Macro SPITBOL for many different
  399.           hardware platforms.
  400.  
  401.  
  402.           SPITBOL-68K for the Motorola 680x0 Family
  403.           -----------------------------------------
  404.  
  405.             SPITBOL-68K is available for 680x0 machines running the Unix
  406.           operating system, including the Sun 2 and Sun 3, Apollo Domain,
  407.           NCR Tower 32, Convergent S series, AT&T 7300/3B1 (Unix PC), HP
  408.           350, WICAT, and UNISYS 5000.
  409.  
  410.             SPITBOL-68K is compatible with virtual memory.  We've scanned
  411.           strings of 1,500,000 characters on a machine with only 1 megabyte
  412.           of RAM (albeit somewhat slowly because of disk swapping).
  413.  
  414.  
  415.           MaxSPITBOL for the Apple Macintosh
  416.           ----------------------------------
  417.  
  418.             MaxSPITBOL integrates SPITBOL with the Macintosh windowed
  419.           editor environment.  It runs on the Mac Plus, SE, and Mac II, or
  420.           earlier systems that have been upgraded from the old 64K ROMS.
  421.           400K of available RAM memory is required, but MaxSPITBOL will use
  422.           all you provide.  It is MultiFinder friendly, and happily
  423.           backgrounds while you perform other work.  Includes tutorial,
  424.           reference manual, and many sample programs.  Requires System
  425.       level 6.01 or higher.  MaxSPITBOL is 32-bit clean and System 7
  426.       compatible.
  427.  
  428.  
  429.           SPITBOL-386 for MS-DOS
  430.           ----------------------
  431.  
  432.             This is a native-mode, 32-bit SPITBOL for 80386 systems under
  433.           MS-DOS incorporating a DOS extender.  Use all the memory on your
  434.           386 system for SPITBOL programs and data.  Have 32 megabytes of
  435.           RAM?  Now you can use it all. Includes tutorial, reference manual,
  436.       and sample programs.
  437.  
  438.         Two versions are included: One uses a DOS Extender from 
  439.       PharLap Software suitable for native DOS, extended or expanded 
  440.       memory and VCPI-compliant hosts such as DESQview 386.  The second 
  441.  
  442.  
  443.        SNOBOL4.DOC (V1.7)              - 7 -                 November 1, 1991
  444.  
  445.  
  446.  
  447.  
  448.       version uses a DOS Extender from Intel Corp., and works in native 
  449.       DOS, extended memory, and with DPMI hosts such as Windows 386 
  450.       Enhanced mode.  The Intel-extended version of SPITBOL is capable 
  451.       of producing stand-alone, royalty-free executable files, and can 
  452.       even run programs larger than memory, because a virtual memory 
  453.       manager is included.
  454.  
  455.  
  456.       SPITBOL-386 for OS/2 2.0
  457.       ------------------------
  458.  
  459.             This is a native-mode, 32-bit SPITBOL for 80386 systems under
  460.           IBM's OS/2 version 2.0.  It generates stand-alone, royalty-free
  461.       executables, and can load DLLs (Dynamic Link Libraries) as 
  462.       external SNOBOL4 functions.
  463.       
  464.       
  465.       SPARC SPITBOL
  466.       -------------
  467.  
  468.             Our first port to a RISC architecture, SPITBOL for the
  469.           SparcStation and Sun 4's really screams.  Our benchmarks show
  470.           SPITBOL on a SparcStation 1 to be more than twice as fast as
  471.           SPITBOL on a 25 Mhz 80386.  Like our other Unix products,
  472.           SparcSPITBOL produces stand-alone, royalty-free load modules
  473.           (a.out files).
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.        SNOBOL4.DOC (V1.7)              - 8 -                 November 1, 1991
  507.  
  508.  
  509.  
  510.                                 SNOBOL4-RELATED ITEMS
  511.  
  512.  
  513.           The Rebus Programming Language
  514.           ------------------------------
  515.  
  516.             Rebus is a language that provides modern control structures for
  517.           SNOBOL4 and SPITBOL.  It combines features of Icon and SNOBOL4,
  518.           giving you some of the control structures and syntax of Icon with
  519.           the pattern-matching power of SNOBOL4.  Rebus is actually a
  520.           preprocessor that accepts Rebus code and outputs SNOBOL4 code,
  521.           which in turn runs under SNOBOL4+ or SPITBOL.  With some
  522.           restrictions, it will even run with Vanilla SNOBOL4.
  523.  
  524.             Catspaw offers an MS-DOS diskette that contains the Rebus
  525.           preprocessor and documentation.  It is still in its experimental
  526.           stages, so this is not a polished product.  Since Rebus produces
  527.           SNOBOL4 code, you must have one of the SNOBOL4 or SPITBOL systems
  528.           to use Rebus.  By way of example, here's the standard word
  529.           frequency program in Rebus:
  530.  
  531.                function main()
  532.                     letter := &lcase || &ucase
  533.                     wpat := break(letter) & span(letter) . word
  534.                     count := table()
  535.                     while text := input do
  536.                          while text ?- wpat do
  537.                               count[word] +:= 1
  538.                     if result := sort(count) then {
  539.                          output := "Word counts"
  540.                          I := 0
  541.                          Repeat output := result[i +:= 1,1] || " - "
  542.                                    || result[i,2]
  543.                          }
  544.                     else output := "There are no words."
  545.                end
  546.  
  547.  
  548.           Btrieve(tm) Database System Interface
  549.           -------------------------------------
  550.  
  551.             The standard for file management on MS-DOS machines is Btrieve
  552.           from Novell.  Btrieve has been integrated with several other
  553.       programming languages, and Catspaw offers an interface to SNOBOL4+.
  554.  
  555.             Our package allows you to call Btrieve functions from inside a
  556.           SNOBOL4+ program.  Btrieve specializes in finding and updating
  557.           database records (fixed and variable length) in a hurry with its
  558.           tree file structure and indexing system.  You can use Btrieve to
  559.           fetch the data you want, and SNOBOL4+ to work with it.
  560.  
  561.             Note that the interface does not include Btrieve, which must
  562.           be purchased separately.
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.        SNOBOL4.DOC (V1.7)              - 9 -                 November 1, 1991
  570.  
  571.  
  572.  
  573.           Artificial Intelligence in SNOBOL4
  574.           ----------------------------------
  575.  
  576.             SNOBOL4's backtrack searching, recursive abilities, and first-
  577.           class data objects make it suitable for AI applications.  In
  578.           fact, it is easy to implement LISP in SNOBOL4.
  579.  
  580.             We've taken a superb, but difficult to obtain report -- Michael
  581.           Shafto's "Artificial Intelligence Programming in SNOBOL4" -- and
  582.           placed it on diskette.  We've also included all of Shafto's
  583.           demonstration programs and his SNOLISPIST function library .
  584.           These list processing functions, written in SNOBOL4, simplify the
  585.           task of converting LISP programs into SNOBOL4.
  586.  
  587.  
  588.                             THE ICON PROGRAMMING LANGUAGE
  589.  
  590.  
  591.           ProIcon for the Apple Macintosh
  592.           -------------------------------
  593.  
  594.             Icon is a high-level programming language with extensive facil-
  595.           ities for processing strings and lists.  Icon has several novel
  596.           features, including expressions that may produce sequences of
  597.           results, goal-directed evaluation that automatically searches for
  598.           a successful result, and string scanning that allows operations
  599.           on strings to be formulated at a high conceptual level.
  600.  
  601.             Icon emphasizes a design philosophy that allows ease of pro-
  602.           gramming and short, concise programs.  Storage allocation and
  603.           garbage collection are automatic, and there are few restrictions
  604.           on the sizes of objects.  Strings, lists, sets, and other struc-
  605.           tures are created during program execution and their size does
  606.           not need to be known when a program is written.  Values are con-
  607.           verted to expected types automatically; for example, numeral
  608.           strings read in as input can be used in numerical computations
  609.           without explicit conversion.
  610.  
  611.             Examples of the kinds of problems for which Icon is well suited
  612.           are: text analysis, editing, and formatting, document prepara-
  613.           tion, symbolic mathematics, text generation, parsing and transla-
  614.           tion, data laundry, graph manipulation, expert systems, artifi-
  615.           cial intelligence applications, and rapid prototyping.
  616.  
  617.             ProIcon, an enhanced implementation of Icon for the Apple
  618.           Macintosh, was developed jointly by Catspaw, Inc. and the Bright
  619.           Forest Company.
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.        SNOBOL4.DOC (V1.7)              - 10 -                November 1, 1991
  633.  
  634.  
  635.  
  636.                                 ORDERING INFORMATION
  637.  
  638.           Legend:
  639.             #  Diskette(s) only.  Documentation is present on the disk.
  640.  
  641.             *  Shipping charges apply.  See instructions below.
  642.  
  643.           ***** SOFTWARE *****
  644.           [ ] SNOBOL4+ for MS-DOS, with 240-page tutorial and
  645.               reference manual, 70 files of programs *       $125.00  ______
  646.  
  647.               68K-Spitbol for Unix operating system (specify):
  648.           [ ] For single-user workstations *               $1,000.00  ______
  649.           [ ] For central-file servers *                   $2,000.00  ______
  650.  
  651.           [ ] SPITBOL-386 (MS-DOS) includes DOS-Extender *   $295.00  ______
  652.  
  653.           [ ] SPITBOL-386 (OS/2 2.0) *                       $295.00  ______
  654.  
  655.           [ ] MaxSPITBOL (Apple Macintosh) *                 $195.00  ______
  656.  
  657.               Sparc, Sun 4 SPITBOL (specify):
  658.           [ ] For SparcStation 1 *                           $695.00  ______
  659.           [ ] For single-user Sun 4 workstations *         $1,000.00  ______
  660.           [ ] For central-file Sun 4 servers *             $2,000.00  ______
  661.  
  662.           [ ] ProIcon (Apple Macintosh) *                    $175.00  ______
  663.  
  664.           [ ] Rebus language diskette, MS-DOS only #          $15.00  ______
  665.  
  666.           [ ] Btrieve/SNOBOL4+ interface *                    $50.00  ______
  667.  
  668.           [ ] SNOBOL4 T-shirts, outrageous 6-color, 100% cotton,
  669.               S(34-36), M(38-40), L(42-44), XL(46-48) *       $10.95  ______
  670.  
  671.               Program diskette for "Algorithms in SNOBOL4."
  672.               See listing under "Books."
  673.  
  674.           ***** BOOKS *****
  675.               "Algorithms in SNOBOL4," Gimpel, 500 pages.
  676.           [ ]    Paper *                                      $29.95  ______
  677.           [ ]    Hardcover *                                  $39.95  ______
  678.           [ ]    Program diskette #                           $15.00  ______
  679.  
  680.           [ ] "Computers in Linguistics," Butler, paper,
  681.               270 pages *.                                    $21.95  ______
  682.  
  683.           [ ] "SNOBOL Programming for the Humanities," Hockey,
  684.               paper, 178 pages *.                             $24.95  ______
  685.  
  686.           [ ] "SNOBOL4 Programming Language," Griswold, Poage,
  687.               Polonsky, paper, 256 pages *.                   $33.40  ______
  688.  
  689.           [ ] "The Programmer's Introduction to SNOBOL,"
  690.               Maurer, paper, 141 pages *.                     $31.75  ______
  691.  
  692.  
  693.  
  694.  
  695.        SNOBOL4.DOC (V1.7)              - 11 -                November 1, 1991
  696.  
  697.  
  698.  
  699.           [ ] "A SNOBOL Primer," Griswold & Griswold,
  700.               paper, 192 pages *.                             $33.00  ------
  701.  
  702.           [ ] "Artificial Intelligence Programming in SNOBOL4,"
  703.               Shafto, 162 pages + programs, on diskette. #    $15.00  ______
  704.  
  705.           [ ] "The Macro Implementation of SNOBOL4," Griswold,
  706.           cloth, 324 pages, limited number of copies,
  707.           some have scuff marks on the cover *.           $50.00  ______
  708.  
  709.           [ ] "The ICON Programming Language," Griswold &
  710.                Griswold, 2nd ed., paper, 368 pages *.         $35.80  ______
  711.  
  712.           [ ] "The Implementation of the ICON Programming Language,"
  713.               Griswold & Griswold, hardcover, 336 pages *.    $50.00  ______
  714.  
  715.  
  716.           SHIPPING and HANDLING
  717.  
  718.             Shipping charges are based upon the number of books and book-
  719.           like items (shown with *) purchased, subject to an overall mini-
  720.           mum charge, to take care of diskette-only purchases.  Foreign
  721.           shipments are sent by insured Air Parcel Post, registered Air
  722.           Small Packet, or registered First Class Airmail.
  723.  
  724.                             | First Item    Each additional     Minimum
  725.             Destination     |   with *           * item     shipping charge
  726.           ------------------+----------------------------------------------
  727.            Continental US   |                                             |
  728.             (UPS ground)    |   $4.00            $1.00            $1.50   |
  729.           (UPS 2nd Day Air) |   $7.50            $3.50            $5.00   |
  730.           ------------------+---------------------------------------------|
  731.           Alaska, Hawaii,   |                                             |
  732.             Puerto Rico     |   $6.00            $2.00            $1.50   |
  733.           (1st class mail)  |                                             |
  734.           ------------------+---------------------------------------------|
  735.            Canada, Mexico   |  $10.00            $2.00            $2.00   |
  736.           ------------------+---------------------------------------------|
  737.            France, Japan    |  $40.00            $7.00            $5.00   |
  738.           ------------------+---------------------------------------------|
  739.           Australia, N.Z.,  |  $35.00            $5.00            $5.00   |
  740.           South America,Far |                                             |
  741.           East (exc. Japan) |                                             |
  742.           -----------------------------------------------------------------
  743.           UK, Europe (exc.  |                                             |
  744.             France), all    |  $30.00            $5.00            $5.00   |
  745.           other countries   |                                             |
  746.           ------------------+---------------------------------------------|
  747.  
  748.           PRICES
  749.  
  750.             Publishers regularly raise the price of the books we stock,
  751.           typically 5-10% every 6 months.  We try to hold the line on items
  752.           we produce.  So the usual caveat applies:  Prices subject to
  753.           change without notice.  Prices on this price list are guaranteed
  754.       through December 31, 1991 only.  If ordering after this date,
  755.       please contact Catspaw for current price information.
  756.  
  757.  
  758.        SNOBOL4.DOC (V1.7)              - 12 -                November 1, 1991
  759.  
  760.  
  761.  
  762.           PAYMENT
  763.  
  764.             Payment may be by check, money order, MasterCharge, Visa or
  765.           American Express credit cards.  Checks and money orders MUST be
  766.           in U.S. funds drawn on a U.S. bank; neither we nor any nearby
  767.           financial institutions are equipped to process international
  768.           currency transactions (checks MUST have US Federal Reserve coding
  769.           numbers--in the past it has cost us $25-$40 to cash a check
  770.           lacking these numbers, and we no longer can do that).  Non-U.S.
  771.           customers will find credit cards or international postal money
  772.       orders to be the simplest method of transferring funds.
  773.  
  774.  
  775.           TO ORDER
  776.  
  777.             To order direct, or for additional information, call
  778.       719-539-3884 (9 a.m. - 5 pm, Mountain Time, GMT - 7 hours,
  779.           Monday - Friday), or FAX 719-539-4830.  Or complete this form
  780.       and mail to:
  781.  
  782.                                     Catspaw, Inc.
  783.                                     P.O. Box 1123
  784.                                Salida, Colorado 81201
  785.                                        U.S.A.
  786.  
  787.                               Subtotal for desired items:  _________
  788.  
  789.                      Colorado residents add 3% state tax:  _________
  790.  
  791.                                                 Shipping:  _________
  792.           (Domestic U.S. specify UPS ground or 2 day air)
  793.                                    Total Amount Enclosed:  _________
  794.  
  795.  
  796.  
  797.           Name _______________________________________Title _______________
  798.           Address _________________________________________________________
  799.                   _________________________________________________________
  800.           City _______________________________________State _______________
  801.           Zip _____________Phone(   )_________________(Country)____________
  802.  
  803.           Specify media: [ ] 5-1/4" MS-DOS      [ ] 3-1/2" MS-DOS
  804.                          [ ] 3-1/2" Macintosh   [ ] 3-1/2" Sparc
  805.                          [ ] cartridge tape
  806.  
  807.           Payment:  [ ] Check or Money Order    [ ] American Express
  808.                     [ ] MasterCard (Eurocard)   [ ] Visa
  809.  
  810.                           __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
  811.           Account Number |__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|
  812.  
  813.           Signature _______________________________Exp. Date____________
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.        SNOBOL4.DOC (V1.7)              - 13 -                November 1, 1991
  822.