diff options
Diffstat (limited to 'doc/relnotes.htm')
-rw-r--r-- | doc/relnotes.htm | 215 |
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 := &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> |