Gian Piero Zarri wrote: (01)
> Note that SNOBOL was, at least partly, a spin-off of Victor Yngve's
> COMIT, the first (I think) computer language practically used for string
> processing and computational linguistics-like applications. I have (very
> satisfactorily) used COMIT for several applications in the mid-60 at the
> Center for Cybernetics and Linguistic Applications of the University of
> Milan, including a small generative grammar program for Italian inspired
> from Yngve's "Little Train" work. (02)
I had forgotten that. Yes, even the SNOBOL IV (1968) manual referred to
COMIT and Yngve as the ancestors. (03)
John F. Sowa wrote: (04)
> A serious deficiency of string languages, however, is that their
> unit of parsing is a single character. That is not bad for analyzing
> morphology (word endings, for example), but it is a serious limitation
> for grammars, in which you need to group characters into words,
> words into phrases, and phrases into larger phrases.
>
> In his history of LISP, McCarthy noted that limitation of string
> languages. The ability to group lists into larger lists was a major
> advantage of list languages, including IPL and FLPL as predecessors
> to LISP. (05)
All true. So, for parsing formal languages in SNOBOL, you first do the
pattern matches on the source strings, and from them you create strings
that are list structures of symbols, some of which refer to variables
that contain strings, some which may be list structures of symbols,
etc. This is, of course, a rather crude approximation to the native
form of LISP. OTOH, one can then recursively perform pattern matches on
the parsed symbol strings, which in many cases gives you a direct
implementation of grammatical production rules, or translation rules, or
optimization rules. In LISP, you have to code those rules as functions
that analyze lists. (06)
The important thing here is that parsing input from humans has always
been a critical idea in all "artificial intelligence", and that includes
the capture of algorithms for solutions to all kinds of problems, using
all kinds of approaches. Programming languages were invented to make
that task easier, and they were optimized for certain approaches to
certain kinds of problem solving. The rest is about whether one
approach was better than another, or one was easier to use for more
applications than another, or one was promulgated in the community that
got funded, or promulgated by the biggest IT company of its time, or
just got better press. There was a lot of very good work in the 1950s
thru 1970s that was as good as that which got the recognition. (07)
-Ed (08)
"Full many a gem of purest ray serene
The dark unfathom'd depths of ocean bear
Full many a flow'r is born to blush unseen
and waste its sweetness on the desert air."
- Thomas Gray, "Elegy in a Country Churchyard" (09)
--
Edward J. Barkmeyer Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8263 Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263 Cel: +1 240-672-5800 (010)
"The opinions expressed above do not reflect consensus of NIST,
and have not been reviewed by any Government authority." (011)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (012)
|