A functional program has a graph structure: data are used by functions and results come out. These results are used in other functions, and so on. A piece of data can be used several times and this is what makes the program a graph and not a tree.
A perfect programming language would represent the program as a graph. This is possible, representing functions as nodes and data as lines connecting nodes. But this doesn't scale well with program size: there are lines everywhere and it's difficult to keep track of where they come from and where they go.
Skov makes one compomise: it represents programs as trees instead of graphs. This makes programs more compact, easier to read and easier to write. When some data needs to be used several times, just give it a name.
Textual programming languages make many more compromises to represent the program as a one-dimensional stream of characters, almost always hiding the true structure of the program.
Skov means forest in Danish because Skov contains lots of trees.