@superwhiskers, @lukelowry, @abirchfield, @pelesh, @nkoukpaizan
TL;DR: The new SignalIn and SignalOut classes introduce some terminology confusion and should be renamed.
I failed to point this out before #570 was merged (great work on that, btw @superwhiskers).
This overloading of the terminology was part of the motivation behind the re-design. Based on multiple conversations leading to that design, my understanding was that there were three separate concepts all being referred to as "signals"...
- the actual "signal" (the value)
- the "signal node" carrying the signal
- the "port" by which a component sends or receives the signal
... and that we wanted to distinguish between those concepts, especially because they are all used together in the same context.
Since the terms SignalIn and SignalOut refer to the variable values that are communicated over signal nodes (and are in fact already used with that meaning in ComponentData), it doesn't make sense to use those names to refer to the "port" classes that receive/send those values.
I originally used simply InputPort and OutputPort. If the name itself needs to communicate that these are used exclusively for "signal" communication, it could be SignalInputPort and SignalOutputPort (but in that case we might also want to rename Port and PortGroup for consistency).
@superwhiskers, @lukelowry, @abirchfield, @pelesh, @nkoukpaizan
TL;DR: The new
SignalInandSignalOutclasses introduce some terminology confusion and should be renamed.I failed to point this out before #570 was merged (great work on that, btw @superwhiskers).
This overloading of the terminology was part of the motivation behind the re-design. Based on multiple conversations leading to that design, my understanding was that there were three separate concepts all being referred to as "signals"...
... and that we wanted to distinguish between those concepts, especially because they are all used together in the same context.
Since the terms
SignalInandSignalOutrefer to the variable values that are communicated over signal nodes (and are in fact already used with that meaning inComponentData), it doesn't make sense to use those names to refer to the "port" classes that receive/send those values.I originally used simply
InputPortandOutputPort. If the name itself needs to communicate that these are used exclusively for "signal" communication, it could beSignalInputPortandSignalOutputPort(but in that case we might also want to renamePortandPortGroupfor consistency).