{
  "options": {
    "directed": true,
    "multigraph": false,
    "compound": true
  },
  "nodes": [
    {
      "v": "in",
      "value": {
        "id": "io/stdin",
        "version": "0.2.0",
        "inputPorts": {},
        "outputPorts": {
          "output": "string"
        },
        "atomic": true,
        "path": [],
        "branchPath": "in",
        "branch": "in",
        "name": "in",
        "recursive": false,
        "typeHint": {},
        "nodeType": "process"
      }
    },
    {
      "v": "lambda_inc",
      "value": {
        "id": "functional/lambda",
        "version": "0.1.0",
        "inputPorts": {},
        "outputPorts": {
          "fn": {
            "arguments": {
              "i": "int64"
            },
            "return": "int64"
          }
        },
        "atomic": true,
        "path": [],
        "params": {
          "implementation": "math/inc"
        },
        "branchPath": "lambda_inc",
        "branch": "lambda_inc",
        "name": "lambda_inc",
        "recursive": false,
        "typeHint": {},
        "nodeType": "process"
      }
    },
    {
      "v": "inc_lambda",
      "value": {
        "id": "math/inc",
        "version": "0.4.1",
        "inputPorts": {
          "i": "int64"
        },
        "outputPorts": {
          "inc": "int64"
        },
        "atomic": false,
        "implementation": {
          "nodes": [
            {
              "id": "math/add",
              "version": "0.2.0",
              "inputPorts": {
                "s1": "number",
                "s2": "number"
              },
              "outputPorts": {
                "sum": "number"
              },
              "atomic": true,
              "path": [
                {
                  "meta": "math/inc",
                  "branch": "inc_lambda",
                  "version": "0.4.1",
                  "path": []
                }
              ],
              "parent": "inc_lambda",
              "branchPath": "inc_lambda:add",
              "branch": "add",
              "recursive": false
            },
            {
              "id": "math/const",
              "version": "0.2.0",
              "inputPorts": {},
              "outputPorts": {
                "output": "number"
              },
              "atomic": true,
              "path": [
                {
                  "meta": "math/inc",
                  "branch": "inc_lambda",
                  "version": "0.4.1",
                  "path": []
                }
              ],
              "params": {
                "value": 1
              },
              "parent": "inc_lambda",
              "branchPath": "inc_lambda:c",
              "branch": "c",
              "recursive": false
            }
          ],
          "edges": [
            {
              "from": "i",
              "to": "add:s1"
            },
            {
              "from": "c:output",
              "to": "add:s2"
            },
            {
              "from": "add:sum",
              "to": "inc"
            }
          ]
        },
        "path": [],
        "branchPath": "inc_lambda",
        "branch": "inc_lambda",
        "name": "inc_lambda",
        "recursive": false,
        "typeHint": {},
        "nodeType": "process"
      }
    },
    {
      "v": "inc_lambda:add",
      "value": {
        "id": "math/add",
        "version": "0.2.0",
        "inputPorts": {
          "s1": "int64",
          "s2": "int64"
        },
        "outputPorts": {
          "sum": "int64"
        },
        "atomic": true,
        "path": [
          {
            "meta": "math/inc",
            "branch": "inc_lambda",
            "version": "0.4.1",
            "path": []
          }
        ],
        "typeHint": {},
        "parent": "inc_lambda",
        "branchPath": "inc_lambda:add",
        "branch": "add",
        "recursive": false,
        "nodeType": "process"
      },
      "parent": "inc_lambda"
    },
    {
      "v": "inc_lambda:c",
      "value": {
        "id": "math/const",
        "version": "0.2.0",
        "inputPorts": {},
        "outputPorts": {
          "output": "int64"
        },
        "atomic": true,
        "path": [
          {
            "meta": "math/inc",
            "branch": "inc_lambda",
            "version": "0.4.1",
            "path": []
          }
        ],
        "params": {
          "value": 1
        },
        "typeHint": {},
        "parent": "inc_lambda",
        "branchPath": "inc_lambda:c",
        "branch": "c",
        "recursive": false,
        "nodeType": "process"
      },
      "parent": "inc_lambda"
    },
    {
      "v": "strToArr",
      "value": {
        "id": "translator/string_to_array",
        "version": "0.1.0",
        "inputPorts": {
          "input": "string"
        },
        "outputPorts": {
          "output": "[generic]"
        },
        "atomic": true,
        "path": [],
        "typeHint": {
          "output": "[int64]"
        },
        "branchPath": "strToArr",
        "branch": "strToArr",
        "name": "strToArr",
        "recursive": false,
        "nodeType": "process"
      }
    },
    {
      "v": "mapInc",
      "value": {
        "id": "functional/map",
        "version": "0.1.5",
        "inputPorts": {
          "fn": {
            "arguments": {
              "i": "int64"
            },
            "return": "int64"
          },
          "data": "[generic]"
        },
        "outputPorts": {
          "result": "[generic]"
        },
        "settings": {
          "unpacked": true
        },
        "implementation": {
          "nodes": [
            {
              "id": "array/unpack",
              "inputPorts": {
                "data": "[generic]"
              },
              "outputPorts": {
                "stream": "generic"
              },
              "atomic": true,
              "version": "0.1.2",
              "settings": {
                "unpack": true
              },
              "path": [
                {
                  "meta": "functional/map",
                  "branch": "mapInc",
                  "version": "0.1.5",
                  "path": []
                }
              ],
              "parent": "mapInc",
              "branchPath": "mapInc:up",
              "branch": "up",
              "recursive": false
            },
            {
              "id": "array/unpack-value",
              "inputPorts": {
                "data": "[generic]",
                "value": "generic"
              },
              "outputPorts": {
                "stream": "generic"
              },
              "atomic": true,
              "version": "0.1.0",
              "settings": {
                "unpack": true
              },
              "path": [
                {
                  "meta": "functional/map",
                  "branch": "mapInc",
                  "version": "0.1.5",
                  "path": []
                }
              ],
              "parent": "mapInc",
              "branchPath": "mapInc:upv",
              "branch": "upv",
              "recursive": false
            },
            {
              "id": "functional/apply",
              "version": "0.1.2",
              "inputPorts": {
                "fn": "function",
                "value": "function:arg"
              },
              "outputPorts": {
                "result": "function:return"
              },
              "atomic": true,
              "specialForm": true,
              "path": [
                {
                  "meta": "functional/map",
                  "branch": "mapInc",
                  "version": "0.1.5",
                  "path": []
                }
              ],
              "parent": "mapInc",
              "branchPath": "mapInc:apply",
              "branch": "apply",
              "recursive": false
            },
            {
              "id": "array/pack",
              "inputPorts": {
                "stream": "generic"
              },
              "outputPorts": {
                "output": "[generic]"
              },
              "atomic": true,
              "version": "0.1.2",
              "specialForm": true,
              "settings": {
                "pack": true
              },
              "path": [
                {
                  "meta": "functional/map",
                  "branch": "mapInc",
                  "version": "0.1.5",
                  "path": []
                }
              ],
              "parent": "mapInc",
              "branchPath": "mapInc:p",
              "branch": "p",
              "recursive": false
            }
          ],
          "edges": [
            {
              "from": "data",
              "to": "up:data"
            },
            {
              "from": "data",
              "to": "upv:data"
            },
            {
              "from": "fn",
              "to": "upv:value"
            },
            {
              "from": "up:stream",
              "to": "apply:value"
            },
            {
              "from": "upv:stream",
              "to": "apply:fn"
            },
            {
              "from": "apply:result",
              "to": "p:stream"
            },
            {
              "from": "p:output",
              "to": "result"
            }
          ]
        },
        "path": [],
        "branchPath": "mapInc",
        "branch": "mapInc",
        "name": "mapInc",
        "recursive": false,
        "typeHint": {},
        "nodeType": "process"
      }
    },
    {
      "v": "mapInc:up",
      "value": {
        "id": "array/unpack",
        "inputPorts": {
          "data": "[generic]"
        },
        "outputPorts": {
          "stream": "generic"
        },
        "atomic": true,
        "version": "0.1.2",
        "settings": {
          "unpack": true
        },
        "path": [
          {
            "meta": "functional/map",
            "branch": "mapInc",
            "version": "0.1.5",
            "path": []
          }
        ],
        "typeHint": {},
        "parent": "mapInc",
        "branchPath": "mapInc:up",
        "branch": "up",
        "recursive": false,
        "nodeType": "process"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:upv",
      "value": {
        "id": "array/unpack-value",
        "inputPorts": {
          "data": "[generic]",
          "value": {
            "arguments": {
              "i": "int64"
            },
            "return": "int64"
          }
        },
        "outputPorts": {
          "stream": {
            "arguments": {
              "i": "int64"
            },
            "return": "int64"
          }
        },
        "atomic": true,
        "version": "0.1.0",
        "settings": {
          "unpack": true
        },
        "path": [
          {
            "meta": "functional/map",
            "branch": "mapInc",
            "version": "0.1.5",
            "path": []
          }
        ],
        "typeHint": {},
        "parent": "mapInc",
        "branchPath": "mapInc:upv",
        "branch": "upv",
        "recursive": false,
        "nodeType": "process"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:apply",
      "value": {
        "id": "functional/apply",
        "version": "0.1.2",
        "inputPorts": {
          "fn": {
            "arguments": {
              "i": "int64"
            },
            "return": "int64"
          },
          "value": "int64"
        },
        "outputPorts": {
          "result": "int64"
        },
        "atomic": true,
        "specialForm": true,
        "path": [
          {
            "meta": "functional/map",
            "branch": "mapInc",
            "version": "0.1.5",
            "path": []
          }
        ],
        "typeHint": {},
        "parent": "mapInc",
        "branchPath": "mapInc:apply",
        "branch": "apply",
        "recursive": false,
        "nodeType": "process"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:p",
      "value": {
        "id": "array/pack",
        "inputPorts": {
          "stream": "generic"
        },
        "outputPorts": {
          "output": "[generic]"
        },
        "atomic": true,
        "version": "0.1.2",
        "specialForm": true,
        "settings": {
          "pack": true
        },
        "path": [
          {
            "meta": "functional/map",
            "branch": "mapInc",
            "version": "0.1.5",
            "path": []
          }
        ],
        "typeHint": {},
        "parent": "mapInc",
        "branchPath": "mapInc:p",
        "branch": "p",
        "recursive": false,
        "nodeType": "process"
      },
      "parent": "mapInc"
    },
    {
      "v": "arrToStr",
      "value": {
        "id": "translator/array_to_string",
        "version": "0.1.0",
        "inputPorts": {
          "input": "[generic]"
        },
        "outputPorts": {
          "output": "string"
        },
        "atomic": true,
        "path": [],
        "branchPath": "arrToStr",
        "branch": "arrToStr",
        "name": "arrToStr",
        "recursive": false,
        "typeHint": {},
        "nodeType": "process"
      }
    },
    {
      "v": "out",
      "value": {
        "id": "io/stdout",
        "version": "0.2.0",
        "inputPorts": {
          "input": "string"
        },
        "outputPorts": {},
        "atomic": true,
        "path": [],
        "branchPath": "out",
        "branch": "out",
        "name": "out",
        "recursive": false,
        "typeHint": {},
        "nodeType": "process"
      }
    },
    {
      "v": "mapInc_DUPLICATE_0_1",
      "value": {
        "id": "control/duplicate",
        "version": "0.2.0",
        "inputPorts": {
          "in": "generic"
        },
        "outputPorts": {
          "d1": "generic",
          "d2": "generic"
        },
        "atomic": true,
        "typeHint": {},
        "nodeType": "process"
      },
      "parent": "mapInc"
    },
    {
      "v": "strToArr_PORT_input",
      "value": {
        "nodeType": "inPort",
        "portName": "input",
        "process": "strToArr"
      }
    },
    {
      "v": "in_PORT_output",
      "value": {
        "nodeType": "outPort",
        "portName": "output",
        "process": "in"
      }
    },
    {
      "v": "mapInc_PORT_data",
      "value": {
        "nodeType": "inPort",
        "portName": "data",
        "hierarchyBorder": true,
        "process": "mapInc"
      }
    },
    {
      "v": "strToArr_PORT_output",
      "value": {
        "nodeType": "outPort",
        "portName": "output",
        "process": "strToArr"
      }
    },
    {
      "v": "mapInc_PORT_fn",
      "value": {
        "nodeType": "inPort",
        "portName": "fn",
        "hierarchyBorder": true,
        "process": "mapInc"
      }
    },
    {
      "v": "lambda_inc_PORT_fn",
      "value": {
        "nodeType": "outPort",
        "portName": "fn",
        "process": "lambda_inc"
      }
    },
    {
      "v": "arrToStr_PORT_input",
      "value": {
        "nodeType": "inPort",
        "portName": "input",
        "process": "arrToStr"
      }
    },
    {
      "v": "mapInc_PORT_result",
      "value": {
        "nodeType": "outPort",
        "portName": "result",
        "hierarchyBorder": true,
        "process": "mapInc"
      }
    },
    {
      "v": "out_PORT_input",
      "value": {
        "nodeType": "inPort",
        "portName": "input",
        "process": "out"
      }
    },
    {
      "v": "arrToStr_PORT_output",
      "value": {
        "nodeType": "outPort",
        "portName": "output",
        "process": "arrToStr"
      }
    },
    {
      "v": "inc_lambda:add_PORT_s1",
      "value": {
        "nodeType": "inPort",
        "portName": "s1",
        "process": "inc_lambda:add"
      },
      "parent": "inc_lambda"
    },
    {
      "v": "inc_lambda_PORT_i",
      "value": {
        "nodeType": "inPort",
        "portName": "i",
        "hierarchyBorder": true,
        "process": "inc_lambda"
      }
    },
    {
      "v": "inc_lambda:add_PORT_s2",
      "value": {
        "nodeType": "inPort",
        "portName": "s2",
        "process": "inc_lambda:add"
      },
      "parent": "inc_lambda"
    },
    {
      "v": "inc_lambda:c_PORT_output",
      "value": {
        "nodeType": "outPort",
        "portName": "output",
        "process": "inc_lambda:c"
      },
      "parent": "inc_lambda"
    },
    {
      "v": "inc_lambda_PORT_inc",
      "value": {
        "nodeType": "outPort",
        "portName": "inc",
        "hierarchyBorder": true,
        "process": "inc_lambda"
      }
    },
    {
      "v": "inc_lambda:add_PORT_sum",
      "value": {
        "nodeType": "outPort",
        "portName": "sum",
        "process": "inc_lambda:add"
      },
      "parent": "inc_lambda"
    },
    {
      "v": "mapInc:upv_PORT_value",
      "value": {
        "nodeType": "inPort",
        "portName": "value",
        "process": "mapInc:upv"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:apply_PORT_value",
      "value": {
        "nodeType": "inPort",
        "portName": "value",
        "process": "mapInc:apply"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:up_PORT_stream",
      "value": {
        "nodeType": "outPort",
        "portName": "stream",
        "process": "mapInc:up"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:apply_PORT_fn",
      "value": {
        "nodeType": "inPort",
        "portName": "fn",
        "process": "mapInc:apply"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:upv_PORT_stream",
      "value": {
        "nodeType": "outPort",
        "portName": "stream",
        "process": "mapInc:upv"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:p_PORT_stream",
      "value": {
        "nodeType": "inPort",
        "portName": "stream",
        "process": "mapInc:p"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:apply_PORT_result",
      "value": {
        "nodeType": "outPort",
        "portName": "result",
        "process": "mapInc:apply"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:p_PORT_output",
      "value": {
        "nodeType": "outPort",
        "portName": "output",
        "process": "mapInc:p"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:up_PORT_data",
      "value": {
        "nodeType": "inPort",
        "portName": "data",
        "process": "mapInc:up"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc_DUPLICATE_0_1_PORT_d1",
      "value": {
        "nodeType": "outPort",
        "portName": "d1",
        "process": "mapInc_DUPLICATE_0_1"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc:upv_PORT_data",
      "value": {
        "nodeType": "inPort",
        "portName": "data",
        "process": "mapInc:upv"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc_DUPLICATE_0_1_PORT_d2",
      "value": {
        "nodeType": "outPort",
        "portName": "d2",
        "process": "mapInc_DUPLICATE_0_1"
      },
      "parent": "mapInc"
    },
    {
      "v": "mapInc_DUPLICATE_0_1_PORT_in",
      "value": {
        "nodeType": "inPort",
        "portName": "in",
        "process": "mapInc_DUPLICATE_0_1"
      },
      "parent": "mapInc"
    }
  ],
  "edges": [
    {
      "v": "strToArr_PORT_input",
      "w": "strToArr"
    },
    {
      "v": "in",
      "w": "in_PORT_output"
    },
    {
      "v": "in_PORT_output",
      "w": "strToArr_PORT_input"
    },
    {
      "v": "strToArr",
      "w": "strToArr_PORT_output"
    },
    {
      "v": "strToArr_PORT_output",
      "w": "mapInc_PORT_data"
    },
    {
      "v": "lambda_inc",
      "w": "lambda_inc_PORT_fn"
    },
    {
      "v": "lambda_inc_PORT_fn",
      "w": "mapInc_PORT_fn"
    },
    {
      "v": "arrToStr_PORT_input",
      "w": "arrToStr"
    },
    {
      "v": "mapInc_PORT_result",
      "w": "arrToStr_PORT_input"
    },
    {
      "v": "out_PORT_input",
      "w": "out"
    },
    {
      "v": "arrToStr",
      "w": "arrToStr_PORT_output"
    },
    {
      "v": "arrToStr_PORT_output",
      "w": "out_PORT_input"
    },
    {
      "v": "inc_lambda:add_PORT_s1",
      "w": "inc_lambda:add"
    },
    {
      "v": "inc_lambda_PORT_i",
      "w": "inc_lambda:add_PORT_s1"
    },
    {
      "v": "inc_lambda:add_PORT_s2",
      "w": "inc_lambda:add"
    },
    {
      "v": "inc_lambda:c",
      "w": "inc_lambda:c_PORT_output"
    },
    {
      "v": "inc_lambda:c_PORT_output",
      "w": "inc_lambda:add_PORT_s2"
    },
    {
      "v": "inc_lambda:add",
      "w": "inc_lambda:add_PORT_sum"
    },
    {
      "v": "inc_lambda:add_PORT_sum",
      "w": "inc_lambda_PORT_inc"
    },
    {
      "v": "mapInc:upv_PORT_value",
      "w": "mapInc:upv"
    },
    {
      "v": "mapInc_PORT_fn",
      "w": "mapInc:upv_PORT_value"
    },
    {
      "v": "mapInc:apply_PORT_value",
      "w": "mapInc:apply"
    },
    {
      "v": "mapInc:up",
      "w": "mapInc:up_PORT_stream"
    },
    {
      "v": "mapInc:up_PORT_stream",
      "w": "mapInc:apply_PORT_value"
    },
    {
      "v": "mapInc:apply_PORT_fn",
      "w": "mapInc:apply"
    },
    {
      "v": "mapInc:upv",
      "w": "mapInc:upv_PORT_stream"
    },
    {
      "v": "mapInc:upv_PORT_stream",
      "w": "mapInc:apply_PORT_fn"
    },
    {
      "v": "mapInc:p_PORT_stream",
      "w": "mapInc:p"
    },
    {
      "v": "mapInc:apply",
      "w": "mapInc:apply_PORT_result"
    },
    {
      "v": "mapInc:apply_PORT_result",
      "w": "mapInc:p_PORT_stream"
    },
    {
      "v": "mapInc:p",
      "w": "mapInc:p_PORT_output"
    },
    {
      "v": "mapInc:p_PORT_output",
      "w": "mapInc_PORT_result"
    },
    {
      "v": "mapInc:up_PORT_data",
      "w": "mapInc:up"
    },
    {
      "v": "mapInc_DUPLICATE_0_1",
      "w": "mapInc_DUPLICATE_0_1_PORT_d1"
    },
    {
      "v": "mapInc_DUPLICATE_0_1_PORT_d1",
      "w": "mapInc:up_PORT_data"
    },
    {
      "v": "mapInc:upv_PORT_data",
      "w": "mapInc:upv"
    },
    {
      "v": "mapInc_DUPLICATE_0_1",
      "w": "mapInc_DUPLICATE_0_1_PORT_d2"
    },
    {
      "v": "mapInc_DUPLICATE_0_1_PORT_d2",
      "w": "mapInc:upv_PORT_data"
    },
    {
      "v": "mapInc_DUPLICATE_0_1_PORT_in",
      "w": "mapInc_DUPLICATE_0_1"
    },
    {
      "v": "mapInc_PORT_data",
      "w": "mapInc_DUPLICATE_0_1_PORT_in"
    }
  ]
}
