440 karma · joined October 3, 2014
Many insects have quite elaborate 'civilizations' or at least colonies, and it's doubtful that each individual bug is very intelligent.
https://soundcloud.com/kruhft/incudine1Oh, and I made it in node and jquery and about 2 hours.
[1] http://www.123dapp.com/design
[2] https://spark.autodesk.com/There are many more examples of macros that solve real world problems, such as writing a compiler for an embedded DSL that is tuned to solving your real problem that allows expressivity and brevity that you would never see without the use of macros.
(defmacro unless (test &body body)
`(if (not ,test) ,@body))Macros allow for the arbitrary evaulation of it's arguments (rather than the standard left to right order before a function call), allowing you to do syntactic extensions without the added boilerplate that functional languages can require.
Essentially, each macro allows you to define a mini-language that is parsed by the compiler that returns code that is then compiled. It takes a while to groc, but once you do you can never really go back.
[1] http://www.gigamonkeys.com/book/ [2] https://mitpress.mit.edu/sicp/full-text/book/book.html
Basically you are given a set of unit tests and you have to make them pass, so it's good practice for TDD without havingto write the tests. The exercises so far are pretty basic being <10 liners, but it's a fun way to practice your coding.
There's always profit in predicting the end of the world.