5 ms·
<rant> It's sad that clojure opted, for no good reason IMHO (ease of implementation, perhaps?), not to allow reader macros. I know, they claim that reader macro
by seertaak 11y ago
<rant>
It's sad that clojure opted, for no good reason IMHO (ease of implementation, perhaps?), not to allow reader macros. I know, they claim that reader macros lead to "snowflake" code. But this is lisp. If you don't want tweakability, go back to Java.
</rant>
- Guthur 11y agoEase of implementation is an excuse for other things in Clojure as well, single pass compiler comes to mind. But I would give up all of these for an interactive debugger. The series below shows how Common Lisp debuggers are light years ahead of the Clojure. http://malisper.me/2015/07/07/debugging-lisp-part-1-recompilation/ http://malisper.me/2015/07/07/debugging-lisp-part-1-recompil... http://malisper.me/2015/07/14/debugging-lisp-part-2-inspecting/ http://malisper.me/2015/07/14/debugging-lisp-part-2-inspecti... http://malisper.me/2015/07/22/debugging-lisp-part-3-redefining-classes/ http://malisper.me/2015/07/22/debugging-lisp-part-3-redefini... And this is important. I develop Clojure for a day job and this is a constant PITA.
- momo-reina 11y agoCider now has a debugger: http://batsov.com/articles/2015/06/16/cider-0-dot-9/ http://batsov.com/articles/2015/06/16/cider-0-dot-9/ Bozhidar Batsov just recently did a podcast with Cognitect where they speak about this and other things related to Slime and the Clojure programming environment: http://blog.cognitect.com/cognicast/080 http://blog.cognitect.com/cognicast/080
- brandonbloom 11y agoEase of implementation is not the reason for either no reader macros or a single pass compiler. Rich Hickey discusses reader macros here: http://clojure-log.n01se.net/date/2008-11-06.html http://clojure-log.n01se.net/date/2008-11-06.html Quotes: "Clojure doesn't allow user-defined reader macros because they can't be combined - there's no namespace support, unlike for regular macros" "CL has user reader macros and the consensus is to avoid them" "you are unlikely to convince me they are a good idea" "I recognize fully this is less flexible than CL in this area, OTOH, I'd like to think Clojure will engender less desert-island programming than did CL -- speaking a common language fosters library development, shared idioms etc. When everyone creates their own language there's less of that" "and even standard reader macros pose an understanding challenge for newcomers" Compilation units are discussed here: https://news.ycombinator.com/item?id=2467359 https://news.ycombinator.com/item?id=2467359