Welcome to WWWBrowser
WWWBrowser is a prototype WWW
Browser implemented in the functional programming language
Library. WWWBrowser was mostly implemented in 1994, when NCSA Mosaic
was the dominant web browser, and some updates were made in 1997
WWWBrowser is also described in the chapter
-- a WWW client in the
Some features of WWWBrowser
- It supports forms.
- It supports inlined images, like
The GIF, PNG, JPEG, PNM and XBM formats are recognized.
PNM and GIF images are processed with Haskell code.
For the other formats, conversions are done with external programs
(from the NetPBM package).
Dithering (or just color remapping) is done
by the WWWBrowser itself. (Unfortunately this gets a bit slow
for large images.) (See The Graphics
File Format Page (2D specs) for info on these and other
image file formats.)
- Inlined images are fetched in parallel. This means that pages
containing many small inlined images, such as
load faster in WWWBrowser
(in spite of the slow image processing) than in browsers, like
Mosaic (the dominating browser at the time when WWWBrowser was
developed), that fetch one image at a time.
- It understands most of the protocols used for information retrieval
in WWW: http, ftp, nntp (news), gopher and telnet. It can also read files
and directories in the local file system. When talking to nntp and
ftp servers, it uses the same connection for several transfers
rather than connecting/disconnecting for every document
- It can connect to the Internet directly or through a proxy.
- It reads Mosaic's document menu file (from
~/.mosaic-doc-menu) and displays it as a drop-down menu.
- It reads Netscape's bookmarks file (from
~/.netscape/boomarks.html) and displays it as a
hierarchical menu. (You can't add new bookmarks or edit the
- Like Netscape, WWWBrowser can display part of the bookmarks file as a
- It supports Netscape's What's Related feature.
- It supports Fupplets, which are applets written in
Haskell. For some examples, see the examples in the small
Missing features and known bugs
WWWBrowser supports most of
HTML 3.2, but
compared to modern browsers, some widely used features are missing.
- Style sheets (CSS) are not supported.
- Cookies are not supported.
- https is not directly supported, only through a proxy.
ROWSPAN attributes for
table cells are not supported. Table formatting is poor in
- Background colors/images in tables don't work properly.
ALIGN=left/right attribute for images and
tables is not supported.
- Client-side image maps are not supported.
- Animated GIFs are not supported.
- Transparency in GIF and PNG images are not supported.
- Frames are not supported.
- Java Applets aren't supports (but Fupplets are, see above).
mailto: links are not supported.
- There is no way to save documents or start external viewers for unknown
- The spacing is not perfect.
Command line arguments
wwwb [ - flags ] URL
|specifies the start page
|use the specified proxy
| specifies where to get document menu.
|specifies where to get the bookmark menu
|specifies which bookmark folder to use as the personal tool bar.
|switches on the image fetching log window.
|shows bad HTML markup and hidden information in forms.
|shows images in (dithered) black&white. (Faster than color images).
|sets the size of the color cube to n*n*n,
where n=1,2..6. The default is to use the largest possible
The flags can also be specified using environment variables. See the section
Command line switches and
environment variables in the
Fugets User's Guide for details.
a Haskell web browser written in two evenings in 2017.
You can mail your thoughts about WWWBrowser to the author.
- Thomas Hallgren
- Most modules. GIF processing.
- Magnus Carlsson
- Other image processing.
Last modified: Thu Mar 31 17:09:55 CEST 2022