Can Your Spreadsheet Do This?

Siag Office

Scheme In A Grid

Can Your Spreadsheet Do This?


String Handling

File Formats

External Programs



Online Documentation

Having a real programming language at your disposal means being able to do things that are just not possible with the usual "macro languages". Here are a few things that Siag can do. I don't know of any other spreadsheet (or any other kind of application for that matter) that can match this, possibly because nobody else is wacky enough to want features like these.

All the code for these samples is included on this web page. Like Siag itself, there is no warranty for the usefulness of any of this code.

Web Server

Under the Tools menu button is an entry for a "Webserver". This is in fact a fully functioning, one-shot web server that can serve the current document as an HTML table over the Internet to an ordinary browser such as Netscape. By one-shot I mean that it serves the document once and then resumes normal operation. This is not a limitation that is built into Siag but simply a design decision in the code for this command.

Try this: start Siag and load a document. Then choose Tools - Webserver on the menu. Now start a WWW browser and load the following URL:
Pretty cool, eh? The code for this command is 40 lines of Scheme, not counting comments and white space but including the function to produce the HTML table.

File Manager

The file filemgr.scm contains code to implement a simple file manager. To do this, a few new commands are added.
Reads the contents of the current directory and displays the filenames.
Delete the filename in the current cell.
Prompt for a destination and copy the filename in the current cell.
Prompt for a destination and move/rename the filename in the current cell.
Change working directory to the name in the current cell.


Siag can use SMTP to send documents. Load the file mailto.scm and issue the command
(mailto user@host)
Now log in as user@host and check the mail.

Picture of the mailing process

User Management

Siag can be used for such tasks as changing passwords, adding users and so on. Load the file usermgr.scm

Load the file /etc/passwd using the *.csv format with ':' as separator. You can now use the ordinary commands to delete lines, add lines, edit cells and so on. Passwords can be edited with the (edit-password) command. Now save the file, again using the *.csv format with ':' as separator.

Caution: I don't recommend saving this as /etc/passwd on a production server. ;-)

Ulric Eriksson 2000-12-07