Igor language cleanup (object oriented?)

So this is a big one, but after over 10 years of Igor programming, I still spend an awful lot of time trying to remember the name of that function (GetWindow, DoWindow, WinName, WinType, etc.). I'd be thrilled with a semi-object oriented approach. I'd love, for example to be able to write statements like

print graph0.fooTrace.rgb
graph0.fooTrace.rgb = (0,0,0)
graph0.bottom.standoff = 1

print wave0.note
wave0.note = "a note"
wave0.note.append("some stuff")

and so on. It's a big change, and it's probably beyond the realm of the possible, but if you don't ask...

I agree that this would be a good thing. It would be a massive amount of work. I don't think it is worth doing unless it is fully baked.

mswitkes wrote:
I still spend an awful lot of time trying to remember the name of that function


Open the PDF manual and look at "Built-in Functions by Category" and "Built-in Operations by Category" in Volume V. This might be helpful.

Igor's help browser could also do a better job of making things easier to find. This is on the to-do list.

hrodstein wrote:

Igor's help browser could also do a better job of making things easier to find. This is on the to-do list.

One thing that comes to my mind would be to enable Command-F (find text) for the functions and operations list (left column of the Command Help tab of the Help Browser).