Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site arizona.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!arizona!whm From: whm@arizona.UUCP (Bill Mitchell) Newsgroups: net.wanted,net.lang Subject: Re: Icon -- a worthy successor to SNOBOL Message-ID: <21300@arizona.UUCP> Date: Wed, 6-Feb-85 04:27:43 EST Article-I.D.: arizona.21300 Posted: Wed Feb 6 04:27:43 1985 Date-Received: Thu, 7-Feb-85 04:05:09 EST References: <673@uwmacc.UUCP> <305@byucsa.UUCP> Organization: Dept of CS, U of Arizona, Tucson Lines: 43 Xref: watmath net.wanted:5714 net.lang:1379 > > We are running ICON here (4.2BSD) and it compiles abysmally slow! > We use it for our programming languages class. > > Chris Grevstad > {ihnp4,noao,mcnc,utah-cs}!arizona!byucsa!chris Your comment is a little vague, but a couple of comments are in order. First of all, if you're using the Icon compiler, throw it away. UNIX Icon was first implemented as a compiler, turning Icon programs into assembly language that was then assembled and linked against a huge run-time library. It worked, but was very slow. In response to this problem, the compiler was cloned and turned into an interpretive system in which the Icon translator and linker produce an interpretable file that the Icon interpreter can run to effect program execution. The Icon interpreter is probably an order of magnitude faster than the compiler wrt. to producing an executable unit and program execution is usually no worse than 10% slower. About a year ago, the maintenance overhead for the compiler began to outweigh the benefits and the compiler was deleted from the distribution. The Icon system on 4.2bsd has both the compiler and the interpreter, but there's really no reason to even think about using the compiler if you're using it for a programming languages class. (The only good reason to use the compiler is to incorporate C subroutines and the current release of Icon has an alternate means of doing this.) If you're already using the interpreter and used the term "compiles" to mean the production of the interpretable file, I have fewer answers. We've improved the speed of the system a bit since the 4.2 release, but it's not a lot faster. I *think* the current speed of the translator is about 50 lines/second on a 780 and while that's not smoking, I don't think it's much worse than the C compiler. And after all, it's only the first implementation; give us a break! Bill Mitchell Icon Project The University of Arizona whm.arizona@csnet-relay {ihnp4,noao,mcnc,utah-cs}!arizona!whm p.s. The proper way to spell Icon is I-c-o-n, not I-C-O-N.