Some useful historical context if you're much younger than I am: a lot of things that would be Python libraries today couldn't be in 1997, because there weren't mainstream languages for professional development other than C and C++. In that world, the thing you did if you wanted to express programs as cleanly as you would in Python was to build scripting languages to express them in.
We did the same thing with raw packet programming; the only realistic alternative at the time was pre-8.0 Tcl.
That doesn't seem accurate, and I'm saying this as a Python programmer. Problems in Python's domain could have been solved in Perl in 1997. Perl was around since 1985 and drove a lot of the early web. It's perfectly good for web scraping.
WebL is a little more advanced than Perl or Python with its nondeterministic concurrency and combinators. I think the concurrency is best implemented with an event loop, which I think both Perl and Python had in 1997 (maybe not Python). But this related paper, which funnily enough I re-read yesterday, says that they implemented it in Java with threads:
(Actually this version doesn't seem to say it, but the version I have does.)
I would like to think that Python saved the world, but Perl and to some extent Java were already around. Java might have started been after Python, but it was popular before Python was.
In 1997, Perl was a "scripting language". For context: ArsDigita was one of the pioneers in building database-backed websites with things other than C and C++ --- ACS, in Tcl --- and that was roughly the same time period.
This is the world Paul Graham was talking about in "Beating The Averages" --- actually, he was talking about a time ~4-5 years later, when the industry mainstream was C/C++ and Java.
You get my point, I'm sure. Today it would be pretty silly to invent whole new programming language just to get an I/O loop and some helper functions. In 1997, people did that.
For some historical context, mod_perl development only started in 1996, and it got to version 1.0 in August of 1997, which is probably the first version that anyone would seriously consider for "high traffic use cases". It caught on pretty quickly after that, though, rapidly killing off any prospects something like this WebL might have had.
I remember this when it first came out. The sequencing combinators are a bit like Occam's SEQ and PAR, though with the difference that just one of their arguments will succeed.
A couple of years later I worked at a startup with a DSL which worked on similar lines (closer to Occam) but introduced the notion of a "race" (somewhat like the parallel combinator in Webl) so that a number of parallel tasks could be terminated by the one that finished first (possibly some kind of timeout). Occam doesn't have that notion at all. Nor does Esterel, or any other similar language that I know of...
It's fascinating to see these artifacts from how the web and its possibilities were perceived when it was brand new.
By today's expectations, I assumed a "programming language for the web" meant a client-side language -- an alternative to Java with a HTTP focus, implemented as a Netscape plugin perhaps. Instead, WebL turned out to be a server-side language for implementing crawlers and data transformers. Quite interesting.
We did the same thing with raw packet programming; the only realistic alternative at the time was pre-8.0 Tcl.