cficon /

Filename Size Date modified Message
doc
ipl
man
src
tests
483 B
46 B
2.6 KB
1.2 KB
9.2 KB
6.6 KB
6.4 KB
Crud Factory Icon
-----------------

An implementation of the Icon programming language, based on the
"official" source distribution at http://www.cs.arizona.edu/icon/
Unlike the "official" distribution, Crud Factory Icon is configured
with the GNU autotools.

With the exception of some files associated with the GNU autotools and
included if you clone the Mercurial repository, the materials herein
are in the public domain.

The README file for the "official" Icon distribution is included here
as README.icon-project

==========

To build from the Mercurial sources, you can do something like

    libtoolize
    autoreconf --install
    ./configure
    make
    make install

or, if you prefer,

    libtoolize
    autoreconf --install
    mkdir build
    cd build
    ../configure
    make
    make install

Some documentation, including public domain PDFs of the textbooks for
Icon users that old-timers have on their bookshelves, is available for
download at http://bitbucket.org/chemoelectric/cficon/downloads and
also at http://www.cs.arizona.edu/icon/

==========

Why Crud Factory Icon? Icon is one of the oldest languages a person is
likely to encounter these days on the Internet, and yet it has been
afraid to change its ancient habits. For years and years the
"official" and Unicon (http://unicon.org) implementations of Icon have
adhered to file arrangements, configuration mechanisms, etc., that are
familiar to Icon users and at the same time difficult to manage and
use on Unix-like systems. One finds relative locations of files and
programs hardcoded in. Environment variables are used that also are
used by other programs that, while not as old as Icon, are immensely
more firmly established than Icon and therefore rightly "own" those
variables. A person does not worry that setting environment variables
for Python is going to break Zshell or Korn shell; but setting Icon's
"FPATH" will do exactly that.

If a tradition causes obvious harm, it is time to examine and perhaps
abandon that tradition. Abandonment of harmful traditions is the core
reason for Crud Factory Icon to exist. This is not an Icon made to
please Icon veterans, but to please people who configure and compile
source packages on Unix-like systems. The "make Configure name="
mechanism is gone, its place taken by GNU autotools. The names of key
environment variables can be set at configuration time, and default to
harmless values, such as "ICON_FPATH". Files are installed in places
familiar not to longtime Icon users, but instead familiar to users of
GNU autotools.

But other changes may come later, and may be for different reasons.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.