summaryrefslogtreecommitdiff
path: root/doc/relnotes.htm
diff options
context:
space:
mode:
Diffstat (limited to 'doc/relnotes.htm')
-rw-r--r--doc/relnotes.htm215
1 files changed, 215 insertions, 0 deletions
diff --git a/doc/relnotes.htm b/doc/relnotes.htm
new file mode 100644
index 0000000..ae6bf1f
--- /dev/null
+++ b/doc/relnotes.htm
@@ -0,0 +1,215 @@
+<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+ <TITLE>Release Notes for Version 9.4.3 of Icon</TITLE>
+ <LINK REL="STYLESHEET" TYPE="text/css" HREF="istyle.css">
+ <LINK REL="SHORTCUT ICON" HREF="shortcut.gif">
+</HEAD>
+<BODY>
+
+<P><A HREF="http://www.cs.arizona.edu/icon/"> <IMG SRC="wwwcube.gif"
+ALT="[Icon home]" WIDTH=128 HEIGHT=144 BORDER=0 ALIGN=RIGHT> </A>
+
+<H1> Release Notes for Version 9.4.3 of Icon </H1>
+
+<P> Gregg M. Townsend
+<BR> <SMALL> Department of Computer Science </SMALL>
+<BR> <SMALL> The University of Arizona </SMALL>
+
+<P> <SMALL> www.cs.arizona.edu/icon/v943/relnotes.htm
+<BR> Last updated November 10, 2005 </SMALL>
+<!-- $Id: relnotes.htm,v 1.49 2005/11/10 23:02:06 gmt Exp $ -->
+
+
+<H2> Introduction </H2>
+
+<P> Version 9.4.3 of Icon is a minor update to version 9.4.2 of Icon.
+It incorporates configuration, documentation, and library updates.
+Some minor bugs have been fixed.
+
+<P> The Icon language is unchanged, and this Unix implementation
+remains compatible at the source level with Icon 9.3 for Windows.
+
+
+<H2> Changes in version 9.4.3 </H2>
+
+<P> Notable changes in this latest version are listed here.
+Some code cleanup work and documentation editing
+has also been done.
+
+<H3> Configurations </H3>
+
+<P> The system-specific Icon configurations have been reorganized and renamed;
+new names focus on operating systems rather than CPU architectures.
+The several BSD configurations have been merged into one.
+
+<P> The <CODE>macintosh</CODE> configuration now supports the
+<CODE>loadfunc</CODE> function. This configuration has also been
+revised to anticipate Apple's announced migration to the x86 architecture.
+
+<P> A new <A HREF=port.htm>porting guide</A> has been written, and a new
+<CODE>posix</CODE> configuration has been added
+as a starting point in constructing new ports.
+
+<H3> Library changes </H3>
+
+<P> As usual, several files in the Icon program library have been
+added or edited. The core library files, however, remain stable.
+Notable changes include:
+
+<PRE>
+procs/dijkstra new procedures implement Dijkstra's control structures
+procs/html add procedure for canonicalization of paths
+procs/matrix2 new procedures for matrix manipulation
+procs/nestlist new procedures for representing nested lists as strings
+procs/printf add %e format and fix a rounding problem
+
+progs/noise new program for producing a random bitstream
+progs/unclog improve logic for combining adjacent entries
+
+gprogs/dlgvu improve coverage map; allow altitude in GPS data
+gprogs/gallery faster thumbnail loading for JPEG images
+gprogs/img many new features
+gprogs/sier better color choices
+gprogs/trkvu accept GPS track logs with altitude as the last field
+</PRE>
+
+The undocumented <CODE>save</CODE> function, which only worked
+on a few platforms, has been removed.
+
+
+<H2> Earlier feature additions </H2>
+
+<P> These features appeared in earlier releases of Icon that followed
+publication of the Icon books.
+
+<H3> Millions of colors </H3>
+<SMALL> (new with version 9.4.2 of Icon) </SMALL>
+
+<P> Icon's X-windows interface no longer limits each window to
+256 colors at one time.
+Median-cut quantization selects image colors when writing a GIF file.
+
+<H3> Scriptable source files </H3>
+<SMALL> (new with version 9.4.1 of Icon) </SMALL>
+
+<P> An Icon source file can be made executable under Unix by prefixing it
+with a comment line
+<BLOCKQUOTE><CODE>#!/usr/bin/env icon</CODE></BLOCKQUOTE>
+and setting its execute permission bit.
+This uses a new <A HREF="icon.txt"><CODE>icon</CODE></A> command,
+which in another form allows a small Icon program to be embedded
+within a shell script.
+See the <A HREF="icon.txt">man page</A> for details.
+The traditional <A HREF="icont.txt"><CODE>icont</CODE></A> command
+remains available for less specialized purposes.
+
+<H3> Path searching </H3>
+<SMALL> (new with version 9.4.0 of Icon) </SMALL>
+
+<P> Under Unix, colons (<CODE>:</CODE>) may now separate directories in the
+<CODE>LPATH</CODE> and <CODE>IPATH</CODE> environment variables as an
+alternative to spaces.
+The Icon translator and linker search these paths when looking for
+<CODE>$include</CODE> and <CODE>link</CODE> files respectively.
+
+<P> The Icon program library is now searched automatically, but
+<CODE>LPATH</CODE> and <CODE>IPATH</CODE> can still be set to control
+the search order.
+For version 9.4, the effective path in each case is:
+<OL>
+ <LI> The current directory
+ <LI> Any directories named by the environment variable
+ <LI> The Icon library directory
+</OL>
+
+<P> Other changes affect the configuration of Icon at installation time
+and the way executable Icon programs locate the interpreter.
+These changes, which are transparent to most users, are discussed
+in more detail on the <A HREF="files.htm">File Organization</A> page.
+
+<H3> Reading directory contents </H3>
+<SMALL> (new with version 9.3.2 of Icon) </SMALL>
+
+<P> The files in a directory can be listed by opening the directory as a file.
+Subsequent reads return the names of the files contained in the directory.
+The names are returned in no particular order, and for Unix, the directories
+<CODE>"."</CODE> and <CODE>".."</CODE> are included.
+
+<H3> Reading foreign text files </H3>
+<SMALL> (new with version 9.3.1 of Icon) </SMALL>
+
+<P> The function <CODE>read()</CODE> recognizes
+three kinds of line terminators when reading a file
+opened in translated mode:
+Windows (CR+LF), Macintosh (CR), or Unix (LF).
+Consequently, text files created on one platform can be
+read by an Icon program running on a different platform.
+
+
+<H2> Limitations, bugs, and problems </H2>
+
+<P> Large integers cannot be used with <CODE>i to j</CODE>,
+with <CODE>seq()</CODE>, or with integer-valued keywords.
+
+<P> Large-integer literals are constructed at run-time, so such
+literals are best kept outside of loops.
+
+<P> Conversion of a large integer to a string is quadratic
+in the length of the integer.
+Conversion of a very large integer may take a long time.
+
+<P> An "evaluation stack overflow" can occur when a procedure is called
+with a huge number (thousands or more) of arguments.
+The capacity can be increased by setting the environment variable
+<CODE>MSTKSIZE</CODE> or <CODE>COEXPSIZE</CODE>, as appropriate.
+
+<P> Stack overflow checking uses a heuristic that is not always effective.
+Stack overflow in a co-expression is especially likely to escape
+detection and cause a mysterious program malfunction.
+
+<P> Pathologically nested structures can provoke a memory or segmentation
+fault during garbage collection by reaching the stack limit.
+The stack limit can be raised by the
+<CODE>limit</CODE> or <CODE>ulimit</CODE> shell command.
+
+
+<P> If an expression such as <CODE> x := create <VAR>expr</VAR></CODE>
+is used in a loop, and <CODE>x</CODE> is not a global variable,
+uncollectable co-expressions accumulate with each iteration.
+This problem can be circumvented by making <CODE>x</CODE>
+a global variable or by assigning a value to <CODE>x</CODE>
+before the create operation, as in
+ <BLOCKQUOTE><CODE>
+ x := &amp;null <BR>
+ x := create <VAR>expr</VAR>
+ </CODE></BLOCKQUOTE>
+
+<P> Integer overflow on exponentiation may not be detected during execution.
+Such overflow may occur during type conversion.
+
+
+<H2> Documentation </H2>
+
+<P> See the <A HREF=docguide.htm>documentation guide</A>
+for an overview of the available Icon documentation.
+
+<P> For installation instructions, see
+<A HREF=install.htm>Installing Binaries</A> or
+<A HREF=build.htm>Building from Source</A> as appropriate.
+
+
+<H2> Acknowledgments </H2>
+
+<P>
+Arthur Eschenlauer contributed the <CODE>matrix2</CODE>
+and <CODE>nestlist</CODE> libraries.
+Frank Lhota contributed the <CODE>dijkstra</CODE> library.
+Nolan Clayton contributed revisions to the <CODE>img</CODE> program.
+Michael Glass contributed revisions to the <CODE>printf</CODE> procedure.
+Chris Tenaglia and Andreas Almroth contributed configuration files.
+
+<P> <HR>
+
+</BODY>
+</HTML>