4 ms·
> In our notation, it's just drop dup (^2) + (^2) - abs. Simple, readable, beautiful. Considering how the author is not presenting a language for stack manipul
by etatoby 9y ago
> In our notation, it's just drop dup (^2) + (^2) - abs. Simple, readable, beautiful.
Considering how the author is not presenting a language for stack manipulation, but for defining functions of fixed arity, I fail to see how that style is supposed to be simpler or more readable than the usual formulation, in the syntax of your choice, for example: fun x y z -> x^2 + y^2 - abs y
> programming is finally liberated from von-Neumann style
No, it's not.
Not until you show me how a sorting algorithm (say) written in that FP/FL (J?)-inspired style is just as readable, but with less potential bugs.
Also, not until you show me how a complex algorithm written in that style can be more easily synthesized to a FPGA or some other non-von Neumann computing platform.
I will agree that ';' is a nice idea, but extraordinary claims require extraordinary evidence.
In particular, the article fails to explain what device is supposed to replace recursion or unbounded iteration, that allow Turing-completeness (and modern software as a consequence) to exist in the first place.
- enz 9y agoThe article does not seem to emphasis on that, but in a concatenative language you have "combinators" to achieve looping, recursions, etc. For example, the Joy language has combinator for "applying a function" until a certain condition holds, etc. Also, you have the classics: `map`, `fold`, `filter`, so certain constructions just look like Haskell point-free style. It seems a bit crazy but you can have a pretty readable program by defining many litle functions with an explicit name.