While playing around with the bounding characters for the #` form, I
encountered an unexpected feature, which may or may not be a bug. If
the left bounding character (e.g. the { in #`{ occurs unbalanced in
the commented text, the compiler apparently treats it as code,
searches for the right bounder, and generates an error if it can't
find one. e.g.

 1 #! /home/guru/bin/raku
  2
  3 #  comment_test
  4
  5 #  Input
  6 #  Purpose of program - test multi-line comments
  7
  8 #`(
  9  put " () fails";
 10 )
 11
 12 #` {
 13  put "\{ fails";
 14 }
 15
 16 put "Done";
 17
 18 # End comment_test Last changed: 2020-12-22 19:40:07

produces

===SORRY!=== Error while compiling /home/guru/bin/comment_test
Unexpected closing bracket
at /home/guru/bin/comment_test:14
------> <BOL>⏏}

Removing the escape \ on line 13 generates a different but related error.

Is this a limitation that should be mentioned in the description of
the form, or the compiler mistakienly working on something it's just
been told to ignore?

Reply via email to