Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!agate!darkstar.UCSC.EDU!news.hal.COM!decwrl!netcomsv!netcom.com!mayer
From: "Niels P. Mayer" <mayer@netcom.com>
Subject: Re: Q: is there a small lisp-like scripting language?
Message-ID: <mayerD0wEop.9yG@netcom.com>
Sender: mayer@netcom.com (Niels P. Mayer)
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <17084A51FS85.UPP201@ibm.rhrz.uni-bonn.de> <ABEL.94Dec14131017@wisdom.wisdom.weizmann.ac.il>
Date: Fri, 16 Dec 1994 10:05:13 GMT
Lines: 52

> In article <17084A51FS85.UPP201@ibm.rhrz.uni-bonn.de> UPP201@ibm.rhrz.uni-bonn.de (Michael Burschik) writes:
> >   I am looking for a small lisp dialect, which will run on Unix and can
> >   be used for scripting jobs for which you would normally use a language
> >   such as AWK or perl. Such a language should have good regexp support
> >   and handy constructs for mapping over lines of a file and similar records.
> >   Naturally, all this could be done with emacs, but emacs isn't exactly
> >   what you would call small. Can anyone help me with a pointer?
>
> You can try XLISP - a small D. Betz's interpreter. However it's a standalone
> program so you should modify it a bit to use as a library.
> 
> See also Lisp and Scheme FAQ. There may be some pointers on small Lisp or
> Scheme implementations as a scripting tools.

If you're looking for a good Unix implementation of XLISP, try
WINTERP 2.0, which is based on XLISP-PLUS. It has a handful of
extensions for Unix, the most important being extensible,
object-oriented interface to X/Motif, high-level graphics and
animation facilities, and subprocess support, including multiple
nonblocking asynchronous subprocesses.

WINTERP does not have many AWK/perl type constructs, and lacks good
regexp support. However, in practice, I have found that I like
to go ahead and write text-processing portions of the application
in awk/perl/MH/etc anyways. Although this is a somewhat heavyweight
approach, in practice, it is a perfectly workable technique for
creating robust, modular, and extensible applications. Yes, it
requires that you be familiar with both Lisp and, say, Perl.
On the other hand, both Lisp and Perl are good languages to
know... and they each have their strenghts in the appropriate
domain. I prefer doing text-stream processing in awk or perl, and
object-oriented GUI-based applications in WINTERP-Lisp.

Fortunately, WINTERP's subprocess support makes it easy to launch
Perl or Awk subprocesses, and have them update the relevant portions
of the UI asynchronsously, without blocking user-input processing. And 
you don't necessarily have to use WINTERP for GUI-based applications:
WINTERP can also come up "windowless" and just be used as an 
Lisp-evaluation-server, acccessible via a terminal emulator, or 
through the network (inet or unix domain).

WINTERP is available free via anonymous ftp on ftp.x.org,
directory contrib/devel_tools, file winterp-2.03.tar.gz .
For WWW users, you can get more information, and retrieve source,
documentation, examples, etc -- http://www.eit.com/software/winterp .

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
= Niels Mayer ..... mayer@eit.com .... http://www.eit.com/people/mayer.html =
=  Multimedia Engineering Collaboration Environment (MM authoring for WWW)  =
=  Enterprise Integration Technologies, 800 El Camino Real, Menlo Park, CA  =
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

