
WebL – A Programming Language for the Web (1997) [pdf] - mjbellantoni
http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-TN-1997-029.pdf
======
tptacek
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.

~~~
chubot
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:

[http://static.usenix.org/legacy/publications/library/proceed...](http://static.usenix.org/legacy/publications/library/proceedings/dsl97/full_papers/cardelli/cardelli_html/cardelli.html)

(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.

~~~
davidjnelson
Perl was very capable in 1997. mod_perl supported high traffic use cases.

~~~
crzwdjk
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.

------
theoh
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...

------
pavlov
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.

------
grenoire
Hey, don't you dare give _them_ any ideas! We're barely done finishing up with
the current standards' implementations...

------
goatlover
Would have been really interesting if someone had made a browser with WebL in
the late 90s as an alternative to Netscape and IE.

