[comp.lang.icon] What is ICON?

yorkw@tippy.uucp (12/08/89)

Well I have a Basic Question. WHAT IS THE ICON LANGUAGE?
I havent been able to get a good idea from these notes.
Well just wondering...
C-ya.

kwalker@CS.ARIZONA.EDU ("Kenneth Walker") (12/19/89)

	Date: 7 Dec 89 20:56:00 GMT
	From: pur-phy!tippy!yorkw@ee.ecn.purdue.edu
	
	Well I have a Basic Question. WHAT IS THE ICON LANGUAGE?
	I havent been able to get a good idea from these notes.
	Well just wondering...

The following is my standard reply to that question.

Icon is a high level programming language designed for string processing
and other non-numeric applications (numeric processing can be done, but the
language and implementation are not tuned for it). Goal-directed evaluation
with control backtracking is an integral part of the language. However,
Icon is very different from other languages, such as Prolog, which use
this evaluation scheme. Icon has a rich set of control structures which
use and control backtracking. Most of these control structures look and
act very much like the control structures of more traditional languages,
allowing Pascal-like programming where the full power of goal-directed
evaluation is not required. Icon incorporates generators as a natural feature
within this goal-directed evaluation scheme.

Icon has a flexible run-time type system: variables may take on values of
any type and automatic type conversions are preformed as needed by
operations. There are a variety of types including strings, sets, associative
tables, and lists with positional, queue, and stack access methods. All
storage management is automatic; garbage collection is performed as needed.

  Ken Walker / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721
  +1 602 621 2858  kwalker@cs.arizona.edu {uunet|allegra|noao}!arizona!kwalker

mtbb95@ms.uky.edu (Bob Maras) (12/19/89)

I have really enjoyed following the developments of the ICON language that
have been shared with the icon-group.  I sort of like the request that was 
a simple question, "WHAT IS THE ICON LANGUAGE?"

It might be of great value if all group recipients could receive a few statementthat share the similarities as well as the differences ICON has with other 
currently used languages, primarily C, but, also pascal, and even perhaps 
simpler languages such as BASIC.  

I think that some of these introductory messages may serve well in the drawing
of individuals with programming into the group.

Bob

-- 
                          _      _
                         ( ) __ ( )
                          | O  O |         B O B   M A R A S
                          /  __  \      /
                         (   \/   )  __/
                          \ \__/ / 
                           \____/ 
                           |_/\_|     H A P P Y    C O M P U T I N G    !!!
        

mtbb95@ms.uky.edu (Bob Maras) (12/19/89)

Thanks to Ken Walker for a most descriptive summary of the ICON language!!!
Bob

-- 
                          _      _
                         ( ) __ ( )
                          | O  O |         B O B   M A R A S
                          /  __  \      /
                         (   \/   )  __/
                          \ \__/ / 
                           \____/ 
                           |_/\_|     H A P P Y    C O M P U T I N G    !!!
        

corre@csd4.csd.uwm.edu (Alan D Corre) (12/20/89)

In my view, one of the most useful and characteristic features of Icon
is the string scanning facility (marked by the question mark "?")
which enables strings to be manipulated simply. In my recently
published book "Icon Programming for Humanists" I introduced this
feature right at the beginning since it can be utilized with a modest
understanding of the rest of the language. Another characteristic
feature (mentioned recently in this newsgroup) is the fact that
results of procedures can be used Boolean fashion, returning something
being equivalent to TRUE. There is a difference from Lisp however, in
that the return of a null value still counts as a "success".

An American visitor to London once commented to me that in that city
they erect railings to stop people from crossing the street mid-block.
She commented that in America we believe in freedom, so we allow
people to cross and kill themselves. Computer languages are a bit like
that. Pascal hems you in with railings. Snobol lets your programs blow
up. Icon, it seems to me, strikes a good balance between the Germanic
coercion of Pascal and the American permissiveness of Snobol.
--
Alan D. Corre
Department of Hebrew Studies
University of Wisconsin-Milwaukee                     (414) 229-4245
PO Box 413, Milwaukee, WI 53201               corre@csd4.csd.uwm.edu

gudeman@CS.ARIZONA.EDU ("David Gudeman") (12/20/89)

   From: zaphod.mps.ohio-state.edu!uwm.edu!csd4.csd.uwm.edu!corre@tut.cis.ohio-state.edu  (Alan D Corre)

   An American visitor to London once commented to me that in that city
   they erect railings to stop people from crossing the street mid-block.
   She commented that in America we believe in freedom, so we allow
   people to cross and kill themselves.

In London, perhaps people respect railings.  In America we believe in
freedom, so we would jump over or go under :-).

spqr@ecs.southampton.ac.UK (Sebastian P Q Rahtz) (12/20/89)

 >    An American visitor to London once commented to me that in that city
 >    they erect railings to stop people from crossing the street mid-block.
 >    She commented that in America we believe in freedom, so we allow
 >    people to cross and kill themselves.
I have to tell you, from these wet and wild shores, that we don't have
blocks on our streets. our permissiveness and freedom is such  that
most of out cities are built higgledy-piggledy. We also tend to have
traffic lights that simply go green, rather than instructing
pedestrians to WALK.

Icon, of course, is neither wet nor higgledy-piggledy; it always
strikes me when I defend or describe it that one of the joys is that
fact that it has a specific origin, namely Arizona and Ralph Griswold.
Of course lots of people have worked on it, but there is still a
feeling that a small group is looking after the language because they
care, not to make money or satisfy a committee. We'll know to give up
when ISO appoint an Icon committee!

Sebastian Rahtz                        S.Rahtz@uk.ac.soton.ecs (JANET)
Computer Science                       S.Rahtz@ecs.soton.ac.uk (Bitnet)
Southampton S09 5NH, UK                S.Rahtz@sot-ecs.uucp    (uucp)