688 karma · joined June 19, 2012
What I think it comes down to though is adherence to convention. A preference hierarchy has grown together with Clojure and it goes:
1. Can it be expressed using data structures, do that. For example a map/dictionary lookup. 2. If that fails, express your more complex idea using a function. 3. If you absolutely must, write a macro.
You usually end up with very few macros except for those in the standard library, and those you end up with are more commonly of the convenience kind. One example would be the standard web routing library of the early 10's called Compojure that relied heavily on macros where my current favourite Reitit uses just data.
I noted that you restart the server process each time you make a change to the elixir application and coming from the Clojure universe I have the following question: Is it possible to insetad of restarting the server program each time you make a change to it's source code instead modify the program as it is running?
This is usually how I work on my Clojure programs and I find that doing that which results in near instant feedback while I am programming.
> The odds of autism among offspring were significantly increased with maternal p,p'-DDE levels that were in the highest 75th percentile, with adjustment for maternal age, parity, and history of psychiatric disorders...
> I really do want to love GIMP, but it's completely unusable.
And you speak of being productive...
My knee jerk reaction to your knee jerk reaction is: If its so easy, go fix it!