A Visual Functional Programming Environment

This page contains links to the material comprising Joel Kelso's PhD thesis.

Abstract

The purported advantages of Visual Programming, as applied to general-purpose programming languages, have remained largely unfulfilled. The essence of this thesis is that functional programming languages have at least one natural visual representation, and that a useful programming environment can be based upon this representation.

This thesis describes the implementation of a Visual Functional Programming Environment (VFPE). The programming environment has several significant features.

Thesis text

VFPE application (version 0.2)

Despite my struggle of many years against the encroaching tide of software bloat, I have somehow made some unknown modification which means it's broken under Java 1.1 . Unless you have Java 1.3 installed, you'd better use a "with Java" installer.

Here is the list of known bugs. Should you wish for some reason to write non-trivial programs using the editor, please read the notes on the save format at the top of the bug list.

Example programs

Here notes on the included example VFPE programs and instructions on how to view them.

Here are the examples zipped up (105 kb).

Demonstration applets

These applets were intended to run off a CD. They load many large images which will cause delays over a slow network connection. Here is a zip archive containing all the applets (around 3 Mb).

Demonstration slide shows

Note that these slideshows contain large images, so it is suggested that you maximise your browser window while viewing. Unlike the applets, these slideshows do not show the program after every operation. Here is a zip archive with all the slideshows (around 9 Mb).

Source Code and Data

Here is the Java source code for the VFPE application.
Here is the raw editor timing data gathered by the instrumented VFPE (an Excel spreadsheet).