home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Icon 8.1 / mem / Documentation / Plain Text / MPW Icon < prev    next >
Encoding:
Text File  |  1993-08-17  |  25.1 KB  |  673 lines  |  [TEXT/MPS ]

  1.  
  2.  
  3.             Version 8.10 of MPW Icon
  4.  
  5.               Ralph E. Griswold
  6.     Department of Computer Science, The University of Arizona
  7.  
  8.              Robert J. Alexander
  9.  
  10.  
  11.               November 9, 1992
  12.                    IPD207
  13.  
  14.  
  15. 1.  Introduction
  16.  
  17. Version 8.10 of MPW Icon (Icon for the Macintosh under MPW) is
  18. distributed on an 800K diskette, which includes executable binary files,
  19. a few sample programs, and documentation in machine-readable form.
  20. Printed documentation is included with diskettes distributed by the Icon
  21. Project at the University of Arizona.
  22.  
  23. MPW Icon runs as part of the Macintosh Programmer's Workshop (MPW)
  24. integrated environment.  MPW is required to run MPW Icon.  Neither the
  25. Icon translator/linker nor programs written in MPW Icon can run
  26. independently of MPW.  Stand-alone Macintosh applications cannot be
  27. created with MPW Icon.  Programs produced with MPW Icon run under the
  28. MPW Shell as tools.
  29.  
  30. Most programs run well on a Macintosh with at least 1 megabyte of
  31. memory, although more memory may be required to run programs with
  32. exceptional memory demands.
  33.  
  34. Version 8 of MPW Icon was built using MPW 3.2, and is known to run
  35. properly under MPW 3.2 (the currently supported version of MPW).  It has
  36. not been tested with earlier versions of MPW as of this writing.
  37.  
  38. This implementation of Icon is in the public domain and may be copied
  39. and used without restriction.  The Icon Project makes no warranties of
  40. any kind as to the correctness of this material or its suitability for
  41. any application.  The responsibility for the use of Icon lies entirely
  42. with the user.
  43.  
  44.  
  45.  
  46. 2.  Documentation
  47.  
  48. The primary reference for the Icon programming language is the book
  49.  
  50. The Icon Programming Language, second edition, Ralph E.  Griswold and
  51. Madge T.  Griswold, Prentice-Hall, Inc., Englewood Cliffs, New Jersey,
  52. 1990.  365 pages.  ISBN 0-13-447889-4.
  53.  
  54. This book is available from the Icon Project at the University of
  55. Arizona.  It also can be ordered through any bookstore that handles
  56. special orders or by telephone directly from Prentice-Hall:  (201)
  57. 767-9520.
  58.  
  59. Note that the first edition of this book, published in 1983, describes
  60. an older version of Icon and does not contain information about many of
  61. the features of Version 8.
  62.  
  63. A brief overview of Icon is contained in technical report TR 90-6 [1]
  64. (Icon Overview on the distribution diskette).  Features that have been
  65. added to Icon since the book was written are described in IPD188 [2]
  66. (Version 8.7 on the distribution diskette).  These technical reports,
  67. together with this document (MPW Icon on the distribution diskette),
  68. provide enough information to write and run simple Icon programs, but
  69. persons who intend to use Icon extensively will need the book.
  70.  
  71. As mentioned above, printed documentation is provided with copies of
  72. Icon obtained from the Icon Project.  Machine-readable documentation is
  73. also included on the distribution diskette in the form of text and
  74. MacWrite files.  Text files can be viewed and printed by the MPW Shell.
  75. MacWrite documents contain fonts that are optimized for printing on a
  76. LaserWriter.  To print them on an ImageWriter, they will have the best
  77. quality if the fonts Times 12 and 10, Helvetica 12, and Courier 10 are
  78. installed (or double those sizes for best quality printing).  Much of
  79. the style of the documents is expressed through its fonts, so it is best
  80. not to tamper with them unless absolutely necessary.
  81.  
  82.  
  83. 3.  Installing MPW Icon
  84.  
  85. A MPW Shell script is provided to perform the installation of Icon into
  86. the MPW system on your Macintosh.  The script will guide you through the
  87. installation, informing you of the recommended places to store your Icon
  88. materials, but allowing you to exercise options if you wish to keep Icon
  89. in a place different from the default.  The procedure is quite simple,
  90. and will go something like this:
  91.  
  92. A dialog will appear saying:
  93.  
  94. Macintosh MPW Icon Language Installation
  95.  
  96.     +-------------------------------------------------------+
  97.     | MPW Icon can be installed anywhere at all -- the    |
  98.     | standard location is in a folder named Icon in your    |
  99.     | MPW folder.                        |
  100.     |                    +------+    |
  101.     |                    |  OK  |    |
  102.     |                    +------+    |
  103.     +-------------------------------------------------------+
  104.  
  105. Followed by the following question:
  106.  
  107.     +------------------------+
  108.     |    Install Icon in     |
  109.     |+----------------------+|
  110.     || Existing Icon folder    ||
  111.     |+----------------------+|
  112.     || New Icon folder    ||
  113.     |+----------------------+|
  114.     |+-----------+----------+|
  115.     ||    OK     |  Cancel    ||
  116.     |+-----------+----------+|
  117.     +------------------------+
  118.  
  119.  
  120. If you already have a version of MPW Icon installed, select the Existing
  121. Icon folder choice.  If this is your first Icon, select New Icon folder.
  122.  
  123. The procedure will continue in this fashion, with a few more questions
  124. (such as which folder?) and words of advice, until the installation is
  125. complete.
  126.  
  127. To start the installation procedure:  start MPW Shell, insert the
  128. MPWIcon disk (the distribution disk) into a disk drive and enter the
  129. command:
  130.  
  131.           MPWIcon:InstallIcon
  132.  
  133. The following items will be installed:
  134.  
  135. In the Icon folder (or other folder designated during the installation
  136. process):
  137.  
  138.     Tools
  139.         icont        The Icon translator and linker
  140.         iconx        The Icon interpreter
  141.     Scripts
  142.         IconMPWTool    Converts an icode file to a stand-alone MPW
  143.                 tool.
  144.     Other
  145.         Icon.help    MPW-style help files for Icon.
  146.  
  147. In your MPW folder:
  148.  
  149.         UserStartup•Icon    Performs MPW initialization for Icon.
  150.  
  151.  
  152. The installation script will attempt to delete obsolete version 7.0 (or
  153. earlier) files if it finds them.  Those files are itran, ilink, iconm,
  154. iconx.hdr, and bin (the folder and its contents).  If you want to save
  155. these files, move them to a diskette or another folder before
  156. installation.
  157.  
  158. The installation can be aborted any time a dialog box is displayed by
  159. clicking its Cancel button.  Installation can be restarted from the
  160. beginning with no adverse consequences.
  161.  
  162. If you are running a version of MPW older than 3.0, you will have to
  163. enter the following line into your UserStartup file (in the MPW folder):
  164.  
  165.     Execute UserStartup•Icon
  166.  
  167. The • character is option-8.  This requirement is discussed in more
  168. detail in section 9 of this document.  The additional line is not
  169. necessary for MPW version 3.0 and later.
  170.  
  171.  
  172. 4.  Running Icon on the Macintosh under MPW — Basic Information
  173.  
  174. Files containing Icon programs must have the suffix .icn.  Such files
  175. should be plain text files (without line numbers or other extraneous
  176. information).  The translator/linker program icont produces an
  177. executable icode file.  For example, an Icon program in the file
  178. prog.icn is translated and linked by
  179.  
  180.     icont prog.icn
  181.  
  182. The result is an executable icode file with the name prog.  Icode files
  183. produced by MPW Icon behave identically to MPW tools, and thus are
  184. invoked by entering their file names.  The icode file just created can
  185. be run by
  186.  
  187.     prog
  188.  
  189. Use of the suffix .icn in the icont command is optional.  For example,
  190. it is sufficient to use
  191.  
  192.     icont prog
  193.  
  194. icont will supply the .icn suffix if no suffix is entered.
  195.  
  196.  
  197. 5.  Testing the Installation
  198.  
  199. There are a few programs on the distribution diskette that can be used
  200. for testing the installation and getting a feel for running Icon.  The
  201. programs and data files are in the folder Samples.
  202.  
  203. hello.icn
  204.  
  205. This program prints the Icon version number, time, and date.  Run this
  206. test as
  207.  
  208.     icont hello
  209.     hello
  210.  
  211. kross.icn
  212.  
  213. This program prints all the ways that two words intersect in a common
  214. character.  The file kross.dat contains typical data.  Run this test as
  215.  
  216.     icont kross
  217.     kross <kross.dat
  218.  
  219. meander.icn
  220.  
  221. This program prints the “meandering strings” that contain all
  222. subsequences of a specified length from a given set of characters.  Run
  223. this test as
  224.  
  225.     icont meander
  226.     meander <meander.dat
  227.  
  228. If these tests work, your installation is most likely correct — you have
  229. a running version of Icon!
  230.  
  231.  
  232. 6.  More on Running Icon
  233.  
  234. For simple applications, the instructions for running Icon given in
  235. Section 4 may be adequate.  The icont translator/linker supports a
  236. variety of options that may be useful in special situations.  There also
  237. are several aspects of execution that can be controlled with environment
  238. variables.  These are listed here.  If you are new to Icon, you may wish
  239. to skip this section on the first reading but come back to it if you
  240. find the need for more control over the translation and execution of
  241. Icon programs.
  242.  
  243. 6.1  Arguments
  244.  
  245. Arguments can be passed to the Icon program by appending them to the
  246. command line.  Such arguments are passed to the main procedure as a list
  247. of strings.  For example,
  248.  
  249.     prog text.dat log.dat
  250.  
  251. runs the icode file prog, passing its main procedure a list of two
  252. strings ["text.dat","log.dat"].  These arguments might be the names of
  253. files that prog.icn reads from and writes to.  For example, the main
  254. procedure might begin as follows:
  255.  
  256. procedure main(a)
  257.    in := open(a[1]) | stop("cannot open input file")
  258.    out := open(a[2],"w") | stop("cannot open output file")
  259.    …
  260.  
  261. 6.2  The Translator and Linker
  262.  
  263. The translator/linker icont can accept several Icon source files at one
  264. time.  When several files are given, they are translated and combined
  265. into a single icode file whose name is derived from the name of the
  266. first file.  For example,
  267.  
  268.     icont prog1 prog2
  269.  
  270. translates and links the files prog1.icn and prog2.icn and produces one
  271. icode file, prog1.
  272.  
  273. If the -c option is given to icont, only translation is performed and
  274. intermediate ucode files with the suffixes .u1 and .u2 are kept.  For
  275. example,
  276.  
  277.     icont -c prog1
  278.  
  279. leaves prog1.u1 and prog1.u2, instead of linking them to produce prog1.
  280. (The ucode files are deleted unless the -c option is used.) These ucode
  281. files can be used in a subsequent icont command by using the .u1 name.
  282. This avoids having to translate the .icn file again.  For example,
  283.  
  284.     icont prog2 prog1.u1
  285.  
  286. translates prog2.icn and links the result with the ucode files from a
  287. previous translation of prog1.icn.  Note that only the .u1 name is
  288. given.  The suffix can be abbreviated to .u, as in
  289.  
  290.     icont prog2 prog1.u
  291.  
  292. Ucode files also can be added to a program when it is linked by using
  293. the link declaration in an Icon source program as described in [2].
  294.  
  295. The informative messages from the translator and linker can be
  296. suppressed by using the -s option.  Normally, both informative messages
  297. and error messages are sent to standard error output.
  298.  
  299. A name other than the default one for the icode file produced by the
  300. Icon linker can be specified by using the -o option, followed by the
  301. desired name.  For example,
  302.  
  303.     icont -o probe prog
  304.  
  305. produces the icode file named probe rather than prog.
  306.  
  307. Icon source programs may be read from standard input.  The argument -
  308. signifies the use of standard input as a source file.  In this case, the
  309. ucode files are named stdin.u1 and stdin.u2 and the icode file is named
  310. stdin.
  311.  
  312. Normally, &trace has an initial value of 0.  The -t option to icont
  313. causes &trace to have an initial value of -1 when the program is
  314. executed.  For example,
  315.  
  316.     icont -t prog
  317.  
  318. causes tracing to occur when prog is run.
  319.  
  320. The option -u to icont causes warning messages to be issued for
  321. undeclared identifiers in the program.  The warnings are issued during
  322. the linking phase.
  323.  
  324.  
  325.  
  326. 6.3  Environment Variables
  327.  
  328. When an Icon program is executed, several environment variables
  329. (exported shell variables) are examined to determine execution
  330. parameters.  The values assigned to these variables should be numbers.
  331.  
  332. Environment variables are particularly useful in adjusting Icon’s
  333. storage requirements.  This may be necessary if your computer does not
  334. have enough memory to run programs that require an unusually large
  335. amount of data.  Particular care should be taken when changing default
  336. sizes:  unreasonable values may cause Icon to malfunction.
  337.  
  338. The following environment variables can be set to affect Icon’s
  339. execution parameters.  Their default values are listed in parentheses
  340. after the environment variable name.:
  341.  
  342. TRACE (0).        This variable initializes the value of &trace.  If
  343.             this variable has a value, it overrides the translation-time -t
  344.             option.
  345.  
  346. NOERRBUF (undefined).    If this variable is set, &errout is not buffered.
  347.  
  348. STRSIZE (65000).    This variable determines the initial size, in bytes,
  349.             of the region in which strings are stored.
  350.  
  351. BLOCKSIZE (65000).    This variable determines the initial size, in bytes,
  352.             of the region in which Icon allocates lists, tables,
  353.             and other objects.
  354.  
  355. COEXPSIZE (2000).    This variable determines the size, in 32-bit words,
  356.             of each co-expression block.
  357.  
  358. MSTKSIZE (10000).    This variable determines the size, in words, of the
  359.             main interpreter stack.
  360.  
  361. STATSIZE (20480).    This variable determines the size, in bytes, of the
  362.             static region in which co-expression blocks are
  363.             allocated.
  364.  
  365. STATINCR (calculated).    This variable determines the size of the increment
  366.             used when the static region is expanded.  The default
  367.             increment is one-fourth of the initial size of the
  368.             static region.
  369.  
  370. Region sizes expand if more space is needed, but they never shrink.
  371.  
  372.  
  373. 7.  Features of Icon for the Macintosh under MPW
  374.  
  375. Icon for the Macintosh under MPW supports the features of Version 8 of
  376. Icon, with the following exceptions and additions:
  377.  
  378. •    Icont supports the Commando facility of MPW.  If the icont command
  379.     is executed via option-enter (instead of just enter), or if icont… is
  380.     executed (icont followed by the ellipsis character, option-;), a dialog
  381.     box will come up that allows specification of all options permissible
  382.     as command line parameters to icont.  (The option-enter method of
  383.     invoking Commando is available only with version 3.0 of MPW).  Since
  384.     the dialog box has “prompts” for most of the available options, it is
  385.     an alternative to using the manual or on-line help to remember options
  386.     that are infrequently used.
  387.  
  388. •    The IPATH environment variable, which specifies where the linker
  389.     should search for library modules refrenced in link directives, is a
  390.     comma-separated list of directory (folder) names (just like the
  391.     Commands shell variable (this differs from most versions of Icon, which
  392.     use a space-separated list).  The directory names must have a colon as
  393.     the last character, as is the MPW convention.
  394.  
  395. •    An extensive on-line help facility is available that contains summary
  396.     information about the icont command, the iconx command (explicit
  397.     invocation of the Icon interpreter), and about many aspects of the Icon
  398.     language itself.  To access MPW Icon Help, enter:
  399.  
  400.         ihelp
  401.  
  402.     Ihelp is an alias set up by UserStartup•Icon that invokes the MPW help
  403.     system.
  404.  
  405. •    The background tool execution feature of MPW 3.0 is available in MPW
  406.     Icon (as it is with most MPW tools).  icont or an Icon program can run
  407.     in the background under the Finder (or MultiFinder for pre-System-7).
  408.  
  409. •    The MPW “spinning beachball” cursor spins during execution of icont
  410.     and during execution of Icon programs.  During Icon garbage
  411.     collections, the cursor changes to the wristwatch shape.
  412.  
  413. •    Normally, the Icon interpreter, iconx, must be installed for Icon
  414.     programs to run.  MPW Icon now has the facility to bundle the
  415.     interpreter and icode file into a single Macintosh file, giving it the
  416.     appearance and functionality of a true MPW tool.  Of course, since it
  417.     contains the interpreter, it is about 150K bytes larger than its
  418.     corresponding icode-only file.  This feature is useful for creating MPW
  419.     tools to be run on systems that do not have MPW Icon installed.  To
  420.     convert an icode file to a stand-alone tool, execute
  421.  
  422.         IconMPWTool icode-file-name …
  423.  
  424. •    Most of the error messages are formatted such that either part or
  425.     all of the message can be “executed” under MPW to call up the offending
  426.     file and line.  For example, the interpreter error message
  427.  
  428.         File x.icn; Line 2 # "b": missing semicolon or operator
  429.  
  430.     is a valid MPW command that will open the file x.icn and select line 2.
  431.     In a few cases, only a portion of the message is executable and must be
  432.     selected.
  433.  
  434. •    Files created by execution of an Icon program (by open(filename,"w"))
  435.     are MPW text files; that is they have the same type and creator as
  436.     files created within MPW:  type = 'TEXT' and creator = 'MPS '.
  437.     Therefore their icons in Finder windows are the same as for MPW text
  438.     files, and double clicking them invokes the MPW Shell to edit the
  439.     double-clicked file.
  440.  
  441. •    Ucode files are given file type = 'TEXT', creator = 'icon'.  Since
  442.     they are human-readable text files, the type of 'TEXT' makes them
  443.     accessible to text editors (such as MPW Shell).  The type 'icon' causes
  444.     them to have a generic document icon, rather than the MPW Shell text
  445.     file icon, to help distinguish them from Icon source files and other
  446.     “normal” text files.
  447.  
  448. •    The new line designation \n and carriage return \r have their usual
  449.     values reversed in MPW Icon.  This practice is “inherited” from MPW C.
  450.     The codes are reversed because the new line code used in Macintosh text
  451.     files is the carriage return (rather than the line feed as used by
  452.     UNIX), and will not likely cause any problems.  Nonetheless, subtle
  453.     effects could be introduced, such as image(string('\n\r')) producing
  454.     "\n\r" on UNIX systems and"\r\n" on Macs.
  455.  
  456. •    I/O to “tty” files (i.e., to windows) can be fully buffered (normally
  457.     it is “line buffered”).  Specifying fully buffered output allows
  458.     considerably faster output to windows, but has some undesirable side
  459.     effects.  The buffered output is not actually output to the window
  460.     until the buffer is full or an input operation is requested.  Thus,
  461.     output to windows between lengthy operations performed by a program may
  462.     not be seen in a timely fashion.  Also, standard output and error
  463.     output can be intermingled in strange ways.
  464.  
  465.     To specify fully beffered window output, set the environment variable
  466.     NoLineFlush:
  467.  
  468.         Set NoLineFlush 1 ; Export NoLineFlush
  469.  
  470.     It is recommended that NoLineFlush be used only when the additional
  471.     speed is needed, since it can create confusing output in some
  472.     instances.
  473.  
  474. •    The Macintosh Programmer's Workshop Shell's default stack size works
  475.     well for almost all Icon programs.  However it may have to be increased
  476.     for certain exceptional ones.  Experience so far shows that this will
  477.     only rarely have to be done.  The default stack size can be increased
  478.     to handle virtually any requirement — see the MPW documentation for the
  479.     method of increasing the stack size.
  480.  
  481. •    The ICONCORE environment variable, which causes a core dump on error
  482.     termination in many implementations of Icon, simply causes an abort in
  483.     MPW Icon.  The only apparent difference between an abort and a normal
  484.     termination in the MPW environment is that a sequence of MPW commands
  485.     will terminate if a program aborts, regardless of the setting of shell
  486.     variable Exit.
  487.  
  488. •    The MPW console input routines function such that a console input
  489.     operation transfers the entire line containing the insertion point, or
  490.     if a range of text is selected, the selected text.  This may cause some
  491.     incompatibility with existing Icon programs that issue a prompt and
  492.     then accept console input on the same line as the prompt.  For example,
  493.     in
  494.  
  495.         writes("How many?")
  496.         n := read()
  497.  
  498.     the value of n will contain the text "How many?" followed by the
  499.     entered text.  The problem can be corrected by causing input strings to
  500.     be on lines by themselves:
  501.  
  502.         write("How many?")
  503.         n := read()
  504.  
  505. •    Installation script
  506.  
  507.     A MPW script is provided with MPW Icon to automate the installation
  508.     process.
  509.  
  510. •    UserStartup•Icon
  511.  
  512.     The MPW commands required to initialize MPW for use of Icon are
  513.     encapsulated in a separate UserStartup file, UserStartup•Icon.  This
  514.     change complements the change in MPW 3.0 to automatically execute all
  515.     files having names beginning with UserStartup• as MPW initializes upon
  516.     startup.  If you are running under an older version of MPW, insert the
  517.     command
  518.  
  519.         Execute UserStartup•Icon
  520.  
  521.     into your UserStartup file.
  522.  
  523. •    Command line options
  524.  
  525.     The usual Icon requirement that all command line options must precede
  526.     file names is relaxed for MPW Icon.  The normal Icon option-ordering
  527.     requirement is inherited from UNIX and is contrary to MPW’s command
  528.     line conventions, and had to be eliminated for Commando support to
  529.     work.
  530.  
  531. •    The -m option to icont (for macro preprocessing) is not implemented.
  532.  
  533. •    The -x option to icont (for automatic execution after
  534.     translating/linking) is not implemented.
  535.  
  536. •    The function system() is not supported.
  537.  
  538. •    Pipes are not supported. A file cannot be opened with the "p" option.
  539.  
  540.  
  541.  
  542. 8.  Bugs
  543.  
  544. A complete list of known bugs in Version 8 of Icon is given in [2].
  545.  
  546.  
  547. 9.  Differences Between Version 8.10 and Earlier Versions of MPW Icon
  548.  
  549. There are a number of differences between version 8.10 and earlier
  550. versions of MPW Icon, but few are likely to cause a difference in
  551. execution of Icon programs written under the older versions.  Most of
  552. the changes are upward compatible extensions [2].  Since Version 8.x is
  553. somewhat larger than some earlier versions, memory problems could be
  554. experienced on Macintoshes with a limited amount of memory.
  555.  
  556. The main departures from the past in MPW Icon version 8.x are:
  557.  
  558. •    The size of the interpreter has grown by about 35K since version 7.5.
  559.     The translator/linker is the same size as its version 7.5 counterpart.
  560.  
  561. •    Several new features were introduced in MPW Icon version 7.5 and are
  562.     carried into version 8.  They are described in detail in section 7 of
  563.     this document:
  564.  
  565.     Commando dialog box support for icont
  566.     Background running under MPW 3.0
  567.     Spinning beachball cursor
  568.     Wristwatch cursor during garbage collection
  569.     On-line help facility
  570.     Ability to create stand-alone MPW tools
  571.     Error messages more MPW-like than in previous versions
  572.     Fully buffered I/O option (in version 7.5, all window output was fully
  573.         buffered — in version 8 it is line buffered unless fully
  574.         buffered is requested via environment variable NoLineFlush)
  575.     File type and creator of created files is same as MPW text files
  576.         (type and creator were null in previous versions, making it
  577.         difficult to edit them)
  578.     File type of ucode files is set to 'TEXT', for easy reading via text
  579.         editors
  580.     Changes in method of specifying total Icon memory allocation
  581.     The -x option of iconx has not been supported by MPW Icon since
  582.         version 7.5.  Its burden to the MPW implementation outweighs
  583.         its utility.
  584.  
  585. •    Organization changes
  586.  
  587.     Organizational changes are nil since version 7.5, but there are some
  588.     significant changes from earlier versions.  The bin folder was done
  589.     away with for version 7.5.  The Icon tools icont and iconx now reside
  590.     in the Icon folder in the default organization for MPW Icon.  The bin
  591.     folder used to hide a number of files that are no longer needed, namely
  592.     itran, ilink, iconm, and iconx.hdr.  As with all implementations of
  593.     Icon since version 7.5, the translator (itran), linker (ilink), and
  594.     control program (icont) have been combined into a single program
  595.     (icont).  Besides reducing the number of files needed to work with
  596.     Icon, other benefits are gained such as increased speed of translation
  597.     and linking, reduced disk space requirements, and generally simpler
  598.     management of the Icon system.
  599.  
  600. •    Change of environment variable names
  601.  
  602.     The environment variable Icon had been named IconBin in previous
  603.     versions.
  604.  
  605. •    Memory management change
  606.  
  607.     In version 8.10 of MPW Icon, fixed, multiple memory regions are
  608.     implemented.  In general, this will improve Icon’s ability to expand
  609.     memory as needed as the program executes.  Prior versions used a single
  610.     expandable region, which often could not expand due to non-relocatable
  611.     regions being allocated nearby.  The environment variable ICONSIZE is
  612.     no longer needed.  The other iconx region-allocation environment
  613.     variables (BLOCKSIZE, STKSIZE, etc.) are still available to tune
  614.     initial region allocation.
  615.  
  616.  
  617. 10.  Reporting Problems
  618.  
  619. Problems with MPW Icon should be noted on a trouble report form (Trouble
  620. on the distribution diskette) and sent to
  621.  
  622. Icon Project
  623. Department of Computer Science
  624. Gould-Simpson Building
  625. The University of Arizona
  626. Tucson, AZ   85721
  627. U.S.A.
  628.  
  629. (602) 621-4049
  630.  
  631. icon-project@cs.arizona.edu     (Internet)
  632. ... {uunet, allegra, noao}!arizona!icon-project     (uucp)
  633.  
  634. If a program is involved, enclose it and any relevant data on a diskette.
  635.  
  636.  
  637. 11.  Registering Copies of Icon
  638.  
  639. If you received your copy of MPW Icon directly from the Icon Project, it
  640. has been registered in your name and you will receive the Icon
  641. Newsletter without charge.  This Newsletter contains information about
  642. new implementations, updates, programming techniques, and information of
  643. general interest about Icon.
  644.  
  645. If you received your copy of MPW Icon from another source, please fill
  646. out a registration form (Registration in the documents on the
  647. distribution diskette) and send it to the Icon Project at the address
  648. listed above.  This will entitle you to a free subscription to the Icon
  649. Newsletter and assure that you receive information about updates.
  650.  
  651.  
  652. Acknowledgements
  653.  
  654. The design and development of the Icon programming language was
  655. supported, in part, by the National Science Foundation under grants
  656. MCS75-01397, MCS79-03890, MCS81-01916, DCR-8320138, DCR- 8401831, and
  657. DCR-8502015.
  658.  
  659. Many individuals contributed to the design and implementation of Icon.
  660. The principal ones are Cary Coutant, Dave Gudeman, Dave Hanson, Tim
  661. Korb, Bill Mitchell, Kelvin Nilsen, Janalee O'Bagy, Gregg Townsend, and
  662. Steve Wampler.
  663.  
  664. Bob Alexander adapted Icon to the Macintosh under MPW.
  665.  
  666.  
  667. References 
  668.  
  669. 1.    R. E. Griswold, An Overview of the Icon Programming Language, The Univ.
  670.     of Arizona Tech. Rep. 90-6c, 1992. 
  671. 2.    R. E. Griswold, Clinton L. Jeffery, and Gregg M. TownsendVersion 8.10
  672.     of the Icon Programming Language, The Univ. of Arizona IPD212, 1993.
  673.