It is sketchy, but mainly it's the headline that's misleading. For the 64% number they used all crimes, including immigration. For non-immigration crimes the percent of total is stated as 15%, but they also make sure to note that they are only 7% of the population, meaning their conclusion is that non-us citizens commit a disproportionate amount of non-immigration crimes as well. Arguably THOSE stats are skewed, but it's not quite as bad as the sensational headline would have you believe.
Other species have the ability for tool making, some of it relatively complex. So clearly there are other factors. Language is obviously one of them. The differentiator described here is PFS secondary to a genetic (evolutionary) change in the prefrontal cortex. Tool making to me implies sequential processes, not the juxtaposition of mental objects. I'm not clear on what you mean by toolmaking as a recursive process.
In Emacs you have to actively evaluate expressions (i.e., C-x C-e). This IDE apparently will evaluate highlighted expressions without interaction on the user's part. That said, you could easily write an elisp routine to do the same (evaluate region when point and mark set).
Yeah this is fairly trivial to replicate. Plus if you’re using Clojure there aren’t many side effects anyway so the effect of rolling back is largely the same.
I think this is the right approach to the problem. It's a question of meaning and bootstrapping a minimal language that's based heavily on metaphor (specifically, the conduit metaphor). The answer from this perspective, based on semantic metalanguage, is 800 words. Minimal english, but also minimal across all languages. It's a core language system that's translatable, because language is based on concepts, and those are consistent across natural languages (Chomsky - Universal Grammar).
I hear this alot about Racket as if this is the value proposition and Racket stands alone with these features. Languages like Ruby are routinely used to build DSLs (RSpec, Rails, ServerSpec, Chef...etc). I would like to hear somebody address why Racket is superior to languages like Ruby for creating DSLs, because it for sure doesn't stand alone. Metaprogramming is a feature in a LOT of languages. I'm not arguing for those languages, I'm arguing Lisp languages aren't the only ones capable of creating other languages and a comparison would be more useful than repeated emphasis on unique ability for the task which I don't think is necessarily true.
In practice most Ruby "DSL"s are just regular libraries that you happen to be able to use without the familiar foo(bar) function call syntax. It's the difference between "Domain Specific Language" and "A Domain Specific Language", or embedded vs. hosted/standalone DSL's [0]. The value that Racket provides is facility in developing standalone languages, as opposed to the embedded DSL's that people make in Ruby.
To address the examples you gave, RSpec, Chef, etc., those literally ARE just using Ruby, no new syntax, no new semantics.
The author acknowledges that other languages can be used for DSLs. He claims that Racket's hygienic macro system is the special feature that makes it superior for the task.