[unix-pc.general] SNOBOL for Amy

kim@amdahl.amdahl.com (Kim DeVaughn) (11/27/87)

In article <2034@ulowell.cs.ulowell.edu>, page@ulowell.cs.ulowell.edu (Bob Page) writes:
> kim@amdahl.amdahl.com (Kim DeVaughn) wrote:
> >[Catspaw, Inc porting their MS-DOS SNOBOL to the Amiga]
> >I thought I'd let all of you who are interested in text and string
> >processing know that such an animal is on the way.
>
> How does it compare with ICON, available on a Fish Disk?

I'm not really sure ... haven't tried Icon out yet.  All I know about Icon
is from a July 1986 article in "Computer Language" magazine, and what I've
attached below.

My *impression* is that is more well-structured than is SNOBOL4, although the
pattern matching capabilities (per se), are a bit more limited.  Mike's 2nd
comment on this (below) seems to confirm this.

Guess I'll have to tryout Icon and see ... rats, this means yet another book
to buy :-)!


BTW, I had misread the note from Catspaw ... it *is* SPITBOL that they are
porting to the Amiga (they already have versions available for 680x0 based
UNIX(R) boxes like Apollo's, Sun's, NCR Tower, Convergent, etc.)

They also have a port of SPITBOL in progress for the Mac, and are considering
a port for the ST (they imply they're looking for a person with the right
experience to do such a port, if you're interested).

Oh, and they do have a version of Icon available of MS-DOS machines, too.


A few people emailed me for their address, so ....

        Catspaw, Inc.
        PO Box 1123
        Salida, Colorado 81201

        303-539-3884 (voice)      [Area code 303 becomes 719 on 3/5/88]
        303-539-4830 (BBS)

I've no connection with them, except as a satisfied customer of their SNOBOL4
for my MS-DOS box.  They deliver a good product, at a reasonable price, provide
good support, reaasonable updates, and of course DO NOT copy-protect their
software.

/kim


vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

From: uunet!violet.berkeley.edu!mwm%mica.Berkeley.EDU
Date: Fri, 20 Nov 87 01:22:18 PST
Subject: Re: SNOBOL for Amy
Organization: Missionaria Phonibalonica


Unless you're really hooked on SNOBOL as SNOBOL, you might want to
look at Icon (it's on one of the Fish disks).

Icon is what Griswold did after he got tired of SNOBOL. It's got
more powerful string parsing/pattern matching capabilities than
SNOBOL. They're also better integrated into the language.

        <mike

============================================================================

Date: Sun, 22 Nov 87 20:41:12 MST
From: "Rob McConeghy" <malibo@arizona.edu>
Subject: Re: SNOBOL for Amy
News-Path: arizona!noao!hao!ames!amdahl!kim


In reference to your recent posting that Catspaw is working on a port
for SNOBOL for the Amiga, you may be interested to know that the
more recent successor to SNOBOL, the Icon programming language which
was developed at the University of Arizona by Ralph Griswold, one of
the original authors of SNOBOL, is currently available in versions
for MSDOS machines, the Atari, and the Amiga as well as for UNIX. These
are all available from the Icon Project at the Computer Science Dept.
at the University of Arizona in Tucson in both binary and source code
form. They are all public domain and may be obtained for a nominal
fee.

============================================================================

Subject: Re: SNOBOL for Amy
Ultrix: Just say No!
Date: Sun, 22 Nov 87 23:57:51 PST
From: Mike (My watch has windows) Meyer <uunet!violet.Berkeley.EDU!mwm>


If what you want to do in SNOBOL is primarily string and pattern
matching, with little or no processing, you'd be better off with
SNOBOL.  Mostly because the pattern matching in SNOBOL is more compact
than it is in Icon.

The reason for that extra compactness is that the SNOBOL pattern
matching is a seperate sub-language embedded in SNOBOL. In Icon, there
are some primitives for scanning part of a string, and operators in
the language for combining these into full-fledged patterns. This
results in 1) pattern-matching facilities that work on things other
than strings - like game trees, or directed graphs, and 2) slightly
more powerfull pattern matching, as you don't have to obey the
restrictions on patterns in SNOBOL.

Those combining operations are "generators" and operators for dealing
with them. A generator is an expression that returns a value, and can
be later resumed to generate a new value, etc.

Examples:

ARB isn't a builtin, but you can write it as a procedure:

        procedure arb()
                suspend &subject[.&pos : &pos <- &pos to *&subject + 1]
        end

I've forgotten much of my SNOBOL, but you can match the regexp
.*load.*r6.* with

        arb() || ="load" || arb() || ="r6"


|| is string catenation, except that if the right-hand expression
fails, you resume the left-hand expression and then try the right-hand
one again.. It's related to |, which just executes the two expresions.
For instance, if you can print all the integers by doing something
like:

        n +:= 1 | print n | fail

The language is worth a look, but you'll need to buy the book that
goes with it: The Icon Programming Language, by Griswold and Griswold.

        <mike

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


-- 
UUCP:  kim@amdahl.amdahl.com
  or:  {sun,decwrl,hplabs,pyramid,ihnp4,uunet,oliveb,cbosgd,ames}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535,25