Concurrent programming on the web with Webstream
Theo Hong and Keith L. Clark
We describe Webstream, a concurrent stream-based scripting language for
client-side web programming. Webstream encapsulates web documents as
active streams executing in lightweight threads, permitting operations to
be carried out lazy-evaluation style while documents are still being
transparently fetched or retried. Streams can be pipelined through filters
which perform transformations such as parsing raw text into HTML tags,
extracting subset streams based on arbitrary computable patterns within
tags or regular expression-like sequences of tags, and combining or
splitting streams in various ways. These facilities allow the easy
construction of a wide variety of web applications, including crawlers,
comparison-shopping agents, and meta-search engines.
for a PDF version of the report (webstream.pdf, 276334 bytes).