====== Module ====== Module are base nodes used in model. They extends Node (additionally to the extended class they have - double extensions in java youhou). ===== Constructor ===== Additionally modules are created with a default constructor (aka a way for groimp to create them without parameters) e.g. module A(int len) {} can be added in a production rule with A(), A, A(1), ... ===== Pattern ===== Module are also compiled with a default pattern. e.g. they can be added in predicate with an attribute pattern: (with the same A as before) [ A(x, y) ==> ;] x will be the instanceof the A, and y, the (int) len.