Replacing Network.CGI with NewCGI

Bjorn Bringert bringert at
Thu Jul 20 18:54:30 EDT 2006

Any users of Network.CGI here?

I would like to propose replacing the current Network.CGI module with  
what is now known as Network.NewCGI [2]. This has been mentioned  
briefly before [1]. The new module is backwards compatible with the  
old one (except for the export of Text.Html.Html, which is now  

Here is what I would like to do:

- Remove Network.CGI from the network package.
- Change the name of Network.NewCGI to Network.CGI
- Add the cgi package to
- Add the xhtml package [3] to  
This is needed since the cgi package uses it to generate error pages.

Any comments, suggestions, or objections?

Here is a summary of the features of NewCGI:

- Access to CGI parameters (e.g. form input) from both GET and POST  
- Access to CGI environment variables.
- Ability to set arbitrary response headers.
- Support for HTTP cookies.
- An efficient implementation of multipart/form-data using  
Data.ByteString. This allows for efficient handling of file uploads.
- Wrapper functions for compatibility with the existing Network.CGI  
- A CGI monad transformer.
- Basic exception handling and logging.
- Low-level run functions that allow using NewCGI programs with  
protocols other than CGI, for example FastCGI [4].






More information about the Libraries mailing list