Interoperable smalltalk implementation

Bijan Parsia bparsia at email.unc.edu
Wed Feb 9 20:51:07 EST 2000


Paul Prescod <paul at prescod.net> wrote:

> Bijan Parsia wrote:
> > 
> > ...
> >
> > There are several excellent free (in various senses) Smalltalks. There
> > are some Smalltalks that integrate better than others. Some people
> > *want* a "single world" approach, and some smalltalks accomodate them.
> 
> Okay, in this case I would be happy to be wrong. I would love to find
> out that modern Smalltalks are more interoperable than the last time I
> investigated.

K.

> Which implementation (and extension libraries) should I download to
> write plain vanilla CGIs

This seems a bit odd to have to post to a Python group, but <shrug/>.

Since I don't do much CGIing (and what little I've done has been in
Python ;)), I'm not sure I can give you really good advise. VisualWorks
NC, in particular, the VisualWave extension, is designed to interface
with external webservers, I believe, via CGI. While the primary interest
of VisualWave is the "flippability" of the GUI (i.e., you can design a
regular gui app and VW will turn it into an html site), there's no
reason you can't use it to do simple CGIing. Indeed, I was playing with
using the XSL support for just that, when I got sidetracked by
WikiWorks, which is a webserver, itself, which is (the sort of thing) I
mostly use and like to use. VisualAge's WebConnect is similar, AFAIK,
though not free (you can "try before you buy"). Lots of excellent docs
on IBM's site, though.

Gnu Smalltalk is worth a shot as well.

I don't *think* anybody's actually come up with a cgi interface for
Squeak, though we do have a headless version, and an "embedded" version.
OTOH, you might check out the "OSProcesses" goodie (on the Squeak Swiki)
which allows Squeak to do all that crazy unix execing/forking/piping
stuff ;)

Smalltalk MT and Smalltalk/X don't have any free versions (to my
knowledge) but might do better for this (Smalltalk/X has a demo version,
but is *very* interesting as it has a Java VM as well, XML support, and
lots of other cool things).

> and which should I get to write GUI Windows
> programs?

Visualworks, though since the widgets are emulated, it might be
unpalatable. Visualage. Smalltalk MT. Smalltalk/X. (I assume you're
keeping track of the non-free ones.) But the simplest solution is
Dolphin Smalltalk. No GUI builder (to my knowledge) but very nice and
simple.

> I won't demand that they be the same implementation, but I
> need good text processing (at least regexps) in both environments.

Hmm. One thing is definitely true that Smalltalks tend not to go for
regexps, though there is a pure Smalltalk regexp implementation
available (standard goodie in VW). Dunno about Dolphin. Squeak has a
wrapper for PCRE and it wouldn't be hard to make something similar for
other implementations. I don't really like regexs, so I'm not hip to
that. VisualWorks has a parser generator, and T-Gen is available for
many versions.

> I
> would be very happy if the language dialects they supported was close
> enough that an XML parser written in one would work in the other.

It's certainly possible to write a portable XML parser. Some care would
be needed, but nothing extraordinary.

There are a variety of XML parsers available. Some open source.

http://www.indelv.com/ has one for java and has ported it to smalltalk.
I don't really get it though. There are 2 simple one's for Squeak
(non-validating, about XML-RPC level--which reminds me, Comanche,
Squeak's web server, has XML-RPC support) which would be trivial to
port. Someone's working on using T-Gen to generate a parser from the XML
EBNF grammar. I'm interested to see how that comes out.

Personally, I find VisualWorks 5i parser to be very, very cool. Alas,
there are some buggy bits (hoping 5i.1 fixes that) and little
documentation, though I'm working on that. The XSL support is good for a
range of things, though it has some holes. They're pretty nippy for
small things, at least. All of VisualWork's help files are in XML.

Some things haven't happened because there hasn't been sufficent demand
for them. I prefer, personally, using Smaltalk web servers. I don't have
to run Apache for anything, and it just simplifies things for me. I've
enjoyed exploring them and learning a heck of lot about sockets and
HTTP. If that's being isolated, so be it. Since for a new project, I
want to use Squeak, but we'll probably do better with Apache as the web
server, I'll probably figure out some sort of interface (perhaps CGI).
If you put in interest, effort, or funding, you might be surprised what
you get back from us "snots".

Cheers,
Bijan Parsia. 



More information about the Python-list mailing list