From: "Mark C. Otto" <Mark_Otto@FWS.Gov>
To: 9fans@cse.psu.edu
Subject: [9fans] High-Level Programming Language for Plan9
Date: Fri, 27 Apr 2001 10:18:15 -0400 [thread overview]
Message-ID: <3AE97FA7.4869F919@FWS.Gov> (raw)
For a while, there has been discussion about high-level languages to port to and
to connect to plan9 more easily. One language that I have used a fair amount,
especially for text problems is Icon, http://www.cs.arizona.edu/icon/. It is
the structure programming successor to SNOBOL. (OK, roll your eyes back into
your heads now. It was developed by one of your old Bell-Labs buddies, Ralph
Griswald.) It has an off shoot called UNIcon, http://www.drones.com/unicon/,
which was going to incorporate Unicode. It connections to the OS like Perl
(builtin and other system commands, BSD sockets, X-Windows) but is a much
cleaner language. Below is their brief introduction to the language.
The idea would not be to use sockets or X11 in plan9 but to replace those with
plan9 network and graphics routines. Given that plan9 uses text-based ways of
networking and doing graphics and uses UNICode, it would make a natural
extension of UNIcon. Any comments from those more knowledgable about
programming languages than I?
Mark
ICON
----
Icon is a high-level programming language with extensive facilities for
processing strings and structures. Icon has several novel features, including
expressions that may produce sequences of results, goal-directed evaluation that
automatically searches for a successful result, and string scanning that
allows operations on strings to be formulated at a high conceptual level. Icon
also provides high-level graphics facilities.
Icon emphasizes high-level string processing and a design philosophy that allows
ease of programming and short, concise programs. Storage allocation and
garbage collection are automatic in Icon, and there are few restrictions on the
sizes of objects. Strings, lists, and other structures are created during
program
execution and their size does not need to be known when a program is written.
Values are converted to expected types automatically; for example, numeral
strings read in as input can be used in numerical computations without explicit
conversion. Icon has an expression-based syntax with reserved words; in
appearance, Icon programs resemble those of Pascal and C.
Although Icon has extensive facilities for processing strings and structures, it
also has a full repertoire of computational facilities. It is suitable for a
wide
variety of applications. Some examples are:
text analysis
text editing
document formatting
artificial intelligence
expert systems
rapid prototyping
symbolic mathematics
text generation
data laundry
There are public-domain implementations of Icon for the Macintosh, MS-DOS, many
UNIX systems, and VAX/VMS.
next reply other threads:[~2001-04-27 14:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-04-27 14:18 Mark C. Otto [this message]
2001-04-27 16:43 ` Douglas A. Gwyn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3AE97FA7.4869F919@FWS.Gov \
--to=mark_otto@fws.gov \
--cc=9fans@cse.psu.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).