diff options
Diffstat (limited to 'doc/faq.htm')
-rw-r--r-- | doc/faq.htm | 102 |
1 files changed, 49 insertions, 53 deletions
diff --git a/doc/faq.htm b/doc/faq.htm index 50175fc..ad3d10d 100644 --- a/doc/faq.htm +++ b/doc/faq.htm @@ -11,8 +11,8 @@ <H1>Frequently Asked Questions about the Icon programming language</H1> <A HREF="http://www.cs.arizona.edu/icon/faq.htm"> www.cs.arizona.edu/icon/faq.htm</A> -<BR>Last updated November 14, 2005<BR> -<!-- $Id: faq.htm,v 1.45 2005/11/14 16:24:44 gmt Exp $ --> +<BR>Last updated April 12, 2010<BR> +<!-- $Id: faq.htm,v 1.57 2010/04/12 20:39:24 gmt Exp $ --> <P><STRONG>Learning about Icon</STRONG><BR> <A HREF="#whatsicon">A1. What is Icon?</A><BR> @@ -124,12 +124,15 @@ What are Icon's distinguishing characteristics?</H3> <H3><A NAME="library">A4.</A> What is the Icon program library?</H3> <P> The library is a collection of programs and procedures written in Icon. -User contributions are welcome and form a significant portion of the library. +User contributions form a significant portion of the library. <P> Library procedures effectively augment the built-in functions available to an Icon program. A wide variety of procedures currently exists, and most graphically-based programs are built around library procedures. +The <A HREF="http://www.cs.arizona.edu/icon/library/src/procs/core.icn">core</A> +and <A HREF="http://www.cs.arizona.edu/icon/library/src/gprocs/graphics.icn"> +graphics core</A> modules are the most carefully vetted. <P> The programs in the library range from simple demonstrations to handy tools to complex graphical applications. @@ -161,6 +164,13 @@ Here are some good places to start. <A HREF="http://www.nmt.edu/tcc/help/lang/icon/"> www.nmt.edu/tcc/help/lang/icon</A> </UL> +<P> +For the graphics facilities: +<UL> +<LI> The Icon Project Overview: + <A href="http://www.cs.arizona.edu/icon/ftp/doc/ipd281.pdf"> + www.cs.arizona.edu/icon/ftp/doc/ipd281.pdf</A> +</UL> <H3><A NAME="examples">A6.</A> Where are some simple examples?</H3> <P> @@ -203,7 +213,7 @@ describe subsequent changes. Printed copies of the <CITE>Language</CITE> and <CITE>Graphics</CITE> books are available from Jeffery Systems -(<A HREF="http://www.zianet.com/jeffery/books/">www.zianet.com/jeffery/books</A>). +(<A HREF="http://unicon.org/books/">http://unicon.org/books/</A>). All three books can be downloaded at no charge from the Icon books page, <A HREF="http://www.cs.arizona.edu/icon/books.htm"> www.cs.arizona.edu/icon/books.htm</A>. @@ -219,39 +229,39 @@ www.cs.arizona.edu/icon/library/ipl.htm</A>. <P> There is a large amount of additional information at the Icon web site, -<A HREF="http://www.cs.arizona.edu/icon/">www.cs.arizona.edu/icon</A>. +<A HREF="http://www.cs.arizona.edu/icon/">www.cs.arizona.edu/icon</A>, +including complete sets of back issues of the +<A HREF="http://www.cs.arizona.edu/icon/inl/inl.htm"> +<CITE>Icon Newsletter</CITE></A> and +<A HREF="http://www.cs.arizona.edu/icon/analyst/ia.htm"> +<CITE>Icon Analyst</CITE></A>. <P><HR><H2>Implementations</H2> <H3><A NAME="platforms">B1.</A> What platforms support Icon?</H3> <P> -Current implementations with graphics support -are available for Unix (including Linux) and Windows. -The Unix implementation also runs on Darwin, -the Macintosh development environment, or the +The current implementation of Icon is a Unix implementation. +This includes Linux, BSD, Solaris, Macintosh, and the <A HREF="http://www.cygwin.com/">Cygwin</A> environment under Windows. -Older versions of Icon are available for some other systems. +Version 9.5 of Icon has been tested on all these platforms. +<P> +Older versions are available for Windows and some other systems. An alternative Java-based implementation for Unix, <A HREF="http://www.cs.arizona.edu/icon/jcon/">Jcon</A>, is also available. +<P> +None of these environments includes a window-based development environment. +While Icon programs can open windows and use graphics, +programming is done using Unix editors and other tools from a command shell. <H3><A NAME="getstarted">B2.</A> How do I get started with Icon?</H3> <P> -Version 9.4.3 of Icon for <STRONG>Unix</STRONG> can be downloaded from -<A HREF="http://www.cs.arizona.edu/icon/v943/"> -www.cs.arizona.edu/icon/v943</A>. +The current version of Icon for Unix can be downloaded from +<A HREF="http://www.cs.arizona.edu/icon/current/"> +www.cs.arizona.edu/icon/current</A>. Source and binary packages are available, each with the complete Icon program library. <P> -Version 9.3 of Icon for <STRONG>Windows</STRONG> is compatible -at the source level with version 9.4.3. -It can be downloaded from -<A HREF="http://www.cs.arizona.edu/icon/v93w.htm"> -www.cs.arizona.edu/icon/v93w.htm</A>. -The Version 9.4.3 library can be obtained separately from -<A HREF="http://www.cs.arizona.edu/icon/v943/"> -www.cs.arizona.edu/icon/v943</A>. -<P> For older implementations, start at <A HREF="http://www.cs.arizona.edu/icon/implver.htm"> www.cs.arizona.edu/icon/implver.htm</A>. @@ -268,14 +278,11 @@ but a Unicode version of Jcon might be possible. <H3><A NAME="iconc">B4.</A> What happened to the compiler?</H3> <P> -For a while, Unix distributions included both an interpreter and a compiler; -but the interpreter is is usually fast enough even for production work, and -most people found that using the compiler wasn't worth the extra compilation -time or the hassles involved. -We no longer advertise the compiler or produce binaries for it. -It is still part of the source code distribution, -and we have not deliberately broken it, -but we no longer support it and we cannot offer help if problems arise. +For a while, Unix distributions included both an interpreter and a compiler. +The compiler was an interesting research project but it has not been +maintained and is no longer supported. +The interpreter is much easier to use and is generally quite fast enough, +even for production applications. <P><HR><H2>Administration</H2> @@ -290,11 +297,9 @@ Department of Computer Science at the University of Arizona. <H3><A NAME="updates">C2.</A> How often is the on-line material updated?</H3> <P> -New material is added when it's available. -Established implementations usually are updated only when there's a -new version. -This typically is every year or two. -The Icon program library is updated on a similar schedule. +The Icon implementation is now in maintenance mode, with new releases +produced only when necessary. This typically happens every few years when a +change in the Gnu tools cause the source to stop building. <H3><A NAME="lineage">C3.</A> Where did Icon come from?</H3> <P> @@ -329,7 +334,7 @@ but there's no good solution to that problem. <P> We continue to use Icon on a daily basis, but no significant changes are planned. -We expect to support the Unix version for the forseeable future, +We expect to support the Unix version for the foreseeable future, and to distribute ports to other systems as supplied by volunteers. <P> The Unicon project is developing an object-oriented language based on Icon. @@ -364,10 +369,6 @@ For <STRONG>porting</STRONG> assistance or <STRONG>Unix</STRONG> problems, contact <A HREF="mailto:icon-project@cs.arizona.edu">icon-project@cs.arizona.edu</A>. <LI> -For problems with the <STRONG>Windows</STRONG> implementation, -contact the implementor, -<A HREF="mailto:jeffery@cs.nmsu.edu">jeffery@cs.nmsu.edu</A>. -<LI> For general information and additional documentation, visit the Icon web site: <A HREF="http://www.cs.arizona.edu/icon/">www.cs.arizona.edu/icon</A>. </UL> @@ -398,26 +399,21 @@ A simple reference suffices, as in it's not necessary to actually call it. <P> (Why does the linker remove unreferenced procedures? -Because this can save <EM>huge</EM> amounts of memory for -programs that use the library.) +To <EM>significantly</EM> reduce the memory requirements of +programs that use the library. +There was a time when this mattered.) <H3><A NAME="callc">E3.</A> How can I call a C function?</H3> <P> -You can't call an arbitrary C function, -but if you're willing to write a function to Icon's specifications, -there are two approaches. -Under Unix, which provides <CODE>loadfunc()</CODE>, -you can load one or more functions from a shared library, -and then treat them as if they had been written in Icon. +You can't call an arbitrary C function, but you can load and call one +that is written to Icon's specifications. +A tutorial appears in +<a href="http://www.cs.arizona.edu/icon/analyst/backiss/IA36.pdf"> +Icon Analyst 36</a>. Some examples can be found in the <A HREF="http://www.cs.arizona.edu/icon/library/ccfuncs.htm"> <CODE>cfuncs</CODE></A> and <CODE>packs/loadfuncs</CODE> directories of the Icon program library. -The more cumbersome approach is to add code to the Icon interpreter -and rebuild it; some hooks are provided for this purpose. -Both approaches are discussed in <CITE>Calling C Functions from Icon</CITE>, -<A HREF="http://www.cs.arizona.edu/icon/docs/ipd240.htm"> -www.cs.arizona.edu/icon/docs/ipd240.htm</A>. <P> The <A HREF="http://www.cs.arizona.edu/icon/jcon/">Jcon</A> implementation allows Icon programs to call Java code that is written to Jcon specifications. |