LabVIEW Idea Exchange

Showing results for 
Search instead for 
Did you mean: 

Generalize backwards propagation technology - Backwards Type Specialization Structure?!

Status: New

I was almost certain this idea already existed, but I couldn't find it. If it does exist, please cross-link and disable this idea.


There are a coupe of functions which could really benefit from backwards propagation of data types. By this, I mean the ability to change a functions input datatypes based on a wired output.


Some functions already do this (like Variant to Data). However, that implementation has its flaws (as far as I can tell, the backwards propagation only works if wired to an indicator terminal).


Functions like Select, Obtain Queue, and Create User Event would benefit greatly from this (as well as many others).


Essentially, what I would like is a Type Specialization Structure that works backwards.


To implement this using today's technology, I guess we could create express VIs which have scripting function calls whenever the outputs are wired??? But that's janky and not practical for everyday development.


Simple example of SelectSimple example of Select



Here's a previous idea I posted, for this post, I'm proposing a generalized version of what I suggested there.

Sidenote: here's a plugin I created to make working with Select easier.

1 Comment
Trusted Enthusiast

Note that Malleable VIs often have two or more inputs that must have compatible types (like an array and an element to be added to the array) and this backward propagation would allow one input to adapt when the other input is wired.  This would reduce the wiring problems that many Malleable VIs have.