그래프 특성

MCG가 데이터를 처리하는 방법에서 몇 가지 부분은 기억해 두는 것이 좋습니다.

변경할 수 없는 데이터

그래프를 통해 흐르는 대부분의 데이터는 바꿀 수 없습니다. 즉, 변경할 수 없습니다. 일부 작업은 배열 추가 연산자 같이 데이터를 변경하도록 제안하는 것 같지만 그래프의 관점에서 발생하는 일은 노드가 새 오브젝트 복사본을 출력하는 것입니다.

경우에 따라 참조 투명도 특성이 유지되는 한, 필요하지 않을 때 데이터 복사본을 만드는 것을 방지하기 위해 컴파일러가 최적화를 수행할 수도 있습니다.

참조 투명도

MCG의 많은 연산자가 참조적으로 투명합니다. 즉, 동일한 입력이 지정되면 항상 동일한 출력을 생성하고 다른 효과가 관찰되지 않습니다.

데이터로서 함수

MCG의 한 가지 흥미로운(및 유용한) 측면은 완벽한 기능을 갖춘 시각적 프로그래밍 언어라는 것입니다. 즉, 노드가 함수를 입력으로 받고 함수를 출력으로 반환할 수 있다는 것입니다. 구성 및 바인딩 같은 연산자를 사용하여 동적으로 함수를 만들 수 있으며 배열에 저장할 수도 있습니다.

노드의 함수 출력 포트를, 함수를 입력 유형으로 허용하는 다른 노드에 연결하여 하위 그래프를 함수로 처리할 수 있습니다. 노드가 함수로 연결되는 경우 그래프에 있는 모든 노드의 연결되지 않은 커넥터는 함수 인수를 구성합니다.

비결정적 평가 순서

MCG는 연산자 입력이 If 연산자 또는 시퀀스 연산자 같이 제어 흐름 연산자인 경우를 제외하고는 특정 순서로 평가되도록 보장하지 않습니다. 경우에 따라 입력이 컴파일러에서 사전 평가되고 캐시되거나 두 입력이 동시에 평가될 수 있습니다.