an inline loop (it repeatedly calls a block with data, then sets data to the output.)
Operators with a dropdown to select the operation (I'm aware that this doesn't relate to Functional programming, I just wanted it)
I'm excited to implement functional movement, where you pass in a pair of coordinates, and it generates a set of movements that can be run internally. My plan is to abstract away the movement, so that the user thinks that the block is returning a new object at different coordinates.
Aargh I should have seen this a week ago, but somehow I've gotten about 50 threads behind the forum and I missed it. I'm looking forward to seeing where you take this.
Your THEN block has a specific first step built into it. I get that you're still developing that block and didn't announce it as ready.
What is the purpose of your RUN block for reporters? I mean, why not just use CALL?
I have two suggestions about the naming of the loop block. First, the ➞ suggests that that second input slot is just the return value of the function, but it's also the input value. And also, the × symbol suggests to me that you're actually multiplying something by the following (third) input. That's why I used # for a similar purpose in the list processing library. It's the number of times to do something.
But in fact there's a standard math notation for f(f(...(f(x)))): fn(x). So you could say supposing you don't want to do fancy formatting of the block with spaces and $nl .
But that's just a suggestion; it's your language and you should use a notation that feels comfortable to you.
Thanks! Even though it doesn't report the new object, it helped me see that I reversed the trig functions. (I thought it was like the unit circle. I was wrong.)
There's also 3 imperative list blocks you already removed: add, replace, delete. Replacing these by functional blocks, and without imperative commands under the hood, isn't trivial because of the dictionary features introduced with Snap! 8.