H ? « »

Language peer sets for Icon:
United States
United States/1980
Designed 1980
1980s languages
Fourth generation
Late Cold War
Genus Substrings
String and List Processing
Substrings
File-reflexive
Content-reflexive
Substrings/1980
File-reflexive/1980
Content-reflexive/1980
Substrings/United States
File-reflexive/United States
Content-reflexive/United States
String and List Processing
String and List Processing/1980
String and List Processing/us

Icon(ID:510/ico002)

String manipulation language with generator capabilities 

alternate simple view
Country: United States
Designed 1980
Published: 1980
Genus: Substrings
Sammet category: String and List Processing


Griswold Indiana 1980

ICON is an imperative, procedural descendant of SNOBOL4 with a syntax reminiscent of C and PASCAL, but with semantics at a much higher level.  It was written by Griswold et al to get around the GOTO-intensive style of SNOBOL. The OO extension is Idol.  

Icon is a general-purpose language with special features for string scanning. Dynamic types. The central theme of Icon is the generator: when an expression is evaluated it may be suspended and later resumed, producing a result sequence of values until it fails. Resumption takes place implicitly in two contexts: iteration which is syntactically loop-like ('every-do'), and goal-directed evaluation in which a conditional expression automatically attempts to produce at least one result. Expressions that fail are used in lieu of Booleans. Data backtracking is supported by a reversible assignment. Icon also has co-expressions, which can be explicitly resumed at any time.




Places
People:
Structures:
Related languages
ALGOL 68 Icon   Augmentation of
SL5 Icon   Evolution of
SNOBOL4 Icon   Evolution of
Icon BICON   Implementation
Icon Cg   Influence
Icon Chicon   Implementation
Icon CommSpeak   Influence
Icon ConIcon   Influence
Icon EZ   Incorporated some features of
Icon G   Influence
Icon IDOL   Extension of
Icon Little Smalltalk   Influence
Icon Logicon   Subsumed
Icon Magma2   Control structures Influence
Icon MT Icon   Extension of
Icon Python   Influence
Icon QUICHE   Based on
Icon Rebus   Incorporated some features of
Icon Seque   Evolution of
Icon SPLASH   Influence
Icon Unicon   Evolution of

References:
  • Griswold, R. E.; D. R. Hanson and J. T. Korb, (1979) Griswold, R. E.; D. R. Hanson and J. T. Korb, "The Icon programming language: an overview", pp18-31
          in [HOPL I] (1979) SIGPLAN Notices 14(04) April 1979 including The first ACM SIGPLAN conference on History of programming languages (HOPL) Los Angeles, CA, June 1-3, 1978
  • Griswold, Ralph E. (1980) Griswold, Ralph E. "The Use of Character Sets and Character Mappings in Icon" Abstract Extract: Introduction Extract: An overview of Icon Extract: Character sets
          in (1980) The Computer Journal 23(2) 1980
  • Griswold, Ralph E. and Hanson, David R. (1980) Griswold, Ralph E. and Hanson, David R. "An Alternative to the Use of Patterns in String Processing"
          in (1980) TOPLAS 2(2) April 1980
  • Griswold, Ralph E.; Hanson, David R.; Korb, John T (1981) Griswold, Ralph E.; Hanson, David R.; Korb, John T. "Generators in Icon"
          in (1981) TOPLAS 3(2) April 1981
  • Lecarme, O. (1981) Lecarme, O. "Une famille de langages de programmation : Snobol, SL5 et Icon" pp111-154
          in (1981) RAIRO - Informatique, 15(2) 1981
  • Nagl, M. (1981) Nagl, M. review of Griswold, Hanson, and Korb 1981 (ICON) Abstract
          in (1981) ACM Computing Reviews 22(07) July 1981
  • Griswold,Ralph E. (1982) Griswold,Ralph E. "The Evaluation of Expressions in Icon"
          in (1982) TOPLAS 4(4) October 1982
  • Spector, David (1982) Spector, David "Ambiguities and insecurities in Modula-2" pp43-51 Extract: Introduction
          in [SIGPLAN] (1982) SIGPLAN Notices 17(08) August 1982
  • Coutant, Cary A.; Griswold, Ralph E.; Hanson, Davi (1983) Coutant, Cary A.; Griswold, Ralph E.; Hanson, David R. "Measuring the Performance and Behavior of Icon Programs" pp93-103
          in (1983) IEEE Transactions on Software Engineering (TSE) 9(1) 1983
  • Griswold, Ralph E. (1983) Griswold, Ralph E. "Implementing SNOBOL4 Pattern Matching in Icon"
          in (1983) Computer Languages 8(2)
  • Wampler, Stephen B. and Griswold, Ralph E. (1983) Wampler, Stephen B. and Griswold, Ralph E. "The Implementation of Generators and Goal-directed Evaluation in Icon"
          in (1983) Software — Practice and Experience 13(06) June 1983
  • Wampler, Stephen B.; Griswold, Ralph E. (1983) Wampler, Stephen B.; Griswold, Ralph E. Co-Expressions in Icon. Online copy Abstract
          in (1983) The Computer Journal 26(1) 1983
  • Griswold, Ralph E. (1984) Griswold, Ralph E. "Expression Evaluation in the ICON Programming Language" pp177-183
          in [ACM] (1984) Proceedings of the 1984 ACM Symposium on LISP and functional programming, , August 06-08, 1984, Austin, Texas,
  • Fonorow, O. R. (1988) Fonorow, O. R. "Modeling software tools with ICON" pp202-220 Abstract
          in [Proceedings] (1988) Proceedings of the 10th International Conference on Software Engineering, IEEE Computer Society Press, 1988
  • Griswold R et al (1988) Griswold R et al "Variant Translators", pp2-5
          in [Icon Analyst] (1988) The Icon Analyst 7, August 1988
  • Griswold, Ralph E. (1989) Griswold, Ralph E. "Data Structures in the Icon Programming Language" 339-365
          in (1989) Computing Systems 2(4)(1989)
  • Walker, K. W. (1989) Walker, K. W. "First-class patterns for Icon"
          in (1989) Computer Languages 14(3)
  • Corrâe, A. (1990) Corrâe, A. D. (1990). Icon programming for humanists. Englewood Cliffs, N.J., Prentice Hall.
          in (1989) Computer Languages 14(3)
  • Griswold, Ralph & Marge (1990) Griswold, Ralph & Marge "The Icon Programming Language", 2nd ed P-H 1990.
          in (1989) Computer Languages 14(3)
  • Griswold, Ralph E. (1990) Griswold, Ralph E. "String Scanning in the Icon Programming Language"
          in (1990) The Computer Journal 33(2) April 1990 Special issue on procedural programming
  • Waite, W. M. (1991) Waite, W. M. "An executable language definition" pp21-40 Extract: Introduction Extract: The C-- Language
          in [SIGPLAN] (1993) [ACM SIGPLAN] SIGPLAN Notices 28(02) February 1993
  • Fernandez, Mary F. and David R. Hanson (1992) Fernandez, Mary F. and David R. Hanson "Garbage Collection Alternatives for Icon"
          in (1992) Software: Practice and Experience 22(08), August 1992
  • Kenneth Walker, Ralph E. Griswold: An Optimizing C (1992) Kenneth Walker, Ralph E. Griswold: An Optimizing Compiler for the Icon Programming Language"
          in (1992) Software: Practice and Experience 22(08), August 1992
  • Griswold, R et al (1993) Griswold, R et al "Lost Languages - Seque" The Icon Analyst 19 August 1993 Extract: Introduction Extract: Streams Extract: Referencing the Elements of a Stream Extract: The Dynamic Nature of Streams Extract: Operations on Streams Extract: Derived Streams Extract: Other Features Extract: Implementation Extract: Conclusions
          in (1992) Software: Practice and Experience 22(08), August 1992
  • Griswold, Ralph E.; Griswold, Madge T. (1993) Griswold, Ralph E.; Griswold, Madge T. "History of the Icon Programming Language" Abstract DOI
          in [HOPL II] (1993) [ACM SIGPLAN] SIGPLAN Notices 28(03) March 1993 The second ACM SIGPLAN conference on History of programming languages (HOPL II)
  • Griswold, Ralph E.; Griswold, Madge T. (1993) Griswold, Ralph E.; Griswold, Madge T. "History of the Icon Programming Language"
          in [HOPL II] (1993) [ACM SIGPLAN] SIGPLAN Notices 28(03) March 1993 The second ACM SIGPLAN conference on History of programming languages (HOPL II)
  • Griswold, W. G.; Townsend, Gregg M. (1993) Griswold, W. G.; Townsend, Gregg M. "The Design and Implementation of Dynamic Hashing for Sets and Tables in Icon"
          in (1993) Software - Practice and Experience 23(04) April 1993
  • O'Bagy, Janalee; Walker, Kenneth; Ralph Griswold: (1993) O'Bagy, Janalee; Walker, Kenneth; Ralph Griswold: E. "An Operational Semantics for Icon: Implementation of a Procedural Goal-Directed Language"
          in (1993) Computer Languages 18(4)
  • Clinton L. Jeffery, Ralph E. Griswold: A Framework (1994) Clinton L. Jeffery, Ralph E. Griswold: A Framework for Execution Monitoring in Icon"
          in (1994) Software — Practice and Experience 24(11) November 1994
  • Griswold, Ralph E. and Griswold, Madge T. (1996) Griswold, Ralph E. and Griswold, Madge T. "History of the Icon programming language" in "History of Programming Languages II", ed Bergin and Gibson ACM Press, New York (1996)
          in (1994) Software — Practice and Experience 24(11) November 1994
  • Griswold, R. (1997) Griswold, R. E. and M. T. Griswold (1997). The Icon programming language. San Jose, Calif., 3rd ed. Peer-to-Peer Communications.
          in (1994) Software — Practice and Experience 24(11) November 1994
  • Jeffery, C. (1999) Jeffery, C. L. (1999). Programming with Icon. Foster City, CA, M & T Books.
          in (1994) Software — Practice and Experience 24(11) November 1994
  • (2002) Library of Congress Subject Headings I19
          in (1994) Software — Practice and Experience 24(11) November 1994
    Resources
    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder