Permalink
Browse files

new docs

  • Loading branch information...
1 parent f80f2e7 commit ad6558e6f3d114277b310f408a0e2d6eff292666 @vii committed Oct 27, 2009
Showing with 169 additions and 0 deletions.
  1. +4 −0 README.markdown
  2. +107 −0 doc/index.html
  3. +58 −0 doc/style.css
View
@@ -1,6 +1,10 @@
teepeedee2
================================
+Homepage
+--------
+See http://common-lisp.net/projects/teepeedee2.
+
What's this?
--------
View
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <title>teepeedee2 (tpd2)</title>
+ <link rel="stylesheet" type="text/css" href="style.css"/>
+ </head>
+
+ <body>
+ <div class="header">
+ <h1>teepeedee2 (tpd2)</h1>
+ <h2>A web-application framework for dynamic webpages.</h2>
+ </div>
+
+ <h3>Introduction</h3>
+
+ <p>tpd2 is a fast web-application framework for dynamic
+ pages. Like <a
+href="http://github.com/stefanocasazza/ULib/tree/master">ULib</a> and
+ <a href="http://www.koanlogic.com/klone/">the Klone webserver</a>
+ it is efficient.</p>
+
+ <p>There are many other Lisp web-frameworks and webservers. The
+ most popular webserver is
+ probably <a href="http://weitz.de/hunchentoot/">Hunchentoot</a>.
+ Lisp webservers that might be reasonably efficient
+ are <a href="http://dwim.hu/">dwim.hu</a> and, for static
+ pages, <a href="http://hoytech.com/antiweb/">Antiweb</a>.</p>
+
+ <h3>Why?</h3>
+
+ <p>Common Lisp is a language that encourages users to write
+ inefficient programs. Yet some people claim that it is possible to
+ write reasonably efficient programs using a subset of it. Is that
+ true? I thought most web frameworks were horribly inefficient, so
+ as an experiment I decided to try to make a faster web-framework
+ in a less efficient language: thus teepeedee2.</p>
+
+ <p>It was possible, but it took a lot of effort. Common Lisp is
+ certainly not well suited to the project.</p>
+
+ <h3>Licence</h3>
+
+<p><a href="http://opensource.franz.com/preamble.html">Lisp
+LGPL</a>. See addons/* for the licences of those libraries.</p>
+
+ <p>I hope that anybody using teepeedee2 for a website will take
+ the time to publicly release their source code (for example, all
+ the code for mopoko.com is included in the tpd2 tarball) &mdash;
+ though this is not enforced by the licence, I think it is very
+ slimy of web <q>developers</q> to greedily take for free huge
+ amounts of work like the Linux kernel and MySQL, but then keep
+ their horrible little scripts a closely guarded secret. Don't be
+ like them.</p>
+
+ <h3>Development priorities</h3>
+
+ <p>teepeedee2
+ has <a href="http://john.freml.in/teepeedee2-c10k">achieved its
+ performance goal</a> (to be much faster than most web
+ frameworks).</p>
+
+ <p>However, I don't feel it is as correct as it should be. It
+ needs stress testing and an HTTP fuzzing torture test.</p>
+
+ <p> At the same time it is missing several features: comprehensive
+ request routing to allow REST-ful interfaces, cookie handling,
+ multipart form uploads, static file serving, logging, SSL, gzip
+ encoding, etc. Patches to implement these will be gratefully
+ accepted!</p>
+
+ <h3>TODO</h3>
+
+ <ul>
+ <li>Rewrite the sendbuf stuff to use more correct buffer pinning
+ and change the data representation (perhaps arrays with a fill
+ pointer instead of list heads and tails).</li>
+
+ <li>Tidy up the HTTP client and make it much higher
+ performance.</li>
+
+ <li>Rewrite the dispatcher mechanism to use a prefix trie
+ instead of a standard hash-table.</li>
+ </ul>
+
+ <p> Patches welcomed! Write to the
+ <a href="http://www.common-lisp.net/mailman/listinfo/teepeedee2-devel">teepeedee2-devel</a> mailing list.</p>
+
+ <h3>Download</h3>
+
+ <p><a href="http://github.com/vii/teepeedee2/tarball/master">Tarball of the the latest git commit</a>.</p>
+
+ <p>To check out the tree locally:</p>
+<pre>
+git clone git://github.com/vii/teepeedee2.git
+</pre>
+
+ <h3>Project members</h3>
+ <pre><!--#include virtual="../../pprinted-project-members/teepeedee2" --></pre>
+
+ <div class="check">
+ <a href="http://validator.w3.org/check/referer">
+ Valid XHTML 1.0 Strict</a>
+ </div>
+ </body>
+</html>
View
@@ -0,0 +1,58 @@
+
+.header {
+ font-size: medium;
+ background-color:#336699;
+ color:#ffffff;
+ border-style:solid;
+ border-width: 5px;
+ border-color:#002244;
+ padding: 1mm 1mm 1mm 5mm;
+}
+
+.footer {
+ font-size: small;
+ font-style: italic;
+ text-align: right;
+ background-color:#336699;
+ color:#ffffff;
+ border-style:solid;
+ border-width: 2px;
+ border-color:#002244;
+ padding: 1mm 1mm 1mm 1mm;
+}
+
+.footer a:link {
+ font-weight:bold;
+ color:#ffffff;
+ text-decoration:underline;
+}
+
+.footer a:visited {
+ font-weight:bold;
+ color:#ffffff;
+ text-decoration:underline;
+}
+
+.footer a:hover {
+ font-weight:bold;
+ color:#002244;
+ text-decoration:underline; }
+
+.check {font-size: x-small;
+ text-align:right;}
+
+.check a:link { font-weight:bold;
+ color:#a0a0ff;
+ text-decoration:underline; }
+
+.check a:visited { font-weight:bold;
+ color:#a0a0ff;
+ text-decoration:underline; }
+
+.check a:hover { font-weight:bold;
+ color:#000000;
+ text-decoration:underline; }
+
+.bar { background-color: #336699;
+ display:block;
+ display:inline-block;}

0 comments on commit ad6558e

Please sign in to comment.