As a newbie in functional languages (I started touching Erlang a couple of weeks ago -- the first functional language I could get my hands on).
I started to writing some
It’s import to get used to thinking that data can be used as code, and vice versa.
Usually you construct a program (data) using several primitive operations (folding, nesting, threading, distributing, ..., and some are generalized inner product, outer product, etc.), and use this program (data) to manipulate other data.
After a while, I found that functional programming […] encourages a "top down" design.
I agree.