Rust has functional aspects, which improve the language enormously, but..
If you say functional language then you really mean curried function application, which makes functional language extremely concise and good for building DSLs.
Rust cannot do currying cleanly for numerous reasons: It's C-like function application foo(x,y)
instead of ML-style function application foo x y
. It's simplistic self
focused trait design, as opposed to type classes, modules, etc. As a result, Rust DSLs work via proc macros.
I've seen one nice blog post about currying not working well with Rust, but not sure where now. Anyone?
There are related threads like Piping data to functions · Issue #2049 · rust-lang/rfcs · GitHub though. Also The problem of effects in Rust