====== 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 [[ego_script#sequence_ports|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|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 [[ego_script#constants|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 ===== * **Converted from**: nearly every other type in the system — [[Connection Info Type]], [[Boolean Value Type]], [[Code Type]], [[Date Type]], [[Enum Type]], [[Folder Type]], [[Generic Filename Type]], [[Image Expression Type]], [[Index Or Name Type]], [[Int Set Type]], [[Integer Value Type]], [[Log Tag Type]], [[Name Type]], [[Non Negative Integer Value Type]], [[Null Value Type]], [[Percent Type]], [[Positive Integer Value Type]], [[Real Value Type]], [[String Type]], [[Struct Type]], [[Workdir Type]], [[Categorical Map Type]], [[Categorization Type]], [[Cell Type]], [[Kml Type]], [[Kml Timeline Type]], [[Kmz Filename Type]], [[Map Type]], [[Map Filename Type]], [[Projection Type]], [[Weights Of Evidence Skeleton Type]], [[Change Matrix Type]], [[Neighborhood Table Type]], [[Percent Matrix Type]], [[Transition Function Parameter Matrix Type]], [[Transition Matrix Type]], [[Transition Set Type]], [[Weights Type]], [[Weights Filename Type]], [[Elevation Graph Type]], [[Region Manager Type]], [[Base Table Type]], [[Lookup Table Type]], [[Lookup Table Filename Type]], [[Lookup Table Group Type]], [[Table Filename Type]], [[Table Type]], [[Table Manager Type]], [[Table Value Type]], and [[Tuple Type]]. In every case, the conversion discards the source value entirely — only the fact that a value existed, and when it became available, is preserved. * **Converted to**: None. See [[type_system#sequencing|Type System]] for the complete, authoritative list this section is drawn from, and for the wider conversion reference across all types.