Sprog!

What is Sprog?

Sprog is a graphical tool which anyone can use to build programs by plugging parts together. In Sprog jargon, the parts are known as 'gears' and they are assembled to make a 'machine'.

The types of programs that you can build with Sprog will fit this general model:

  1. Get some input data
  2. Process the data
  3. Output the result

and will be made up of these parts:

Input Gears

An input gear is used to acquire data and feed it into the machine. A simple example is the Read File gear which looks like this:

Read File gear

The Read File gear reads a file on your computer or, using a network share, from a network file server. Other types of input gear might acquire data by requesting a URL from a web server; running a query against a database; capturing musical notes from a MIDI keyboard; or any number of other possibilities.

Filter Gears

Filter gears are used to process the data in some way. For example, the Pattern Match gear can identify interesting lines from a text file based on whether or not they match a pattern you specify:

Pattern Match gear

You can plug multiple filter gears together - each one filtering the output of the preceding gear. Filter gears can also transform your data in a variety of ways. Simple examples include converting to upper or lower case. More complex examples might include translating to HTML, perhaps by plugging values into a template.

Output Gears

An output gear deals with the results of the filtering process. A simple example is the Text Window gear which displays the filtered data on-screen in a text window:

Text Window gear

Other output gears might save output to a file; insert records into a database; pass the filtered data to a spreadsheet application; upload to an FTP server, etc.

Building a Machine

You drag and drop gears to connect them together and assemble a machine:

An assembled machine

Once the machine is assembled, some of the gears may need to be configured. For example, the Read File gear needs to know which file to read and the Pattern Match gear needs to know which pattern to match. You configure a gear by opening its properties dialog from the right-click menu:

Example properties dialogs

Running the Machine

Just push the 'Run' button :-)