I've been wondering how to determine if I know functional programming. By know I mean in a Journeyman sense, not a master, but competent enough to do the work.
I like languages w/ query/data shaping constructs built in, but is knowing the ins and outs of maps, filters, and aggregates in the form of Linq, Sql, and Reactive Extensions sufficient to claim that one knows functional programming? Or are additional specific concepts and skills required?
Edit: I've been working in OO and languages that identify primarily as OO langs for 15 years. As I'm not in an env that is self-identified as functional, there's little to measure against.
Is avoiding immutable state and knowing how to use fold all there is?