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.

Technical Report

Click here for a PDF version of the report (webstream.pdf, 276334 bytes).