5 ms·
I really wish clojure would adopt a heredoc syntax to make embed language snippets and docstrings nicer.
by Hupriene 8y ago
I really wish clojure would adopt a heredoc syntax to make embed language snippets and docstrings nicer.
- OliverM 8y agoSome codebases have adopted markdown for their docstrings, and other nice formats are only a macro away.
- Hupriene 8y agoUsing 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.
- Jach 8y agoClojure 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 https://github.com/e-user/cl-heredoc alas gpl3, but no matter, easy to write your own
- didibus 8y agoYa, 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.