A new operator declaration must appear before using it. Program change to:
multi sub prefix:<¬> ($n) { return not $n; } say ¬ True;
Makes it normal.
Perl 6 has strict one-pass parsing rules. Therefore, order matters in everything that affects the language that is being analyzed - for example, by introducing a type or a new operator.
source share