| Possibly there would be value in having the programmer form comments in sexp form, and discard with a macro rather than in the reader. This allows for the possibility that the macro acts upon the comment differently when the programmer decides this may be helpful. (mac com body
`(do ,@(keep [no:isa _ 'string] body)))
I've named it 'com' so I can play with it at the arc prompt but really you'd want to actually name it ';' so that it looks like an old school comment.So instead of: ; Adds together 1 2 and 3
(+ 1 2 3)
You write: (; "Adds together 1 2 and 3"
(+ 1 2 3))
Normally the macro pulls out the string; but you could alter that behavior to print out the comments during execution, or to show the enclosing comment for an error in the debugger, or to register the comments in a def form. |