Earlier quoted context omitted.
I actually don't know of any functional programming languages that don't have syntactic and semantic support for writing step-by-step algorithms.
Could you elaborate on this a bit? Basically calling a functions form an other is how a step-by-step algorithm would work in FP, no? And pattern match on what comes in, and return an immutable copy. For example you can put functions in a list, and push a datastructure through them, like a pipeline. edit: https://probablydance.com/2016/02/27/functional-programming-...
In haskell, for instance, the do notation lets you write imperative code:
f article = do
x
...and then the compiler desugars it to a more descriptive form.