Hey guys!
I’m used to littering the code with copious amounts of top-level blocks, serving as evaluation history, like here:
Clojure:
#_
(do
(stuff-and-things)
(more-stuff-and-more-things))
Common Lisp:
#+nil
(progn
nil)
I leave these behind most functions in my private projects as a permanent scratchpad, composing parts of the function, trying it out with different arguments, etc. I realize that this may not be the best practice for open projects, it’s just something I do for myself to iterate faster.
These blocks are ignored by the reader in both cases, and don’t impact the end product.
if false
println("hi")
endif
This surprisingly only works if it’s the only such top-level block in the file. On the second one, it breaks with LoadError: syntax: incomplete: premature end of input
, pointing to the if false
line.
I’m looking for advice both for how to idiomatically approach something like this, and perhaps for creative workarounds! Thank you.