I've actually got several issues, so here goes.
- First of all, I totally do not get why code completion for a particular workflow provides only elements for one of my projects whereas there are several projects in play. Nowhere in Workflow IDE did I explicitly specify that a workflow 'corresponds' to a single project, and in fact I need my project to access several projects at the same time. This is what type annotations are for, but it seems I get pervasive completion only when I attach to several projects, which is *completely unnecessary*.
- While working on the above, I had to perform an initial if to make sure I'm in the right project. I couldn't find an intention to do an if wrap, nor could I just write if(foo) return;. This is a very big deficiency in the implementation of workflows as I effectively have to rewrite the whole thing again just to have all my code wrapped by a very big if.
- Why, despite the apparent support for float, is it still virtually impossible to use? It's a simple type, so I should be able to do var foo = 0.1 in a workflow or set the value to -123.456 in the command window. These are currently either impossible or possible but with erroneous syntax highlighting in the Workflow editor.
- There should be a way of clearly identifying numeric literals and truncating them to particular precision. Best idea: just expose Math with all its APIs. At the moment, float numbers dump their internal representation to the output, whereas in most cases I want to truncate to 2 decimal places.
- I desperately need subroutines or functions or lambdas or whatever. In fact, this kind of leads me to the conclusion that perhaps exposing a proper Java or similar API would make more sense, especially if you want people to leverage workflows for very complicated business processes.