Skip to content

Comment on Clojure to die for

Comments

In which the author gets really excited about idioms in Clojure that don't seem that exciting.

I think the article is overly focused on small, pragmatic syntax issues without explaining how the underlying language and runtime have _enabled_ them.

It might be interesting to discuss _why_ keywords or maps or sets can work as functions, by implementing the IFn interface. Perhaps explain why homoiconicity and macros enable things like thread-first and -last, and talk about how we can implement our own reader literals.

I think the article is overly focused on small, pragmatic syntax issues without explaining how the underlying language and runtime have _enabled_ them.

That was kinda the whole point of the post.

Sounds like you have a nice topic there for your next blog post.

Agreed. This did nothing to make me really excited about Clojure or Lisp. A demonstration of differential was a better example than this.

It's not really intended as an "evangelist" post. It's just describing some details that makes a big difference to me in my day-to-day work. I guess it's more of a "hey, fellow Clojure programmer, don't you agree that these details really put the icing on the cake?" kind of post.

Maybe the other post I posted the same day would give newcomers a better impression of what using Clojure is like in practice (lots more code, more in-depth): http://cjohansen.no/building-static-sites-in-clojure-with-st...

The 'to die for' is too strong.

ps: what is the min* function ? can't find anything on google

It's an expression of enthusiasm, don't take it so seriously.

min* is like min but takes a list, it's not built in. Yes, I know about apply, I still prefer min* to (apply min) in certain cases.

Thanks, I was just affraid I'd missed some kind of builtin macro or convention. At one point I thought that -> would rewrite function #"\*$" to decorate them with apply ... paranoid noobies you know.

ps: you're a very enthusiastic person ;)

One thing that will help a lot: type (source f) to see the source code for a function or macro. Also (doc f) for documentation.

thanks for writing it. i have yet to grok or embrace Lisp-family languages, but your post was still fun to read.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.