-- main.mcl -- import "datetime" import "fmt" $lambda1 = func($x) { $x + "!" } $lambda2 = func($x) { $x + "?" } $lambda = if 10 > 0 { # must be a const, otherwise this is a dynamic graph $lambda1 } else { $lambda2 } $s = fmt.printf("%d", datetime.now()) test [$lambda($s),] {} -- OUTPUT -- Edge: FuncValue -> call # fn Edge: _operator -> composite: []str # 0 Edge: call -> callSubgraphOutput # dummy Edge: callSubgraphOutput -> printf: func(format str, a int) str # a Edge: const: str("!") -> _operator # b Edge: const: str("%d") -> printf: func(format str, a int) str # format Edge: const: str("+") -> _operator # op Edge: printf: func(format str, a int) str -> _operator # a Vertex: FuncValue Vertex: _operator Vertex: call Vertex: callSubgraphOutput Vertex: composite: []str Vertex: const: str("!") Vertex: const: str("%d") Vertex: const: str("+") Vertex: printf: func(format str, a int) str