sunet/doc/latex/intro.tex

79 lines
2.3 KiB
TeX

\chapter{Overview}\label{sec:intro}
\section{What's in sunet?}
The Scheme Underground Network Package contains a set of libraries for
doing Net hacking from Scheme/scsh. It includes:
\begin{description}
\item[SMTP client library]
Forge mail from the comfort of your own Scheme process.
\item[RFC822 header library]
Read email-style headers. Useful in several contexts (smtp, http,
etc.)
\item[Simple structured HTML output library]
Balanced delimiters, etc.
\item[The SUnet Web server]
This is a complete implementation of an HTTP 1.0 server in Scheme.
The server contains other standalone packages that may separately be
of use:
\begin{itemize}
\item URI and URL parsers and unparsers.
\item A library to help writing CGI scripts in Scheme.
\item Server extensions for interfacing to CGI scripts.
\item Server extensions for uploading Scheme code.
\end{itemize}
\end{description}
%
\section{Obtaining the system}
The network code is available
\urlhd{http://www.scsh.net/sunet/}{here}{from
\url{http://www.scsh.net/sunet/}}.
To run the server, you
need version 0.6.3 or later of \urlhd{http://www.scsh.net/}{scsh}{scsh
from \url{http://www.scsh.net/}}.
Beyond actually running the server, the separate parser libraries and
other utilites may be of use as separate modules.
The SUnet package contains following parts:
%
\begin{itemize}
\item Several servers (HTTP, CGI, FTP)
\item Several clients (to FTP, SMTP, POP3, NTP)
\item procedures to handle URIs
\item procedures to handle RFC822 headers
\item analogue of \verb|ls| for scsh
\item {\dots}
\end{itemize}
\section{How to use the packages}
Scsh is started in the SUnet top-level directory. Then, the
description file of the modules is loaded and the \texttt{ftp} module
is opened (to use a ftp client). After the things are done, scsh is
finished via the \verb|,exit| command.
\begin{alltt}
atari-2600[72] scsh-0.6.2
Welcome to scsh 0.6.2 (Gambit-C 4.0)
Type ,? for help.
> ,config ,load packages.scm
modules.scm
> ,open ftp
Load structure ftp (y/n)? y
[ecm-utilities ecm-utilities.scm]
[netrc netrc.scm]
[ftp ftp.scm]
> ; do something nasty
> ,exit
atari-2600[73]
\end{alltt}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "man"
%%% End: