What is GSiril?

GSiril is a program for proving touches. It uses a syntax that is backwards compatible with that of MicroSiril.

Why write another proving program?

There are several reasons why I wrote GSiril rather than simply using someone else's program. The first reason was very straightforward: all proving programs that I have encountered are designed to run on Windows or DOS; by choice, I prefer to use Linux. (This does not necessarily mean they can't be run on Linux: see, for example, this article about getting ringing programs to work on Linux by Mark Banner.)

A second reason was that none of the other programs I tried did exactly what I want. Some programs couldn't cope with multi-extent touches; other's were restricted to 12 or 16 bells. Many use a syntax that is less natural than I would like.

Finally, there is an ideological reason. I am a great supporter of free software. (This is free as in free speech, not free beer. I have no objection to paying for good quality software; however, I do want to be able to study how the program works, perhaps modify it to better suit my needs, and to make any improvements I make available to everyone else.) Very little free ringing software currently exists — certainly I have never seen another free proving program.

How do I use GSiril?

GSiril is a command line program. This means it does not have a friendly graphical user interface, and is run from the command line. On Microsoft Windows, you can get a command prompt by choosing Run from the Start menu and then typing (on Windows 95, 98 or ME) or cmd.exe (on Windows NT, 2000 or XP).

GSiril can be run in two different modes — the standard mode (the default) and MicroSiril compatibility mode. To activate MicroSiril compatibility mode, use the --msiril command line option. Alternatively, make a copy of the gsiril program called msiril. If it is invoked using the latter name, MicroSiril compatibility mode is automatically activated.

GSiril attempts from standard input. This means it is possible to type the GSiril language directly into the program. Frequently, however, it is more convenient to get GSiril to read from a file. In most environments, this can be done via redirection:

gsiril < filename

An example

Suppose I want to check that Middleton's 5600 is true to Quedgeley. First, create a text file called middleton.msir containing the following description of the touch.

8 bells

peal = 5 part

part = M, MW, WH, H, H

M  = p,p,b,p,p,p,p
MW = p,p,b,b,p,p,p
WH = p,p,p,b,p,p,b
H  = p,p,p,p,p,p,b

p = Quedgeley, +2
b = Quedgeley, +4

Quedgeley = &-3-4-5-6-2-3-456-7

[ Download this example. ]

Then, at the command prompt, tell GSiril to read the file in MicroSiril compatibility mode by typing msiril < middleton.msir. GSiril will then prove the touch and print the following message to confirm that it is true.

5600 rows ending in 12345678
Touch is true