GP 2

The Graph Programming Language

What is GP 2?

GP 2 is a visual, rule-based graph programming language which frees programmers from handling low-level data structures for graphs.

A GP 2 program algorithmically transforms an input graph into an output graph by sequentially applying graph transformation systems. GP 2 is computationally complete; it can compute any computable partial function on labelled graphs. There are also a number of results on the verification and correctness of graph programs using Hoare logic and Confluence analysis (see Verification of Graph Programs in the publications page).

Our existing compiler generates raw C code from a GP 2 program’s source code. This source code, which is concise and optimised, is capable of competing with textbook C programs for some graph problems (see here).

GP 2 programs combine the speed of low-level C programming with the expressiveness of graph transformation. If you want to transform graphs, GP 2 should be your go-to tool.

How do I get started?

Head over to this page for instructions on installing GP 2 and running your first program.

How can I find out more?

You can contact us at any time or take a look at our various publications for more information.