RSS-Mashups-in-Scheme
Tom Kiley
December 10, 2008
Overview
My project provides a simple, easy to use web interface to add create a news feed from search terms. The search terms are sent to google individually and then the xml returned from each query is parsed and combined together resorting the items by date.
Screenshot

Concepts Demonstrated
- Data abstraction is used to provide access to the elements of the RSS feed.
- Tree data structures are used throughout for storage, with map, filter, and sort operations performed on the lists to transform them.
- The list of search terms is stored in a procedure object that allows for adding, removing, and retrieving them.
- Functional Programming with lambda's and maps, sort and filter are used along with passing the output from one procedure to another in succession.
External Technology
The project uses the scheme web server module to serve web pages to the browser. It uses the scheme url libraries to to retrieve the rss feeds from google. Then it uses the sxml and ssax libraries combined with some map and sort functions to combine the feeds into one master feed. The scheme date and time library was also used to parse the dates in the news feeds and sort them.
The scheme code serves as a interface between your browser and the internet news services to provide you with an easier interface to them.
Innovation
Usually feed readers require you to go and find rss feeds from sites you would want to keep updated on and manually add them. The hot topics in the news change frequently
Technology Used Block Diagram
Create a simple block diagram of your software system that illustrates the major technical components and how they interact; e.g.:

Additional Remarks
For the sake of the demonstration, the feed is just displayed in a iframe below the control screen, but the idea is that you could add http://localhost:8000/getFeeds to your feed reader and the scheme would be just producing an rss feed.