None Type

None Type is not a data type in the ordinary sense — it holds no value at all. Its sole purpose is to let one functor force another to run before or after it, without exchanging any actual data between them. This is what backs the sequenceInput/sequenceOutput ports exposed by most container functors (Group, While, Do While, If Then, If Not Then, and others): connecting an output to a sequenceInput creates a dependency in the execution graph — forcing the producing functor to complete first — without the connected value itself ever being used. See Sequence ports on the EGO Script page for the general mechanism this type exists to support.

Because a None Type port only cares that something is connected, not what, almost every other type in the system registers an automatic conversion to it — any output, of any type, can be wired directly into a sequenceInput/sequenceOutput slot. See Automatic Conversions below for the complete list.

GUI Editor

None Type has no editor. A sequenceInput port left unconnected is simply empty (written as .none — see EGO Script below) rather than holding any value of its own; there is nothing to type in or select.

EGO Script

None Type has no literal constant syntax, since it holds no value to write — see Constants. Leaving a sequenceInput port disconnected is written as .none, the same empty-value marker used for any other nullable, unconnected port; it does not construct a None Type value, it simply states that no sequencing dependency is being imposed:

// ForEachCategory completes before Group starts.
sequenceOut := ForEachCategory finalLandscape .none {{
    // ...
}};
_ := Group sequenceOut {{
    // ...
}};

Automatic Conversions