A program language should have (at least) have these two kinds of comments:

  • Comment extends to the end of the line.
  • Comment extends to a end comment delimiter. Such comments should nest, unlike the Java /* ... */ comments.

An interesting option for nestable comments is for the start delimiter to be #!. The end delimiter could be !#. This allows:

exec kawa --options "$0" "$@"
(define ....)