[plt-scheme] Building a proxy in plt-scheme

From: Thomas-Xavier MARTIN (txm at m4x.org)
Date: Tue Oct 19 04:05:49 EDT 2004

A client has recently asked me to develop a local equivalent to Furl 
(furl.net), that is, a way to mark, annotate and keep a local copy of all or 
some of the (HTML) pages seen by a user, irrelevant of the browser used. It 
should also be possible to search the local copies, but that feature can 
easily be implemented separately from the rest.

It seems to me that the best way to architecture such a tool is as a 
transparent proxy that can be placed at one specific point in the proxy chain 
used by that client. That proxy chain includes some caching at the network 
end and some rewriting-for-security proxy at the user end. The specific place 
in the chain where one should introduce the new archiving proxy is also a 
separate and interesting problem.

By the way, if you are aware of an existing project that already fit the need, 
please do tell me about it. I couldn't find anything related, but searching 
the Net is an art and not a science... (The mozilla/Firefox extension slogger 
is 99% of what I need, but it is browser specific.)

As this is a small to medium scale, low-priority, no fixed deadline project 
that will have little impact on how much I charge this specific client, I am 
considering using it as an exploration into (PLT) Scheme.

I have been considering switching from my current language (Tcl) towards a 
higher abstraction language for a while, and Scheme seems the logical next 

To refresh my 15-year old post-graduate stint with functional languages, I 
have recently read SICP and HtDP, and I am now reading HtUS and the web 
server manual.

I would be grateful for any advice or suggestions on how to architecture such 
a project in PLT-Scheme, which libraries and tools I should look at, etc.

Thomas-Xavier MARTIN
txm at m4x.org

Posted on the users mailing list.