MCG でデータがどのように処理されるかをある程度把握しておくことは有用です。
グラフで使用されるデータのほとんどは変更できません。つまり、固定されている、と言い換えることができます。[配列](Array)[付加](Append)オペレータなどの一部の操作ではデータが変更されることを示唆しているように見える場合がありますが、ここで行われていることをグラフの視点から見ると、ノードはオブジェクトの新しいコピーを出力しています。
一部のケースで、参照の透過性のプロパティが維持される限り、不要な場合にはデータのコピーを作成しないように、コンパイラが最適化を実行する場合があります。
MCG のオペレータの多くは、参照透過的です。つまり、入力が同じであれば、その出力は常に同じになり、他に確認できる効果はありません。
MCG の興味深い(そして役立つ)要素の 1 つとして、完全に機能する、ビジュアル プログラミング言語であるという面があります。これは、ノードが関数を入力として受け取り、出力として返すことができることを意味します。関数は、Compose や Bind などのオペレータを使用して動的に作成でき、配列に格納することができます。
ノードの関数出力ポートを、関数を入力タイプとして受け取る別のノードに接続することで、すべてのサブグラフを関数として扱うことができます。ノードが関数として接続されている場合、グラフ内のすべてのノードの未接続のコネクタは、関数の引数となります。
MCG は、If オペレータや Sequence オペレータなどのコントロール フロー オペレータを除いて、オペレータ入力が特定の順序で評価されることを保証しません。一部のケースでは、入力が事前に評価されてコンパイラによってキャッシュされたり、2 つの入力が平行で評価される場合もあります。