Hacker News new | past | comments | ask | show | jobs | submit login

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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: