%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.22",
%%%     date            = "12 September 2014",
%%%     time            = "06:39:01 MDT",
%%%     filename        = "icon.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "http://www.math.utah.edu/~beebe",
%%%     checksum        = "42080 1677 7114 71837",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "BibTeX, bibliography, Icon programming
%%%                        language",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This is a bibliography of publications about
%%%                        the Icon programming language,
%%%                        implementations of which are freely available
%%%                        for most major platforms, in source and
%%%                        binary form, at the Icon development site
%%%
%%%                            http://www.cs.arizona.edu/icon/index.html
%%%                            ftp://ftp.cs.arizona.edu/icon
%%%
%%%                        The Icon Newletter appears a few times a
%%%                        year; issue 54 appeared in December 1997.
%%%                        See
%%%
%%%                            http://www.cs.arizona.edu/icon/inl/inl.htm
%%%
%%%                        The Icon Analyst is a small journal that appear
%%%                        six times yearly.  See
%%%
%%%                             http://www.cs.arizona.edu/icon/analyst/ia.htm
%%%
%%%                        Apparently 283 technical reports have been
%%%                        produced about Icon; none are yet covered
%%%                        by this bibliography.  See
%%%
%%%                            http://www.cs.arizona.edu/icon/docs/docs.htm
%%%
%%%                        At version 1.22, the year coverage looked
%%%                        like this:
%%%
%%%                             1979 (   1)    1990 (   5)    2001 (   0)
%%%                             1980 (   2)    1991 (   0)    2002 (   0)
%%%                             1981 (   1)    1992 (   3)    2003 (   0)
%%%                             1982 (   1)    1993 (   5)    2004 (   1)
%%%                             1983 (   7)    1994 (   4)    2005 (   0)
%%%                             1984 (   1)    1995 (   1)    2006 (   0)
%%%                             1985 (   1)    1996 (   2)    2007 (   0)
%%%                             1986 (   2)    1997 (   2)    2008 (   0)
%%%                             1987 (   4)    1998 (   3)    2009 (   0)
%%%                             1988 (   2)    1999 (   2)    2010 (   1)
%%%                             1989 (   3)    2000 (   0)
%%%
%%%                             Article:         35
%%%                             Book:            10
%%%                             InProceedings:    2
%%%                             Proceedings:      4
%%%                             TechReport:       1
%%%                             Unpublished:      2
%%%
%%%                             Total entries:   54
%%%
%%%                        Icon is a descendant of Snobol, and like that
%%%                        older language, is well-suited to
%%%                        pattern-matching and string-processing
%%%                        applications.
%%%
%%%                        Icon also has some unusual programming
%%%                        language features, such as functions that can
%%%                        return multiple values or elements of
%%%                        infinite sequences, coroutines, and
%%%                        expression suspend/resume, that make it
%%%                        worthy of study both for programmers, and for
%%%                        compiler implementors (see Griswold:1986:IIP
%%%                        below).
%%%
%%%                        Icon's Web site (see above) describes it like
%%%                        this: ``Icon is a high-level, general-purpose
%%%                        programming language with a large repertoire
%%%                        of features for processing data structures
%%%                        and character strings. Icon is an imperative,
%%%                        procedural language with a syntax reminiscent
%%%                        of C and Pascal, but with semantics at a much
%%%                        higher level.''
%%%
%%%                        This bibliography has been constructed almost
%%%                        entirely from entries in other bibliographies
%%%                        in the TeX User Group bibliography archive at
%%%                        ftp://ftp.math.utah.edu/pub/tex/bib.  Entries
%%%                        in this bibliography are sorted by ascending
%%%                        year, and within each year, by ascending
%%%                        citation label, using `bibsort -byyear'.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================

%%% ====================================================================
%%% Acknowledgement abbreviations:

@String{ack-nhfb = "Nelson H. F. Beebe,
                    University of Utah,
                    Department of Mathematics, 110 LCB,
                    155 S 1400 E RM 233,
                    Salt Lake City, UT 84112-0090, USA,
                    Tel: +1 801 581 5254,
                    FAX: +1 801 581 4148,
                    e-mail: \path|beebe@math.utah.edu|,
                            \path|beebe@acm.org|,
                            \path|beebe@computer.org| (Internet),
                    URL: \path|http://www.math.utah.edu/~beebe/|"}

@String{ack-pb =      "Preston Briggs,
                     Tera Computer Company,
                     2815 Eastlake East,
                     Seattle, WA 98102,
                     USA,
                     Tel: +1 206 325-0800,
                     e-mail: \path|preston@tera.com|"}

%%% ====================================================================
%%% Journal abbreviations:

@String{j-BYTE                  = "Byte Magazine"}

@String{j-COMP-J                = "The Computer Journal"}

@String{j-COMP-LANGS            = "Computer Languages"}

@String{j-COMP-SYS              = "Computing Systems"}

@String{j-LINUX-J               = "Linux Journal"}

@String{j-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

@String{j-SPE                   = "Software---Practice and Experience"}

@String{j-SPE                   = "Soft\-ware\emdash Prac\-tice and
                                  Experience"}

@String{j-TOPLAS                = "ACM Transactions on Programming Languages
                                  and Systems"}

%%% ====================================================================
%%% Publishers and their addresses:

@String{pub-ACM                 = "ACM Press"}

@String{pub-ACM:adr             = "New York, NY 10036, USA"}

@String{pub-ACM:adr             = "New York, NY, USA"}

@String{pub-NH                  = "North-Hol{\-}land"}

@String{pub-NH:adr              = "Amsterdam, The Netherlands"}

@String{pub-PH                  = "Pren{\-}tice-Hall"}

@String{pub-PH:adr              = "Englewood Cliffs, NJ 07632, USA"}

@String{pub-PUP                 = "Princeton University Press"}

@String{pub-PUP:adr             = "Princeton, NJ, USA"}

@String{pub-SV                  = "Spring{\-}er-Ver{\-}lag"}

@String{pub-SV:adr              = "Berlin, Germany~/ Heidelberg,
                                  Germany~/ London, UK~/ etc."}

@String{pub-USENIX              = "USENIX"}

@String{pub-USENIX:adr          = "Berkeley, CA, USA"}

%%% ====================================================================
%%% Series abbreviations:

@String{ser-SIGPLAN             = "ACM SIG{\-}PLAN Notices"}

%%% ====================================================================
%%% Bibliography entries, sorted by year, and then by citation key.

@Article{Griswold:1979:IPL,
  author =       "R. E. Griswold and D. R. Hanson and J. T. Korb",
  title =        "The {Icon} programming language: an overview",
  journal =      j-SIGPLAN,
  volume =       "14",
  number =       "4",
  pages =        "18--31",
  month =        apr,
  year =         "1979",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 25 11:46:37 MDT 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  corpsource =   "Dept. of Computer Sci., Univ. of Arizona, Tucson, AZ,
                 USA",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Icon; nonnumerical applications; procedure oriented
                 languages; programming language; string processing
                 string processing",
  treatment =    "G General Review",
}

@Article{Griswold:1980:UCS,
  author =       "R. E. Griswold",
  title =        "The use of character sets and character mappings in
                 {Icon}",
  journal =      j-COMP-J,
  volume =       "23",
  number =       "2",
  pages =        "107--114",
  month =        may,
  year =         "1980",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Univ. of Arizona, Tucson, AZ,
                 USA",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "character mapping; character sets; computer
                 programming; computer programming languages; Icon
                 programming; language; nonnumerical; paradigms;
                 problems; procedure oriented languages; programming
                 techniques",
  treatment =    "P Practical",
}

@Article{Hanson:1980:PSM,
  author =       "David R. Hanson",
  title =        "A Portable Storage Management System for the {Icon}
                 Programming Language",
  journal =      j-SPE,
  volume =       "10",
  number =       "6",
  pages =        "489--500",
  month =        jun,
  year =         "1980",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Griswold:1981:GI,
  author =       "Ralph E. Griswold and David R. Hanson and John T.
                 Korb",
  title =        "Generators in {Icon}",
  journal =      j-TOPLAS,
  volume =       "3",
  number =       "2",
  pages =        "144--161",
  month =        apr,
  year =         "1981",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibsource =    "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-pb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Griswold:1982:EEI,
  author =       "Ralph E. Griswold",
  title =        "The Evaluation of Expressions in {Icon}",
  journal =      j-TOPLAS,
  volume =       "4",
  number =       "4",
  pages =        "563--584",
  month =        oct,
  year =         "1982",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibsource =    "Compiler/bevan.bib;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  abstract =     "Expressions in the Icon programming language may be
                 {\em conditional}, possibly producing no result, or
                 they may be {\em generators}, possibly producing a
                 sequence of results. Generators, coupled with a goal
                 directed evaluation mechanism, provide a concise method
                 for expression many complex computations. This paper
                 describes the evaluation of expressions in Icon and
                 presents an Icon program that explicates the semantics
                 of expression evaluation. This program also provides an
                 executable ``formalism'' that can be used as a tool to
                 design and test changes and additions to the
                 language.",
  acknowledgement = ack-pb,
  checked =      "19940302",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "control structures; Icon; interpreters; semantics",
  source =       "Dept. Library",
}

@Article{Fraser:1983:HLP,
  author =       "C. W. Fraser and D. R. Hanson",
  title =        "A high-level programming and command language",
  journal =      j-SIGPLAN,
  volume =       "18",
  number =       "6",
  pages =        "212--219",
  month =        jun,
  year =         "1983",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 25 11:46:37 MDT 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  conflocation = "San Francisco, CA, USA; 27-29 June 1983",
  conftitle =    "Proceedings of the SIGPLAN '83 Symposium on
                 Programming Language Issues in Software Systems",
  corpsource =   "Dept. of Computer Sci., Univ. of Arizona, Tucson, AZ,
                 USA",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "command language; data abstractions; EZ; high level
                 languages; high-level programming; high-level
                 string-processing concepts; Icon; LISP; Lisp; PASCAL;
                 Pascal; SNOBOL4; strings; text files; type fusion",
  sponsororg =   "ACM",
  treatment =    "P Practical",
}

@Book{Griswold:1983:IPL,
  author =       "Ralph E. Griswold and Madge T. Griswold",
  title =        "The {Icon} Programming Language",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xviii + 313",
  year =         "1983",
  ISBN =         "0-13-449777-5",
  ISBN-13 =      "978-0-13-449777-8",
  LCCN =         "QA76.73.I19 G74 1983",
  bibdate =      "Tue Dec 14 22:54:38 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
}

@Article{Griswold:1983:ISP,
  author =       "Ralph E. Griswold",
  title =        "Implementing {Snobol4} Pattern Matching in {Icon}",
  journal =      j-COMP-LANGS,
  volume =       "8",
  number =       "2",
  pages =        "77--92",
  month =        "????",
  year =         "1983",
  CODEN =        "COLADA",
  ISSN =         "0096-0551",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Mar 25 14:04:06 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Univ. of Arizona, Tucson, AZ,
                 USA",
  fjournal =     "Computer Languages",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  journalabr =   "Comput Lang",
  keywords =     "computer software; cursor model; data handling; Icon;
                 pattern matching; pattern recognition; SNOBOL4 pattern
                 matching; string; substring model",
  treatment =    "P Practical",
}

@Article{Griswold:1983:PCO,
  author =       "R. E. Griswold and Michael Novak",
  title =        "Programmer-Defined Control Operations",
  journal =      j-COMP-J,
  volume =       "26",
  number =       "2",
  pages =        "175--183",
  month =        may,
  year =         "1983",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150J (Operating
                 systems)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Univ. of Arizona, Tucson, AZ,
                 USA",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "computer programming languages; control operations;
                 high level languages; Icon; operating systems
                 (computers); OS; programmers; programming languages",
  treatment =    "P Practical",
}

@Article{Wampler:1983:CI,
  author =       "S. B. Wampler and R. E. Griswold",
  title =        "Co-expressions in {Icon}",
  journal =      j-COMP-J,
  volume =       "26",
  number =       "1",
  pages =        "72--78",
  month =        feb,
  year =         "1983",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Univ. of Arizona, Tucson, AZ,
                 USA",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "co-expressions; computer programming languages;
                 generators; high level languages; high level
                 programming; Icon; programming languages",
  treatment =    "P Practical",
}

@Article{Wampler:1983:IGG,
  author =       "Stephen B. Wampler and Ralph E. Griswold",
  title =        "The Implementation of Generators and Goal-directed
                 Evaluation in {Icon}",
  journal =      j-SPE,
  volume =       "13",
  number =       "6",
  pages =        "495--518",
  month =        jun,
  year =         "1983",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages; measurement; performance",
  review =       "ACM CR 8405-0364",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, ICON \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Control structures \\
                 D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Run-time environments \\ G.2.1 Mathematics of
                 Computing, DISCRETE MATHEMATICS, Combinatorics,
                 Generating functions",
}

@Article{Wampler:1983:RS,
  author =       "Stephen B. Wampler and Ralph E. Griswold",
  title =        "Result Sequences",
  journal =      j-COMP-LANGS,
  volume =       "8",
  number =       "1",
  pages =        "1--14",
  month =        "????",
  year =         "1983",
  CODEN =        "COLADA",
  ISSN =         "0096-0551",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Mar 25 14:04:06 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages)",
  classification = "723",
  corpsource =   "Dept. of Computer Sci., Tucson, AZ, USA",
  fjournal =     "Computer Languages",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  journalabr =   "Comput Lang",
  keywords =     "computer programming languages; control operations;
                 enclosing; expression; expression evaluation; goal
                 directed evaluation; high level languages; Icon;
                 languages; programming; result sequences",
  treatment =    "P Practical",
}

@TechReport{Mitchell:1984:ISU,
  author =       "William H. Mitchell",
  title =        "An {Icon} subsystem for {UNIX} Emacs",
  type =         "Technical report",
  number =       "TR 84-8",
  institution =  "Dept. of Computer Science, The University of Arizona",
  address =      "Tucson, AZ, USA",
  pages =        "17",
  year =         "1984",
  bibdate =      "Mon Jan 12 12:27:38 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Icon (Computer program language); Text editors
                 (Computer programs)",
}

@Article{Griswold:1985:RSI,
  author =       "R. E. Griswold",
  title =        "{Rebus} --- a {SNOBOL4\slash Icon} hybrid",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "2",
  pages =        "7--16",
  month =        feb,
  year =         "1985",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 25 11:46:37 MDT 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  corpsource =   "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "control structures; high level languages; Icon;
                 pattern matching; programming language; Rebus; semantic
                 framework; SNOBOL4; syntax",
  treatment =    "P Practical",
}

@Book{Griswold:1986:IIP,
  author =       "Ralph E. Griswold and Madge T. Griswold",
  title =        "The Implementation of the {Icon} Programming
                 Language",
  publisher =    pub-PUP,
  address =      pub-PUP:adr,
  pages =        "x + 336",
  year =         "1986",
  ISBN =         "0-691-08431-9",
  ISBN-13 =      "978-0-691-08431-2",
  LCCN =         "QA76.73.I19 G76 1986",
  bibdate =      "Sun Jul 10 01:07:50 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  price =        "US\$39.50",
  URL =          "http://www.cs.arizona.edu/icon/ibsale.htm",
}

@Article{Lapalme:1986:LIP,
  author =       "Guy Lapalme and Suzanne Chapleau",
  title =        "{Logicon}: An Integration of {Prolog} into {Icon}",
  journal =      j-SPE,
  volume =       "16",
  number =       "10",
  pages =        "925--944",
  month =        oct,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "http://dx.doi.org/10.1002/spe.4380161005",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib;
                 http://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@InProceedings{Hinckley:1987:OOE,
  author =       "K. Hinckley",
  title =        "An object oriented extension language for integrating
                 disparate applications",
  crossref =     "Bullinger:1987:HII",
  pages =        "529--533",
  year =         "1987",
  bibdate =      "Wed Oct 30 06:13:54 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  abstract =     "QUICHE (quick user interface and command handling
                 extension) is an extension language based on the Icon
                 programming language. Like Lisp-style EMACS extension
                 languages, it can be used to define key bindings.
                 Unlike those extensions, QUICHE is not bound to any
                 particular application, can easily make system calls
                 and invoke programs and can call entry points in the
                 program it is extending, either directly or through a
                 trait binding mechanism. It is this latter ability that
                 makes QUICHE an ideal means of unifying application
                 interfaces. Traits are defined for applications such as
                 window managers, debuggers and editors. Each trait
                 encapsulates a set of basic operations that will be
                 available in any instance of an object. The existence
                 of a standard set of traits allows the interface
                 designer to tailor interfaces that provide consistency
                 across multiple applications, and to easily modify or
                 add features to a set of applications. In addition,
                 QUICHE can also extend applications which do not
                 themselves support any traits. A manager can be written
                 in QUICHE that, instead of calling the application,
                 inserts the commands corresponding to a call as though
                 the user had entered them.",
  acknowledgement = ack-nhfb,
  affiliation =  "User Environment Apollo Computer, Inc., Chelmsford,
                 MA, USA",
  classification = "C6110 (Systems analysis and programming); C6140D
                 (High level languages); C6150J (Operating systems);
                 C6180 (User interfaces)",
  keywords =     "Application interfaces; Command handling extension;
                 Consistency; Debuggers; Disparate applications;
                 Editors; Entry points; Icon programming language;
                 Interface designer; Key bindings; Multiple
                 applications; Object oriented extension language;
                 QUICHE; Quick user interface; System calls; Trait
                 binding mechanism; Window managers",
  thesaurus =    "High level languages; Multiprogramming;
                 Object-oriented programming; User interfaces",
}

@Article{OBagy:1987:RII,
  author =       "J. O'Bagy and R. E. Griswold",
  title =        "A recursive interpreter for the {Icon} programming
                 language",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "7",
  pages =        "138--149",
  month =        jul,
  year =         "1987",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon May 3 12:59:45 MDT 1999",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  series =       ser-SIGPLAN,
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/plan/29650/p138-o_bagy/",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "design; languages",
  subject =      "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, ICON. {\bf D.3.4} Software,
                 PROGRAMMING LANGUAGES, Processors, Interpreters.",
}

@Article{Griswold:1988:PG,
  author =       "R. E. Griswold",
  title =        "Programming with Generators",
  journal =      j-COMP-J,
  volume =       "31",
  number =       "3",
  pages =        "220--228",
  month =        jun,
  year =         "1988",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of Arizona, Tucson, AZ, USA",
  affiliationaddress = "Univ of Arizona, Tucson, AZ, USA",
  classcodes =   "C6110 (Systems analysis and programming); C6140D (High
                 level languages)",
  classification = "723",
  corpsource =   "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "computer programming; computer programming languages;
                 control structures; expression evaluation; generators;
                 goal-directed evaluation; high level languages; icon;
                 Icon programming language; logic programming;
                 programming language; programming with generators;
                 result; sequences; termination",
  treatment =    "P Practical",
}

@Article{Griswold:1988:SPL,
  author =       "Ralph E. Griswold and Janalee O'Bagy",
  title =        "{Seque}: a Programming Language for Manipulating
                 Sequences",
  journal =      j-COMP-LANGS,
  volume =       "13",
  number =       "1",
  pages =        "13--22",
  month =        "????",
  year =         "1988",
  CODEN =        "COLADA",
  ISSN =         "0096-0551",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Mar 25 14:04:06 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Arizona, Tucson, AZ, USA",
  classcodes =   "C6130 (Data handling techniques); C6140D (High level
                 languages)",
  classification = "723",
  corpsource =   "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  fjournal =     "Computer Languages",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  journalabr =   "Comput Lang",
  keywords =     "component; computational; computer programming;
                 computer programming languages; data handling; data
                 objects; evaluation; goal-directed; goal-directed
                 evaluation; high level languages; Icon programming
                 language; infinite data objects; language; manipulating
                 sequences; programming; recurrence relations; Seque;
                 sequences manipulation; storage component; stream
                 manipulation",
  treatment =    "P Practical",
}

@Article{Christopher:1989:MDC,
  author =       "Thomas W. Christopher",
  title =        "Message Driven Computing and its relationship to
                 actors",
  journal =      j-SIGPLAN,
  volume =       "24",
  number =       "4",
  pages =        "76--78",
  month =        apr,
  year =         "1989",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:37 MST 2003",
  bibsource =    "Compendex database; http://portal.acm.org/;
                 http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/plan/67386/p76-christopher/",
  abstract =     "Message Driven Computation, derived in part from the
                 parallel object oriented language Actors, provides a
                 more general computational style than strict object
                 orientation, but does include object oriented
                 programming as a special case. Message Driven
                 Computation can also support control-flow, data-flow,
                 and demand-driven computational models. In this article
                 we have embodied MDC in two languages, extensions of
                 Icon and of C. The C version is running multiprocessing
                 on an Encore and multicomputing on an Ncube. In
                 addition to a number of small algorithms, we are
                 running an FP interpreter written in MDC and have an
                 LALR(1) parser generator under construction. We have
                 distributed, parallel garbage collectors for MDC
                 written in an extension of MDC (they have access to the
                 data-structures on a node.)",
  acknowledgement = ack-nhfb,
  affiliation =  "Illinois Inst of Technology",
  affiliationaddress = "Chicago, IL, USA",
  classification = "723",
  conference =   "Proceedings of the ACM SIGPLAN Workshop on
                 Object-Based Concurrent Programming",
  confname =     "Proceedings of the ACM SIGPLAN workshop on
                 Object-based concurrent programming, September 26--27
                 1988, San Diego, CA",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  journalabr =   "SIGPLAN Not",
  keywords =     "Actor Based Systems; Computer Metatheory--Programming
                 Theory; Computer Systems Programming; design; Message
                 Driven Computing; Multiprocessing Programs",
  meetingaddress = "San Diego, CA, USA",
  meetingdate =  "Sep 26--27 1988",
  meetingdate2 = "09/26--27/88",
  subject =      "{\bf D.4.4} Software, OPERATING SYSTEMS,
                 Communications Management, Message sending. {\bf D.1.3}
                 Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming. {\bf D.4.1} Software, OPERATING SYSTEMS,
                 Process Management, Concurrency.",
}

@Article{Griswold:1989:DSI,
  author =       "Ralph E. Griswold",
  title =        "Data Structures in the Icon Programming Language",
  journal =      j-COMP-SYS,
  volume =       "2",
  number =       "4",
  pages =        "339--365",
  month =        "Fall",
  year =         "1989",
  CODEN =        "CMSYE2",
  ISSN =         "0895-6340",
  bibdate =      "Fri Sep 13 08:53:14 MDT 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Arizona Univ., Tucson, AZ, USA",
  classification = "C6120 (File organisation); C6140D (High level
                 languages)",
  fjournal =     "Computing Systems",
  keywords =     "Arbitrary values; Associative lookup; Automatic
                 storage management; Data structures; Deque access
                 mechanisms; Goal-directed evaluation mechanism; Graphs;
                 Heterogeneity; Icon programming language; Lists;
                 Natural geometrical interpretation; Pointer semantics;
                 Positional access mechanisms; Problem domain;
                 Programming domain; Records; Sets; Tables; Trees; Type
                 repertoire extension",
  thesaurus =    "Data structures; High level languages",
}

@Article{Walker:1989:FPI,
  author =       "Kenneth W. Walker",
  title =        "First-class patterns for {Icon}",
  journal =      j-COMP-LANGS,
  volume =       "14",
  number =       "3",
  pages =        "153--163",
  month =        "????",
  year =         "1989",
  CODEN =        "COLADA",
  ISSN =         "0096-0551",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Mar 25 14:04:06 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of Arizona",
  affiliationaddress = "Tucson, AZ, USA",
  classcodes =   "C6140D (High level languages); C6130D (Document
                 processing techniques)",
  classification = "723",
  corpsource =   "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  fjournal =     "Computer Languages",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  journalabr =   "Comput Lang",
  keywords =     "backtracking; coexpression semantics; Computer
                 Programming Languages; constructs; control structure;
                 dynamically created; entities; executable form; high
                 level languages; Icon Programming Language; Icon
                 programming language; interpreters; language; Language
                 Constructs; matching expressions; modifications;
                 pattern data type; pattern simulation; problem solving;
                 procedure syntax; Snobol Programming Language; SNOBOL4;
                 String Pattern Matching; string pattern matching",
  treatment =    "P Practical",
}

@Book{Corre:1990:IPH,
  author =       "Alan D. Corre",
  title =        "{Icon} programming for humanists",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xiv + 157",
  year =         "1990",
  ISBN =         "0-13-450180-2",
  ISBN-13 =      "978-0-13-450180-2",
  LCCN =         "QA76.73.I19 C67 199",
  bibdate =      "Thu Feb 22 06:21:31 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
}

@Book{Griswold:1990:IPL,
  author =       "Ralph E. Griswold and Madge T. Griswold",
  title =        "The {Icon} Programming Language",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xv + 367",
  year =         "1990",
  ISBN =         "0-13-447889-4",
  ISBN-13 =      "978-0-13-447889-0",
  LCCN =         "QA76.73.I19 G74 1990",
  bibdate =      "Tue Dec 14 22:54:39 1993",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  libnote =      "Not yet in my library.",
}

@Article{Griswold:1990:SSI,
  author =       "R. E. Griswold",
  title =        "String Scanning in the {Icon} Programming Language",
  journal =      j-COMP-J,
  volume =       "33",
  number =       "2",
  pages =        "98--107",
  month =        apr,
  year =         "1990",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  classcodes =   "C6140D (High level languages); C6130D (Document
                 processing techniques); C6110 (Systems analysis and
                 programming)",
  classification = "C6110 (Systems analysis and programming); C6130D
                 (Document processing techniques); C6140D (High level
                 languages)",
  corpsource =   "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "design; general-; General-purpose programming
                 language; high level languages; HLL; Icon programming
                 language; implementation issues; Implementation issues;
                 language; Language design; numerical computation;
                 Numerical computation; programming; purpose programming
                 language; string manipulation; String manipulation;
                 string scanning; String scanning; word processing",
  thesaurus =    "High level languages; Programming; Word processing",
  treatment =    "P Practical",
}

@Article{Nilsen:1990:HLG,
  author =       "Kelvin Nilsen",
  title =        "High-level Goal-directed Concurrent Processing in
                 {Icon}",
  journal =      j-SPE,
  volume =       "20",
  number =       "12",
  pages =        "1273--1290",
  month =        dec,
  year =         "1990",
  CODEN =        "SPEXBL",
  DOI =          "http://dx.doi.org/10.1002/spe.4380201207",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib;
                 http://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Nilsen:1990:SDT,
  author =       "Kelvin Nilsen",
  title =        "A stream data type that supports goal-directed pattern
                 matching on unbounded sequences of values",
  journal =      j-COMP-LANGS,
  volume =       "15",
  number =       "1",
  pages =        "41--54",
  month =        "????",
  year =         "1990",
  CODEN =        "COLADA",
  ISSN =         "0096-0551",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Mar 25 14:04:06 MST 1997",
  bibsource =    "Compendex database;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Iowa State Univ",
  affiliationaddress = "Ames, IA, USA",
  classcodes =   "C6120 (File organisation); C6110 (Systems analysis and
                 programming); C5260B (Computer vision and picture
                 processing)C6180N (Natural language processing); C6130D
                 (Document processing techniques); C6140D (High level
                 languages)",
  classification = "723",
  corpsource =   "Dept. of Comput. Sci., Iowa State Univ., Ames, IA,
                 USA",
  fjournal =     "Computer Languages",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  journalabr =   "Comput Lang",
  keywords =     "arbitrary values; Computer Programming Languages;
                 computerised pattern recognition; Data Processing--Data
                 Structures; data structures; data type; Design;
                 goal-directed; Goal-Directed Pattern Matching; high;
                 Icon; interactive user; interfaces; level languages;
                 natural language processing; pattern matching
                 techniques; processing; programming; sequences;
                 Snobol4; SNOBOL4; stream data type; unbounded; user
                 interfaces; word",
  treatment =    "P Practical",
}

@Article{Fernandez:1992:GCA,
  author =       "Mary F. Fernandez and David R. Hanson",
  title =        "Garbage Collection Alternatives for {Icon}",
  journal =      j-SPE,
  volume =       "22",
  number =       "8",
  pages =        "659--672",
  month =        aug,
  year =         "1992",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Gudeman:1992:DSG,
  author =       "David A. Gudeman",
  title =        "Denotational Semantics of a Goal-Directed Language",
  journal =      j-TOPLAS,
  volume =       "14",
  number =       "1",
  pages =        "107--125",
  month =        jan,
  year =         "1992",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jan 5 07:58:42 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0164-0925/104659.html",
  abstract =     "Goal-directed evaluation is a very expressive
                 programming language paradigm that is supported in
                 relatively few languages. It is characterized by
                 evaluation of expressions in an attempt to meet some
                 goal, with resumption of previous expressions on
                 failure. This paradigm is found in SNOBL4 in its
                 pattern-matching facilities, and in Icon as a general
                 part of the language. This paper presents a
                 denotational semantics of Icon and shows how Icon is in
                 fact a combination of two distinct paradigms,
                 goal-directed evaluation and functional application.
                 The two paradigms are not supported separately in
                 different contexts, but integrated fully into a single
                 evaluation mechanism.",
  acknowledgement = ack-nhfb # " and " # ack-pb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "languages; theory",
  subject =      "{\bf F.3.2}: Theory of Computation, LOGICS AND
                 MEANINGS OF PROGRAMS, Semantics of Programming
                 Languages, Denotational semantics. {\bf D.3.1}:
                 Software, PROGRAMMING LANGUAGES, Formal Definitions and
                 Theory, Semantics. {\bf D.3.2}: Software, PROGRAMMING
                 LANGUAGES, Language Classifications, Nonprocedural
                 languages. {\bf D.3.2}: Software, PROGRAMMING
                 LANGUAGES, Language Classifications, ICON. {\bf D.3.3}:
                 Software, PROGRAMMING LANGUAGES, Language Constructs
                 and Features, Control structures. {\bf F.3.3}: Theory
                 of Computation, LOGICS AND MEANINGS OF PROGRAMS,
                 Studies of Program Constructs, Control primitives.",
}

@Article{Walker:1992:OCI,
  author =       "Kenneth Walker and Ralph E. Griswold",
  title =        "An Optimizing Compiler for the {Icon} Programming
                 Language",
  journal =      j-SPE,
  volume =       "22",
  number =       "8",
  pages =        "637--657",
  month =        aug,
  year =         "1992",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Griswold:1993:DID,
  author =       "William G. Griswold and Gregg M. Townsend",
  title =        "The Design and Implementation of Dynamic Hashing for
                 Sets and Tables in {Icon}",
  journal =      j-SPE,
  volume =       "23",
  number =       "4",
  pages =        "351--367",
  month =        apr,
  year =         "1993",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Article{Griswold:1993:HIP,
  author =       "Ralph E. Griswold and Madge T. Griswold",
  title =        "History of the {Icon} programming language",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "3",
  pages =        "53--68",
  month =        mar,
  year =         "1993",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:16:34 MST 2003",
  bibsource =    "http://portal.acm.org/; http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/plan/154766/p53-griswold/",
  abstract =     "The Icon programming language, which was conceived in
                 1977, was strongly influenced by the earlier SNOBOL
                 languages and the subsequent SL5. This paper
                 concentrates primarily on the early development of
                 Icon, but also discusses subsequent versions. The
                 motivation, design philosophy, and environmental
                 factors that shaped Icon are emphasized in this
                 paper.",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  classification = "C6140D (High level languages)",
  confdate =     "20-23 April 1993",
  conflocation = "Cambridge, MA, USA",
  confname =     "HOPL-II. The second ACM SIGPLAN conference on History
                 of programming languages, April 20--23, 1993,
                 Cambridge, MA",
  confsponsor =  "ACM",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "documentation; Icon programming language; languages;
                 management; SL5; SNOBOL languages; standardization",
  subject =      "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, ICON. {\bf K.6.3} Computing Milieux,
                 MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS,
                 Software Management, Software development. {\bf D.3.2}
                 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, C. {\bf K.2} Computing Milieux,
                 HISTORY OF COMPUTING, SNOBOL. {\bf K.2} Computing
                 Milieux, HISTORY OF COMPUTING, Software.",
  thesaurus =    "High level languages; History",
}

@Article{Hanson:1993:BII,
  author =       "David R. Hanson",
  title =        "A brief introduction to {Icon}",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "3",
  pages =        "359--360",
  month =        mar,
  year =         "1993",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:16:34 MST 2003",
  bibsource =    "http://portal.acm.org/; http://www.acm.org/pubs/toc/;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/plan/154766/p359-hanson/",
  abstract =     "Icon is a very high-level imperative language with a
                 rich repertoire of string and structure processing
                 facilities. It is available on a wide range of
                 computers and is in wide use. In Icon, values, not
                 variables, are typed. Built-in data types include
                 numerics, character sets, strings, sets, lists,
                 associative tables, records, and procedures. The
                 aggregate types-sets, lists, tables, and records-can
                 hold values of any type. Tables can be indexed by
                 values of any type. Numerics, character sets, and
                 strings are atomic values; operations on them produce
                 new values. Aggregates use pointer semantics;
                 operations on them can change existing values as well
                 as produce new ones. Strings and aggregates can be of
                 arbitrary size, and their sizes can change during
                 execution. Memory management is automatic. Icon has an
                 expression-oriented syntax, even control structures are
                 expressions. Procedures consist of zero or more
                 expressions separated by newlines or semicolons. Icon
                 programs consist of one or more procedure definitions,
                 and execution begins by calling the procedure named
                 main.",
  acknowledgement = ack-nhfb,
  affiliation =  "Princeton Univ., NJ, USA",
  classification = "C6140D (High level languages)",
  confdate =     "20-23 April 1993",
  conflocation = "Cambridge, MA, USA",
  confname =     "HOPL-II. The second ACM SIGPLAN conference on History
                 of programming languages, April 20--23, 1993,
                 Cambridge, MA",
  confsponsor =  "ACM",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Aggregate types; algorithms; Associative tables;
                 Character sets; Control structures; Data types;
                 Expression-oriented syntax; Icon; languages; Lists;
                 Numerics; Pointer semantics; Procedures; Records; Sets;
                 Strings; Structure processing; Values; Very high-level
                 imperative language",
  subject =      "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, ICON. {\bf D.3.3} Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features.",
  thesaurus =    "High level languages",
}

@Article{OBagy:1993:OSI,
  author =       "Janalee O'Bagy and Kenneth Walker and Ralph E.
                 Griswold",
  title =        "An operational semantics for {Icon}: implementation of
                 a procedural goal-directed language",
  journal =      j-COMP-LANGS,
  volume =       "18",
  number =       "4",
  pages =        "217--239",
  month =        "????",
  year =         "1993",
  CODEN =        "COLADA",
  ISSN =         "0096-0551",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Mar 25 14:04:06 MST 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classcodes =   "C6140D (High level languages); C6150C (Compilers,
                 interpreters and other processors); C6110 (Systems
                 analysis and programming)",
  corpsource =   "Dept. of Comput. Sci., Arizona Univ., Tucson, AZ,
                 USA",
  fjournal =     "Computer Languages",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  keywords =     "C; code-generation; compiled code; compiler;
                 compilers; evaluation; function parameters;
                 goal-directed; high level languages; Icon programs;
                 language translation; operational semantics;
                 optimizing; Pascal; procedural goal-directed language;
                 program; programming; programming languages; recursion;
                 technique; traditional control structures; traditional
                 high-level language",
  treatment =    "P Practical",
}

@Article{Griswold:1994:SAR,
  author =       "Ralph E. Griswold",
  title =        "Some Assembly Required: The {Icon Programming
                 Language}: {Icon} does string and structure processing
                 and numerical computation",
  journal =      j-BYTE,
  volume =       "19",
  number =       "5",
  pages =        "193--??",
  month =        may,
  year =         "1994",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280",
  ISSN-L =       "0360-5280",
  bibdate =      "Tue Jan 2 10:01:41 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "BYTE Magazine",
}

@Article{Jeffery:1994:FEM,
  author =       "Clinton L. Jeffery and Ralph E. Griswold",
  title =        "A Framework for Execution Monitoring in {Icon}",
  journal =      j-SPE,
  volume =       "24",
  number =       "11",
  pages =        "1025--1049",
  month =        nov,
  year =         "1994",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@InProceedings{Jeffery:1994:GPI,
  author =       "Clinton L. Jeffery",
  title =        "Graphics Programming in {Icon} Version 9",
  crossref =     "USENIX:1994:PUS",
  pages =        "157--168",
  day =          "26--28",
  month =        oct,
  year =         "1994",
  bibdate =      "Thu Feb 22 08:12:14 MST 1996",
  bibsource =    "ftp://ftp.uu.net/library/bibliography;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib;
                 http://www.usenix.org/",
  acknowledgement = ack-nhfb,
  affiliation =  "University of Texas, San Antonio",
}

@Article{Sloane:1995:EAG,
  author =       "Anthony M. Sloane",
  title =        "An Evaluation of an Automatically Generated Compiler",
  journal =      j-TOPLAS,
  volume =       "17",
  number =       "5",
  pages =        "691--703",
  month =        sep,
  year =         "1995",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jan 5 07:58:42 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0164-0925/213980.html",
  abstract =     "Compilers or language translators can be generated
                 using a variety of formal specification techniques.
                 Whether generation is worthwhile depends on the effort
                 required to specify the translation task and the
                 quality of the generated compiler. A systematic
                 comparison was conducted between a hand-coded
                 translator for the Icon programming language and one
                 generated by the Eli compiler construction system. A
                 direct comparison could be made since the generated
                 program performs the same translation as the hand-coded
                 program. The results of the comparison show that
                 efficient compilers can be generated from
                 specifications that are much smaller and more problem
                 oriented than the equivalent source code. We also found
                 that further work must be done to reduce the dynamic
                 memory usage of the generated compilers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "experimentation; languages; performance",
  subject =      "{\bf C.4}: Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Measurement techniques. {\bf D.2.m}:
                 Software, SOFTWARE ENGINEERING, Miscellaneous, Reusable
                 software. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
                 Processors, Translator writing systems and compiler
                 generators.",
}

@Book{Christopher:1996:IPL,
  author =       "Thomas W. Christopher",
  title =        "{Icon} Programming Language Handbook",
  publisher =    "(none)",
  address =      "(none)",
  pages =        "226",
  year =         "1996",
  ISBN =         "(none)",
  ISBN-13 =      "(none)",
  LCCN =         "(none)",
  bibdate =      "Tue Feb 20 18:10:01 2001",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  URL =          "http://toolsofcomputing.com/IconHandbook/",
  acknowledgement = ack-nhfb,
}

@Unpublished{Shipman:1996:IPL,
  author =       "John Shipman",
  title =        "The Icon programming language",
  day =          "11",
  month =        apr,
  year =         "1996",
  bibdate =      "Mon Jan 12 12:17:27 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  note =         "This tutorial on Icon is available as a World-Wide Web
                 document.",
  URL =          "http://www.nmt.edu/tcc/help/lang/icon/",
  acknowledgement = ack-nhfb,
}

@Book{Griswold:1997:GPI,
  author =       "Ralph E. Griswold and Clinton L. Jeffery and Gregg M.
                 Townsend",
  title =        "Graphics Programming in {Icon}",
  publisher =    "Peer-to-Peer Communications",
  address =      "San Jose, CA, USA",
  pages =        "????",
  year =         "1997",
  ISBN =         "1-57398-009-9",
  ISBN-13 =      "978-1-57398-009-8",
  LCCN =         "",
  bibdate =      "Mon Jan 12 11:56:02 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
}

@Book{Griswold:1997:IPL,
  author =       "Ralph E. Griswold and Madge T. Griswold",
  title =        "The {Icon} programming language",
  publisher =    "Peer-to-Peer Communications",
  address =      "San Jose, CA, USA",
  edition =      "Third",
  pages =        "xx + 386",
  year =         "1997",
  ISBN =         "1-57398-001-3",
  ISBN-13 =      "978-1-57398-001-2",
  LCCN =         "QA76.73.I19G74 1997",
  bibdate =      "Mon Jan 12 11:53:38 1998",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  price =        "US\$34.95",
  URL =          "http://www.cs.arizona.edu/icon/lb3.htm",
  acknowledgement = ack-nhfb,
}

@Book{Griswold:1998:GPI,
  author =       "Ralph E. Griswold and Clinton L. Jeffery and Gregg M.
                 Townsend",
  title =        "Graphics programming in {Icon}",
  publisher =    "Peer-to-Peer Communications",
  address =      "San Jose, CA, USA",
  pages =        "xiv + 504",
  year =         "1998",
  ISBN =         "T385.G765 1998",
  ISBN-13 =      "T385.G765 1998",
  LCCN =         "1-57398-009-9",
  bibdate =      "Thu Jan 29 08:48:19 2004",
  bibsource =    "http://unicon.sourceforge.net/ubooks.html;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
}

@Article{Jeffery:1998:GIL,
  author =       "Clinton Jeffery and Shamim Mohamed",
  title =        "A Glimpse of {Icon}: {A} Language For the Rest of Us",
  journal =      j-LINUX-J,
  volume =       "51",
  pages =        "??--??",
  month =        jul,
  year =         "1998",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Fri Oct 9 08:35:26 MDT 1998",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue51/index.html;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Wong:1998:CCT,
  author =       "Kam-Fai Wong and Vincent Y. Lum and Wai-Ip Lam",
  title =        "{Chicon} --- {A} {Chinese} Text Manipulation
                 Language",
  journal =      j-SPE,
  volume =       "28",
  number =       "7",
  pages =        "681--701",
  month =        jul,
  year =         "1998",
  CODEN =        "SPEXBL",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Thu Jul 29 15:11:50 MDT 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=1804;
                 http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=1804&PLACEBO=IE.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
}

@Book{Jeffery:1999:PMV,
  author =       "Clinton L. Jeffery",
  title =        "Program monitoring and visualization: an exploratory
                 approach",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xiv + 209",
  year =         "1999",
  ISBN =         "0-387-98644-8",
  ISBN-13 =      "978-0-387-98644-9",
  LCCN =         "QA76.65.J45 1999",
  bibdate =      "Thu Jan 29 08:45:57 2004",
  bibsource =    "http://unicon.sourceforge.net/ubooks.html;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
}

@Book{Jeffery:2004:PU,
  author =       "Clinton L. Jeffery and Shamim Mohamed and Ray Pereda
                 and Robert Parlett",
  title =        "Programming with Unicon",
  publisher =    "????",
  address =      "????",
  pages =        "xiii + 371",
  year =         "2004",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Thu Jan 29 08:49:57 2004",
  bibsource =    "http://unicon.sourceforge.net/ubooks.html;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  URL =          "http://unicon.sourceforge.net/book/ub.pdf",
  acknowledgement = ack-nhfb,
  remark =       "Book in production; no publisher selected yet, but an
                 electronic version is available in PDF form.",
}

@Article{Tratt:2010:EIL,
  author =       "Laurence Tratt",
  title =        "Experiences with an {Icon3}-like expression evaluation
                 system",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "12",
  pages =        "73--80",
  month =        dec,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "http://dx.doi.org/10.1145/1899661.1869640",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Dec 15 10:25:15 MST 2010",
  bibsource =    "http://portal.acm.org/;
                 http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

%%% ====================================================================
%%% Cross-referenced entries must come last:

@Unpublished{Proebsting:1999:JJB,
  author =       "Todd Proebsting and Gregg Townsend and Denise Todd and
                 Bob Alexander",
  title =        "{Jcon}: {A} {Java}-Based {Icon} Implementation",
  year =         "1999",
  bibdate =      "Fri Jul 30 07:03:44 1999",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  note =         "Version 2 of Jcon is an essentially complete
                 implementation of Icon, including graphics and large
                 integers. A few minor features are missing --- mostly
                 things like chdir() that cannot be done in Java.",
  URL =          "http://www.cs.arizona.edu/icon/jcon/",
  acknowledgement = ack-nhfb,
}

@Proceedings{Bullinger:1987:HII,
  editor =       "H.-J. Bullinger and B. Shackel and K. Kornwachs",
  booktitle =    "Human-computer Interaction --- INTERACT '87:
                 proceedings of the Second IFIP Conference on
                 Human-Computer Interaction, held at the University of
                 Stuttgart, Federal Republic of Germany, 1--4 September,
                 1987",
  title =        "Human-computer Interaction --- {INTERACT} '87:
                 proceedings of the Second {IFIP} Conference on
                 Human-Computer Interaction, held at the University of
                 Stuttgart, Federal Republic of Germany, 1--4 September,
                 1987",
  publisher =    pub-NH,
  address =      pub-NH:adr,
  pages =        "xli + 1138",
  year =         "1987",
  ISBN =         "0-444-70304-7",
  ISBN-13 =      "978-0-444-70304-0",
  LCCN =         "QA76.9.S88I325 1987",
  bibdate =      "Wed Oct 30 06:13:54 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  confdate =     "1--4 Sept. 1987",
  conflocation = "Stuttgart, West Germany",
  pubcountry =   "Netherlands",
}

@Proceedings{Wexelblat:1987:IIT,
  editor =       "Richard L. Wexelblat",
  booktitle =    "Proceedings of the {SIGPLAN} '87 Symposium on
                 Interpreters and Interpretive Techniques, {St. Paul,
                 Minnesota}, {June} 24--26, 1987",
  title =        "Proceedings of the {SIGPLAN} '87 Symposium on
                 Interpreters and Interpretive Techniques, {St. Paul,
                 Minnesota}, {June} 24--26, 1987",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "vii + 291",
  year =         "1987",
  ISBN =         "0-89791-235-7",
  ISBN-13 =      "978-0-89791-235-8",
  LCCN =         "QA76.7 .S54 v.22:7",
  bibdate =      "Sat Aug 13 17:16:20 MDT 1994",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  note =         "SIGPLAN Notices, v. 22, no. 7 (July 1987).",
  price =        "US\$23.00",
  acknowledgement = ack-nhfb,
  keywords =     "design; interpreters (computer programs) --
                 congresses; languages",
  subject =      "D.0 Software, GENERAL",
}

@Proceedings{ACM:1993:ASH,
  key =          "HOPL'93",
  booktitle =    "ACM SIGPLAN HOPL-II. 2nd ACM SIGPLAN History of
                 Programming Languages Conference (Preprints)",
  title =        "{ACM SIGPLAN HOPL-II}. 2nd {ACM SIGPLAN} History of
                 Programming Languages Conference (Preprints)",
  journal =      j-SIGPLAN,
  volume =       "28(3)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  month =        mar,
  year =         "1993",
  CODEN =        "SINODQ",
  ISBN =         "????",
  ISBN-13 =      "????",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  LCCN =         "????",
  bibdate =      "Fri Aug 16 19:15:37 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  confdate =     "20-23 April 1993",
  conflocation = "Cambridge, MA, USA",
  confsponsor =  "ACM",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "Ada; ALGOL 68; C; C++; CLU; Concurrent Pascal; FORMAC;
                 Forth; Icon; Lisp; Pascal; Prolog; Simulation
                 languages; Smalltalk",
  pubcountry =   "USA",
  thesaurus =    "High level languages; History",
}

@Proceedings{USENIX:1994:PUS,
  editor =       "{USENIX Association}",
  booktitle =    "Proceedings of the {USENIX} Symposium on Very High
                 Level Languages ({VHLL}): October 26--28, 1994, Santa
                 Fe, New Mexico, USA",
  title =        "Proceedings of the {USENIX} Symposium on Very High
                 Level Languages ({VHLL}): October 26--28, 1994, Santa
                 Fe, New Mexico, {USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX:adr,
  pages =        "226",
  year =         "1994",
  ISBN =         "1-880446-65-0",
  ISBN-13 =      "978-1-880446-65-2",
  LCCN =         "QA76.7 .U74 1994",
  bibdate =      "Sun Feb 18 07:46:09 MST 1996",
  bibsource =    "http://www.math.utah.edu/pub/tex/bib/icon.bib",
  acknowledgement = ack-nhfb,
  annote =       "Spine title: Very high level languages (VHLL)
                 proceedings. ``Autumn 1994''--Spine.",
  keywords =     "Programming languages (Electronic computers) ---
                 Congresses.",
}