3 ms·
The author takes a very pragmatic, rather than theoretic, approach to defining "functional programming." And it's the one I subscribe to: if we get more reliabl
by btown 8y ago
The author takes a very pragmatic, rather than theoretic, approach to defining "functional programming." And it's the one I subscribe to: if we get more reliable software by calling programming patterns that provide many of the benefits of functional programming "functional programming," it is perhaps a moral obligation to loosen the definition.
All that said, the main way in which Rust falls short is tail call optimization for recursive algorithms. Sadly, it's not likely to happen any time soon due to real technical challenges: https://github.com/rust-lang/rfcs/pull/1888#issuecomment-360905777 https://github.com/rust-lang/rfcs/pull/1888#issuecomment-360... ... and also the fact that WebAssembly does not support tail calls either: https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md https://github.com/WebAssembly/tail-call/blob/master/proposa...