Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I really wish clojure would adopt a heredoc syntax to make embed language snippets and docstrings nicer.


Some codebases have adopted markdown for their docstrings, and other nice formats are only a macro away.


Using markdown doesn't fix the problem of having to escape double quotes, unless you are using a literate programming technique where the clojure code is quoted inside of the markdown instead of vice versa. Using macros only works if the formats consist entirely of balanced s-expressions.


Clojure could just adopt user-defined reader macros instead. As expected there's an open source heredoc lib[0] for Common Lisp; the feature is so easy to add though it's probably been independently added several different ways (this uses ring buffers) to who knows how many projects.

[0] https://github.com/e-user/cl-heredoc alas gpl3, but no matter, easy to write your own


Ya, it could be a good addition. But I dunno. For docstring I'd rather it just adopted a markup which everyone used. Heredoc would create too many kind of markups for doc I feel.

And for language embeds, I'm also torned. Because in a way, it is way nicer to use EDN and create a conversion layer from it to the underlying language.

Basically, I feel like there's a lot to gain from sticking to standard Clojure syntax. Like is the case for core.logic, hiccup, garden, etc.

The benefits being, they become first class this way. And then you can build macros on top, create them through functions, etc.




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

Search: