Diagram

Image

Fig. 1 Hello World (Diagram)


JSON

{

  "name" : "HELLOWORLD-HELLOWORLD-BOOTSTRAP",

  "inputs" : ["START"],

  "outputs" : ["RESULT"],

  "parts" :

  [

    { "partName" : "STRING-JOIN", "kindName" : "STRING-JOIN"},

    { "partName" : "WORLD", "kindName" : "WORLD"},

    { "partName" : "HELLO", "kindName" : "HELLO"}

  ],

  "wiring" :

    [

      {"wire-index" : 0, "sources" : [{"part" : "HELLO", "pin" : "S"}], "receivers" : [{"part" : "STRING-JOIN", "pin" : "A"}]},

      {"wire-index" : 1, "sources" : [{"part" : "WORLD", "pin" : "S"}], "receivers" : [{"part" : "STRING-JOIN", "pin" : "B"}]},

      {"wire-index" : 2, "sources" : [{"part" : "STRING-JOIN", "pin" : "C"}], "receivers" : [{"part" : "SELF", "pin" : "RESULT"}]},

      {"wire-index" : 3, "sources" : [{"part" : "SELF", "pin" : "START"}], "receivers" : [{"part" : "WORLD", "pin" : "START"},{"part" : "HELLO", "pin" : "START"}]}

    ]

  }

[N.B. Bootstrap version upcases all strings.]

Manifests (Two)

Expected Manifest

{

    uses :

    [

        {

            kind : "STRING-JOIN",

            inputs: ["A", "B"],

            outputs: ["C"]

        },

        {

            kind: "WORLD",

            inputs: ["START"],

            outputs: ["S"]

        },

        {

            kind: "HELLO",

            inputs: ["START"],

            outputs: ["S"]

        }

    ]

}


Provided Manifest

{

    implements:

    {

        kind : "HELLOWORLD-HELLOWORLD-BOOTSTRAP",

        inputs : ["START"],

        outputs : ["RESULT"]

    }

}